diff options
author | Frederick Muriuki Muriithi | 2022-11-14 14:45:11 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2022-11-14 14:45:11 +0300 |
commit | 06b9089e4db442767573bf1eead8b5c050437071 (patch) | |
tree | 8ba0804bf20a105015dc64bdfe631b8ddb0043ce /tests/unit/auth | |
parent | 673d68366008c582a74820ae66ade57998148cfb (diff) | |
download | genenetwork3-06b9089e4db442767573bf1eead8b5c050437071.tar.gz |
auth: Add test for `create_group`
* gn3/auth/authorisation/__init__.py: Add `authorised_p` decorator to be used
for all function requiring authorisation.
* gn3/auth/authorisation/groups.py: Add `create_group` function stub
* tests/unit/auth/conftest.py: Add fixture for test users
* tests/unit/auth/test_groups.py: Add tests for `create_group`
Diffstat (limited to 'tests/unit/auth')
-rw-r--r-- | tests/unit/auth/conftest.py | 17 | ||||
-rw-r--r-- | tests/unit/auth/test_groups.py | 25 |
2 files changed, 42 insertions, 0 deletions
diff --git a/tests/unit/auth/conftest.py b/tests/unit/auth/conftest.py index b7e00bd..3d887be 100644 --- a/tests/unit/auth/conftest.py +++ b/tests/unit/auth/conftest.py @@ -50,3 +50,20 @@ def migrations_up_to(migration, migrations_dir): migrations = read_migrations(migrations_dir) index = [mig.path for mig in migrations].index(migration) return MigrationList(migrations[0:index]) + +@pytest.fixture(scope="function") +def test_users(conn_after_auth_migrations): + query = "INSERT INTO users(user_id, email, name) VALUES (?, ?, ?)" + test_users = ( + ("ecb52977-3004-469e-9428-2a1856725c7f", "group@lead.er", + "Group Leader"), + ("21351b66-8aad-475b-84ac-53ce528451e3", "group@mem.ber01", + "Group Member 01"), + ("ae9c6245-0966-41a5-9a5e-20885a96bea7", "group@mem.ber02", + "Group Member 02"), + ("9a0c7ce5-2f40-4e78-979e-bf3527a59579", "unaff@iliated.user", + "Unaffiliated User")) + with closing(conn_after_auth_migrations.cursor()) as cursor: + cursor.executemany(query, test_users) + + yield conn_after_auth_migrations diff --git a/tests/unit/auth/test_groups.py b/tests/unit/auth/test_groups.py new file mode 100644 index 0000000..fa7f334 --- /dev/null +++ b/tests/unit/auth/test_groups.py @@ -0,0 +1,25 @@ +"""Test functions dealing with group management.""" +from uuid import UUID + +import pytest + +from gn3.auth.authorisation.groups import create_group + +@pytest.mark.unit_test +@pytest.mark.parametrize( + "user_id,expected", ( + ("ecb52977-3004-469e-9428-2a1856725c7f", { + "status": "success", + "message": "Successfully created group!", + "group_id": UUID("d32611e3-07fc-4564-b56c-786c6db6de2b") + }), + ("21351b66-8aad-475b-84ac-53ce528451e3", { + "status": "error", "message": "unauthorised"}), + ("ae9c6245-0966-41a5-9a5e-20885a96bea7", { + "status": "error", "message": "unauthorised"}), + ("9a0c7ce5-2f40-4e78-979e-bf3527a59579", { + "status": "error", "message": "unauthorised"}), + ("e614247d-84d2-491d-a048-f80b578216cb", { + "status": "error", "message": "unauthorised"}))) +def test_create_group(test_users, user_id, expected): + assert create_group("a_test_group") == expected |