diff options
author | Frederick Muriuki Muriithi | 2022-11-03 13:31:33 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2022-11-03 13:31:33 +0300 |
commit | be699ee4a1b090f45cad8702cfb887c24982f1d7 (patch) | |
tree | f2c52bb8e0686af5e4022ac4766b0be61ee2724c /tests/unit/auth/test_credentials.py | |
parent | fbc8d034a9a034aa37cc3bc3893b4c1344bd09ee (diff) | |
download | genenetwork3-be699ee4a1b090f45cad8702cfb887c24982f1d7.tar.gz |
Add credentials checking
* gn3/auth/authentication.py: new function `credentials_in_database`
* gn3/auth/authentication/__init__.py: replace package with module
* gn3/settings.py: new `AUTH_MIGRATIONS` configuration variable
* migrations/auth/20221103_02_sGrIs-create-user-credentials-table.py: new
migration
* tests/unit/auth/test_credentials.py: test the `credentials_in_database`
function
* tests/unit/conftest.py: more test fixtures
Diffstat (limited to 'tests/unit/auth/test_credentials.py')
-rw-r--r-- | tests/unit/auth/test_credentials.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/unit/auth/test_credentials.py b/tests/unit/auth/test_credentials.py new file mode 100644 index 0000000..fbfd303 --- /dev/null +++ b/tests/unit/auth/test_credentials.py @@ -0,0 +1,21 @@ +"""Test the credentials checks""" +import sqlite3 + +import pytest +from contextlib import closing +from hypothesis import given, settings, strategies, HealthCheck + +from gn3.auth.authentication import credentials_in_database + +@pytest.mark.unit_test +@given(strategies.emails(), strategies.text()) +@settings(suppress_health_check=[HealthCheck.function_scoped_fixture]) +def test_credentials_not_in_database(conn_after_auth_migrations, email, password): + """ + GIVEN: credentials that do not exist in the database + WHEN: the `credentials_in_database` function is run against the credentials + THEN: check that the function returns false in all cases. + """ + with closing(conn_after_auth_migrations.cursor()) as cursor: + results = credentials_in_database(cursor, email, password) + assert credentials_in_database(cursor, email, password) is False |