Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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