about summary refs log tree commit diff
path: root/tests/unit/auth/test_resources.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/auth/test_resources.py')
-rw-r--r--tests/unit/auth/test_resources.py48
1 files changed, 33 insertions, 15 deletions
diff --git a/tests/unit/auth/test_resources.py b/tests/unit/auth/test_resources.py
index 85641be..04da6df 100644
--- a/tests/unit/auth/test_resources.py
+++ b/tests/unit/auth/test_resources.py
@@ -30,17 +30,28 @@ create_resource_failure = {
         (Resource(
             uuid.UUID("d32611e3-07fc-4564-b56c-786c6db6de2b"),
             "test_resource", resource_category, False),))))
-def test_create_resource(mocker, fxtr_users_in_group, user, expected):
+def test_create_resource(# pylint: disable=[too-many-arguments, too-many-positional-arguments, unused-argument]
+        mocker,
+        fxtr_users_in_group,
+        fxtr_resource_user_roles,
+        fxtr_oauth2_clients,
+        user,
+        expected
+):
     """Test that resource creation works as expected."""
     mocker.patch("gn_auth.auth.authorisation.resources.models.uuid4", conftest.uuid_fn)
-    mocker.patch("gn_auth.auth.authorisation.checks.require_oauth.acquire",
-                 conftest.get_tokeniser(user))
+    _conn, clients = fxtr_oauth2_clients
+    mocker.patch(
+        "gn_auth.auth.authorisation.checks.require_oauth.acquire",
+        conftest.get_tokeniser(
+            user,
+            tuple(client for client in clients if client.user == user)[0]))
     conn, _group, _users = fxtr_users_in_group
-    resource = create_resource(
-        conn, "test_resource", resource_category, user, False)
-    assert resource == expected
 
     with db.cursor(conn) as cursor:
+        resource = create_resource(
+            conn, "test_resource", resource_category, user, _group, False)
+        assert resource == expected
         # Cleanup
         cursor.execute(
             "DELETE FROM user_roles WHERE resource_id=?",
@@ -49,9 +60,6 @@ def test_create_resource(mocker, fxtr_users_in_group, user, expected):
             "DELETE FROM resource_ownership WHERE resource_id=?",
             (str(resource.resource_id),))
         cursor.execute(
-            "DELETE FROM group_roles WHERE group_id=?",
-            (str(group.group_id),))
-        cursor.execute(
             "DELETE FROM resources WHERE resource_id=?",
             (str(resource.resource_id),))
 
@@ -63,15 +71,25 @@ def test_create_resource(mocker, fxtr_users_in_group, user, expected):
         (create_resource_failure, create_resource_failure,
          create_resource_failure))))
 def test_create_resource_raises_for_unauthorised_users(
-        mocker, fxtr_users_in_group, user, expected):
+        mocker, fxtr_users_in_group, fxtr_oauth2_clients, user, expected):
     """Test that resource creation works as expected."""
     mocker.patch("gn_auth.auth.authorisation.resources.models.uuid4", conftest.uuid_fn)
-    mocker.patch("gn_auth.auth.authorisation.checks.require_oauth.acquire",
-                 conftest.get_tokeniser(user))
+    _conn, clients = fxtr_oauth2_clients
+    mocker.patch(
+        "gn_auth.auth.authorisation.checks.require_oauth.acquire",
+        conftest.get_tokeniser(
+            user,
+            tuple(client for client in clients if client.user == user)[0]))
     conn, _group, _users = fxtr_users_in_group
     with pytest.raises(AuthorisationError):
         assert create_resource(
-            conn, "test_resource", resource_category, user, False) == expected
+            conn,
+            "test_resource",
+            resource_category,
+            user,
+            _group,
+            False
+        ) == expected
 
 def sort_key_resources(resource):
     """Sort-key for resources."""
@@ -109,13 +127,13 @@ def test_public_resources(fxtr_resources):
              ,
              key=sort_key_resources),
          PUBLIC_RESOURCES, PUBLIC_RESOURCES))))
-def test_user_resources(fxtr_group_user_roles, user, expected):
+def test_user_resources(fxtr_resource_user_roles, user, expected):
     """
     GIVEN: some resources in the database
     WHEN: a particular user's resources are requested
     THEN: list only the resources for which the user can access
     """
-    conn, *_others = fxtr_group_user_roles
+    conn, *_others = fxtr_resource_user_roles
     assert sorted(
         {res.resource_id: res for res in user_resources(conn, user)
          }.values(), key=sort_key_resources) == expected