def test_login_with_email_password_success(remove_auth_env_var): responses.add( responses.POST, urljoin(BASE_URL, LOGIN_ENDPOINT), json={ "access_token": "an_access_token", "startup_data": {"user": {"user_id": 1234}}, }, status=200, ) client = TgtgClient(email="*****@*****.**", password="******") client._login() assert client.access_token == "an_access_token" assert client.user_id == 1234
def test_login_with_email_password_success(): responses.add( responses.POST, urljoin(BASE_URL, LOGIN_ENDPOINT), json={ "access_token": "an_access_token", "user_id": 1234, "language": "en-US", "status_code": 1, }, status=200, ) client = TgtgClient(email="*****@*****.**", password="******") client._login() assert client.access_token == "an_access_token" assert client.user_id == 1234
def test_refresh_token_fail(login_response): responses.add( responses.POST, urljoin(BASE_URL, REFRESH_ENDPOINT), json={}, status=400, ) client = TgtgClient(email="*****@*****.**", password="******") client._login() old_access_token = client.access_token old_refresh_token = client.refresh_token with freeze_time(datetime.datetime.now() + datetime.timedelta( seconds=DEFAULT_ACCESS_TOKEN_LIFETIME + 1)): with pytest.raises(TgtgAPIError): client._login() assert old_access_token == client.access_token assert old_refresh_token == client.refresh_token
def test_refresh_token_after_some_time(login_response): # login the client for the first time client = TgtgClient(email="*****@*****.**", password="******") client._login() new_access_token = "new_access_token" new_refresh_token = "new_refresh_token" responses.add( responses.POST, urljoin(BASE_URL, REFRESH_ENDPOINT), json={"access_token": new_access_token, "refresh_token": new_refresh_token}, status=200, ) # token lifetime is ok, no need to refresh with freeze_time( datetime.datetime.now() + datetime.timedelta(seconds=DEFAULT_ACCESS_TOKEN_LIFETIME) ): client._login() assert client.access_token != new_access_token assert client.refresh_token != new_refresh_token # token lifetime expired, refresh needed with freeze_time( datetime.datetime.now() + datetime.timedelta(seconds=DEFAULT_ACCESS_TOKEN_LIFETIME + 1) ): client._login() assert client.access_token == new_access_token assert client.refresh_token == new_refresh_token
def test_login_with_token_user_id_success(): client = TgtgClient(access_token="an_access_token", user_id=1234) client._login() assert client.access_token == "an_access_token" assert client.user_id == 1234