Example #1
0
def test_token_expired():
    """ Test if token is refused when expired """

    database_client_instance = MemoryDatabaseClient()
    date_time_provider_instance = FakeDateTimeProvider()
    provider = AuthenticationProvider(date_time_provider_instance)

    user = "******"

    permanent_token = provider.create_token(database_client_instance, user,
                                            None, None)
    valid_token = provider.create_token(database_client_instance, user, None,
                                        datetime.timedelta(days=1))
    expired_token = provider.create_token(database_client_instance, user, None,
                                          datetime.timedelta(days=-1))

    assert provider.authenticate_with_token(database_client_instance, user,
                                            permanent_token["secret"]) is True
    assert provider.authenticate_with_token(database_client_instance, user,
                                            valid_token["secret"]) is True
    assert provider.authenticate_with_token(database_client_instance, user,
                                            expired_token["secret"]) is False
Example #2
0
def test_token_success():
    """ Test token operations succeed in a normal situation """

    database_client_instance = MemoryDatabaseClient()
    date_time_provider_instance = FakeDateTimeProvider()
    provider = AuthenticationProvider(date_time_provider_instance)

    user = "******"
    wrong_secret = secrets.token_hex(provider.token_size)

    assert provider.count_tokens(database_client_instance, user) == 0
    assert provider.authenticate_with_token(database_client_instance, user,
                                            wrong_secret) is False

    first_token = provider.create_token(database_client_instance, user, None,
                                        None)
    assert provider.count_tokens(database_client_instance, user) == 1
    assert provider.authenticate_with_token(database_client_instance, user,
                                            first_token["secret"]) is True
    assert provider.authenticate_with_token(database_client_instance, user,
                                            wrong_secret) is False

    second_token = provider.create_token(database_client_instance, user, None,
                                         None)
    assert provider.count_tokens(database_client_instance, user) == 2
    assert provider.authenticate_with_token(database_client_instance, user,
                                            first_token["secret"]) is True
    assert provider.authenticate_with_token(database_client_instance, user,
                                            second_token["secret"]) is True
    assert provider.authenticate_with_token(database_client_instance, user,
                                            wrong_secret) is False

    provider.delete_token(database_client_instance, user,
                          first_token["identifier"])
    assert provider.count_tokens(database_client_instance, user) == 1
    assert provider.authenticate_with_token(database_client_instance, user,
                                            first_token["secret"]) is False
    assert provider.authenticate_with_token(database_client_instance, user,
                                            second_token["secret"]) is True
    assert provider.authenticate_with_token(database_client_instance, user,
                                            wrong_secret) is False