Ejemplo n.º 1
0
 def test_get_auth_token_refreshes_if_refresh_token_and_no_expiration(
         self, monkeypatch):
     refresh_token = MagicMock()
     monkeypatch.setattr("prefect.Client._refresh_access_token",
                         refresh_token)
     client = Client(api_token="api")
     client._access_token = "access"
     client._refresh_token = "refresh"
     client._access_token_expires_at = None
     client.get_auth_token()
     assert refresh_token.called
Ejemplo n.º 2
0
 def test_get_auth_token_doesnt_refresh_if_refresh_token_and_future_expiration(
         self, monkeypatch):
     refresh_token = MagicMock()
     monkeypatch.setattr("prefect.Client._refresh_access_token",
                         refresh_token)
     client = Client(api_token="api")
     client._access_token = "access"
     client._refresh_token = "refresh"
     client._access_token_expires_at = pendulum.now().add(minutes=10)
     assert client.get_auth_token() == "access"
     refresh_token.assert_not_called()
Ejemplo n.º 3
0
 def test_get_auth_token_refreshes_if_refresh_token_and_expiration_within_30_seconds(
         self, monkeypatch):
     refresh_token = MagicMock()
     monkeypatch.setattr("prefect.Client._refresh_access_token",
                         refresh_token)
     client = Client(api_token="api")
     client._access_token = "access"
     client._refresh_token = "refresh"
     client._access_token_expires_at = pendulum.now().add(seconds=29)
     client.get_auth_token()
     assert refresh_token.called
Ejemplo n.º 4
0
 def test_refresh_token_passes_access_token_as_arg(self, patch_post):
     post = patch_post({
         "data": {
             "refreshToken": {
                 "accessToken": "ACCESS_TOKEN",
                 "expiresAt": "2100-01-01",
                 "refreshToken": "REFRESH_TOKEN",
             }
         }
     })
     client = Client()
     client._access_token = "access"
     client._refresh_access_token()
     variables = json.loads(post.call_args[1]["json"]["variables"])
     assert variables["input"]["accessToken"] == "access"
Ejemplo n.º 5
0
 def test_login_uses_api_token_when_access_token_is_set(self, patch_post):
     tenant_id = str(uuid.uuid4())
     post = patch_post({
         "data": {
             "tenant": [{
                 "id": tenant_id
             }],
             "switchTenant": {
                 "accessToken": "ACCESS_TOKEN",
                 "expiresAt": "2100-01-01",
                 "refreshToken": "REFRESH_TOKEN",
             },
         }
     })
     client = Client(api_token="api")
     client._access_token = "access"
     client.login_to_tenant(tenant_id=tenant_id)
     assert client.get_auth_token() == "ACCESS_TOKEN"
     assert post.call_args[1]["headers"] == dict(Authorization="Bearer api")
Ejemplo n.º 6
0
 def test_login_uses_api_token_when_access_token_is_set(self, patch_post):
     tenant_id = str(uuid.uuid4())
     post = patch_post(
         {
             "data": {
                 "tenant": [{"id": tenant_id}],
                 "switch_tenant": {
                     "access_token": "ACCESS_TOKEN",
                     "expires_at": "2100-01-01",
                     "refresh_token": "REFRESH_TOKEN",
                 },
             }
         }
     )
     client = Client(api_token="api")
     client._access_token = "access"
     client.login_to_tenant(tenant_id=tenant_id)
     assert client.get_auth_token() == "ACCESS_TOKEN"
     assert post.call_args[1]["headers"] == {
         "Authorization": "Bearer api",
         "X-PREFECT-CORE-VERSION": str(prefect.__version__),
     }
Ejemplo n.º 7
0
 def test_get_auth_token_returns_access_token_if_set(self):
     client = Client(api_token="api")
     client._access_token = "access"
     assert client.get_auth_token() == "access"