2020logging .basicConfig (level = logging .INFO )
2121
2222
23- config = Config ()
24- token_endpoint = "https://login-test .oslo.kommune.no/auth/realms/api-catalog/protocol/openid-connect/token"
23+ config = Config (env = "prod" )
24+ token_endpoint = "https://login.oslo.kommune.no/auth/realms/api-catalog/protocol/openid-connect/token"
2525
2626
2727@pytest .fixture (scope = "function" )
@@ -39,11 +39,11 @@ def test_authenticate_cache_disabled(self, requests_mock, mock_home_dir):
3939
4040 response = json .dumps (client_credentials_response )
4141 matcher = re .compile (token_endpoint )
42- requests_mock .register_uri ("POST" , matcher , text = response , status_code = 204 )
42+ requests_mock .register_uri ("POST" , matcher , text = response , status_code = 200 )
4343
4444 auth .login ()
45- assert auth .access_token == client_credentials_response ["access_token" ]
46- assert auth .refresh_token == client_credentials_response ["refresh_token" ]
45+ assert auth ._access_token == client_credentials_response ["access_token" ]
46+ assert auth ._refresh_token == client_credentials_response ["refresh_token" ]
4747
4848 def test_authenticat_no_cache (self , requests_mock , mock_home_dir ):
4949
@@ -54,11 +54,11 @@ def test_authenticat_no_cache(self, requests_mock, mock_home_dir):
5454
5555 response = json .dumps (client_credentials_response )
5656 matcher = re .compile (token_endpoint )
57- requests_mock .register_uri ("POST" , matcher , text = response , status_code = 204 )
57+ requests_mock .register_uri ("POST" , matcher , text = response , status_code = 200 )
5858
5959 auth .login ()
60- assert auth .access_token == client_credentials_response ["access_token" ]
61- assert auth .refresh_token == client_credentials_response ["refresh_token" ]
60+ assert auth ._access_token == client_credentials_response ["access_token" ]
61+ assert auth ._refresh_token == client_credentials_response ["refresh_token" ]
6262
6363 def test_authenticate_cached_credentials (self , mock_home_dir ):
6464 client_credentials_provider = ClientCredentialsProvider (config )
@@ -73,8 +73,8 @@ def test_authenticate_cached_credentials(self, mock_home_dir):
7373
7474 auth .file_cache .write_credentials (json .dumps (cached_credentials ))
7575 auth .login ()
76- assert auth .access_token == cached_credentials ["access_token" ]
77- assert auth .refresh_token == cached_credentials ["refresh_token" ]
76+ assert auth ._access_token == cached_credentials ["access_token" ]
77+ assert auth ._refresh_token == cached_credentials ["refresh_token" ]
7878
7979 def test_authenticate_refresh_credentials (self , requests_mock , mock_home_dir ):
8080
@@ -93,11 +93,11 @@ def test_authenticate_refresh_credentials(self, requests_mock, mock_home_dir):
9393
9494 response = json .dumps (client_credentials_response )
9595 matcher = re .compile (token_endpoint )
96- requests_mock .register_uri ("POST" , matcher , text = response , status_code = 204 )
96+ requests_mock .register_uri ("POST" , matcher , text = response , status_code = 200 )
9797
9898 auth .login ()
99- assert auth .access_token == cached_credentials ["access_token" ]
100- assert auth .refresh_token == cached_credentials ["refresh_token" ]
99+ assert auth ._access_token == cached_credentials ["access_token" ]
100+ assert auth ._refresh_token == cached_credentials ["refresh_token" ]
101101
102102 def test_authenticate_expired_tokens (self , requests_mock , mock_home_dir ):
103103 client_credentials_provider = ClientCredentialsProvider (config )
@@ -115,13 +115,13 @@ def test_authenticate_expired_tokens(self, requests_mock, mock_home_dir):
115115
116116 response = json .dumps (client_credentials_response )
117117 matcher = re .compile (token_endpoint )
118- requests_mock .register_uri ("POST" , matcher , text = response , status_code = 204 )
118+ requests_mock .register_uri ("POST" , matcher , text = response , status_code = 200 )
119119
120120 auth .login ()
121121 print (from_cache_not_expired_token )
122122 print (from_cache_expired_token )
123- assert auth .access_token == client_credentials_response ["access_token" ]
124- assert auth .refresh_token == client_credentials_response ["access_token" ]
123+ assert auth ._access_token == client_credentials_response ["access_token" ]
124+ assert auth ._refresh_token == client_credentials_response ["access_token" ]
125125
126126 def test_authenticate_expired_access_token (self , requests_mock , mock_home_dir ):
127127 client_credentials_provider = ClientCredentialsProvider (config )
@@ -139,11 +139,11 @@ def test_authenticate_expired_access_token(self, requests_mock, mock_home_dir):
139139
140140 response = json .dumps (client_credentials_response )
141141 matcher = re .compile (token_endpoint )
142- requests_mock .register_uri ("POST" , matcher , text = response , status_code = 204 )
142+ requests_mock .register_uri ("POST" , matcher , text = response , status_code = 200 )
143143
144144 auth .login ()
145- assert auth .access_token == from_cache_not_expired_token
146- assert auth .refresh_token == cached_credentials ["refresh_token" ]
145+ assert auth ._access_token == from_cache_not_expired_token
146+ assert auth ._refresh_token == cached_credentials ["refresh_token" ]
147147
148148 def test_authenticate_fail (self , requests_mock , mock_home_dir ):
149149 client_credentials_provider = ClientCredentialsProvider (
@@ -152,12 +152,43 @@ def test_authenticate_fail(self, requests_mock, mock_home_dir):
152152 auth = Authenticate (config = config , token_provider = client_credentials_provider )
153153
154154 response = json .dumps (
155- {"error" : "authenitcation error" , "error_description" : "No such client" }
155+ {"error" : "authentication error" , "error_description" : "No such client" }
156156 )
157157 matcher = re .compile (token_endpoint )
158- requests_mock .register_uri ("POST" , matcher , text = response , status_code = 204 )
158+ requests_mock .register_uri ("POST" , matcher , text = response , status_code = 200 )
159159
160160 try :
161161 auth .login ()
162162 except ApiAuthenticateError :
163163 assert True
164+
165+ def test_refresh_inactive_session (self , requests_mock , mock_home_dir ):
166+ client_credentials_provider = ClientCredentialsProvider (config )
167+ auth = Authenticate (config = config , token_provider = client_credentials_provider )
168+
169+ auth .file_cache .credentials_cache_enabled = True
170+
171+ cached_credentials = {
172+ "provider" : "TokenServiceProvider" ,
173+ "access_token" : from_cache_expired_token ,
174+ "refresh_token" : from_cache_not_expired_token ,
175+ }
176+
177+ auth .file_cache .write_credentials (json .dumps (cached_credentials ))
178+
179+ error_msg = {
180+ "error" : "invalid_grant" ,
181+ "error_description" : "Session not active" ,
182+ }
183+ refresh_response = {"text" : json .dumps (error_msg ), "status_code" : 400 }
184+ login_response = {
185+ "text" : json .dumps (client_credentials_response ),
186+ "status_code" : 200 ,
187+ }
188+ matcher = re .compile (token_endpoint )
189+ requests_mock .register_uri ("POST" , matcher , [refresh_response , login_response ])
190+
191+ auth .login ()
192+
193+ assert auth ._access_token == from_cache_not_expired_token
194+ assert auth ._refresh_token == cached_credentials ["refresh_token" ]
0 commit comments