From f831dfd5fbd2cb4716ba3e2fa4e95c72596e9a96 Mon Sep 17 00:00:00 2001
From: Lennard Strohmeyer <lennard.strohmeyer@digitallearning.gmbh>
Date: Fri, 14 Feb 2025 11:01:06 +0100
Subject: [PATCH] fix tests for API changes

---
 .../tests/tests_consent_operations.py         | 20 +++++-----
 .../tests/tests_create_provider_schema.py     |  6 +--
 .../tests/tests_paused_data_recording.py      |  4 +-
 src/consents/tests/tests_third_party.py       |  6 +--
 src/xapi/tests/tests.py                       | 37 +++++++++----------
 src/xapi/tests/tests_verb_id_validation.py    | 12 +++---
 6 files changed, 39 insertions(+), 46 deletions(-)

diff --git a/src/consents/tests/tests_consent_operations.py b/src/consents/tests/tests_consent_operations.py
index c433730..0167cf3 100644
--- a/src/consents/tests/tests_consent_operations.py
+++ b/src/consents/tests/tests_consent_operations.py
@@ -460,7 +460,7 @@ class TestUserConsentCreate(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
@@ -469,7 +469,7 @@ class TestUserConsentCreate(BaseTestCase):
                 {"id": "http://h5p.example.com/expapi/verbs/answered"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -718,7 +718,7 @@ class TestUserConsentOutdatedProviderSchemaId(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
@@ -727,7 +727,7 @@ class TestUserConsentOutdatedProviderSchemaId(BaseTestCase):
                 {"id": "http://h5p.example.com/expapi/verbs/answered"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -801,7 +801,7 @@ class TestUserConsentSaveUpdatedProviderSchema(BaseTestCase):
             )
             self.assertEqual(response.status_code, 201)
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
@@ -810,7 +810,7 @@ class TestUserConsentSaveUpdatedProviderSchema(BaseTestCase):
                 {"id": "http://h5p.example.com/expapi/verbs/answered"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -891,14 +891,14 @@ class TestUserConsentSaveUpdatedProviderSchema(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
                 {"id": "http://h5p.example.com/expapi/verbs/attempted"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -1034,13 +1034,13 @@ class TestMultiUserConsent(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
diff --git a/src/consents/tests/tests_create_provider_schema.py b/src/consents/tests/tests_create_provider_schema.py
index 22e583a..efb5330 100644
--- a/src/consents/tests/tests_create_provider_schema.py
+++ b/src/consents/tests/tests_create_provider_schema.py
@@ -111,18 +111,16 @@ class TestProviderSchemaCreation(BaseTestCase):
             self.assertEqual(response.status_code, 201)
         # create some verb groups
         for group in verb_groups:
-            group["provider_id"] = Provider.objects.latest('id').id
             response = self.provider_client.post(
-                "/api/v1/consents/provider/create-verb-group",
+                "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
                 group,
                 format="json",
             )
             self.assertEqual(response.status_code, 200)
         # one more time to simulate update
         for group in verb_groups:
-            group["provider_id"] = Provider.objects.latest('id').id
             response = self.provider_client.post(
-                "/api/v1/consents/provider/create-verb-group",
+                "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
                 group,
                 format="json",
             )
diff --git a/src/consents/tests/tests_paused_data_recording.py b/src/consents/tests/tests_paused_data_recording.py
index c68ef55..3f1aaeb 100644
--- a/src/consents/tests/tests_paused_data_recording.py
+++ b/src/consents/tests/tests_paused_data_recording.py
@@ -98,7 +98,7 @@ class TestPauseDataRecording(BaseTestCase):
         )
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
@@ -107,7 +107,7 @@ class TestPauseDataRecording(BaseTestCase):
                 {"id": "http://h5p.example.com/expapi/verbs/answered"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
diff --git a/src/consents/tests/tests_third_party.py b/src/consents/tests/tests_third_party.py
index fcbf91e..453007b 100644
--- a/src/consents/tests/tests_third_party.py
+++ b/src/consents/tests/tests_third_party.py
@@ -88,9 +88,8 @@ class TestThirdPartyGetUserStatus(BaseTestCase):
 
         # create some verb groups
         for group in self.verb_groups:
-            group["provider_id"] = Provider.objects.latest('id').id  # database id is 2 on second go bc autoincrement
             response = self.provider_client.post(
-                "/api/v1/consents/provider/create-verb-group",
+                "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
                 group,
                 format="json",
             )
@@ -259,9 +258,8 @@ class TestThirdPartyUserConsentUpdate(BaseTestCase):
         )
         # create some verb groups
         for group in self.verb_groups:
-            group["provider_id"] = Provider.objects.latest('id').id  # database id is 2 on second go bc autoincrement
             response = self.provider_client.post(
-                "/api/v1/consents/provider/create-verb-group",
+                "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
                 group,
                 format="json",
             )
diff --git a/src/xapi/tests/tests.py b/src/xapi/tests/tests.py
index 17b4141..d055697 100644
--- a/src/xapi/tests/tests.py
+++ b/src/xapi/tests/tests.py
@@ -34,7 +34,6 @@ class XAPITestCase(TestCase):
 
     verb_groups = [
         {
-            "provider_id": 1,
             "id": "default_group",
             "label": "Default group",
             "description": "default",
@@ -46,7 +45,6 @@ class XAPITestCase(TestCase):
             ]
         },
         {
-            "provider_id": 1,
             "id": "default_group",
             "label": "Group 2",
             "description": "Lorem ipsum",
@@ -99,9 +97,8 @@ class XAPITestCase(TestCase):
 
         # create some verb groups
         for group in self.verb_groups:
-            group["provider_id"] = Provider.objects.latest('id').id # database id is 2 on second go bc autoincrement
             response = provider_client.post(
-                "/api/v1/consents/provider/create-verb-group",
+                "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
                 group,
                 format="json",
             )
@@ -275,7 +272,7 @@ class TestxAPIWithDataRecordingPause(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
@@ -284,7 +281,7 @@ class TestxAPIWithDataRecordingPause(BaseTestCase):
                 {"id": "http://h5p.example.com/expapi/verbs/answered"}
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -411,7 +408,7 @@ class TestxAPIStatementActorAccount(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
@@ -420,7 +417,7 @@ class TestxAPIStatementActorAccount(BaseTestCase):
                 {"id": "http://h5p.example.com/expapi/verbs/answered"}
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -513,7 +510,7 @@ class TestxAPIStatementActorAccount(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
@@ -522,7 +519,7 @@ class TestxAPIStatementActorAccount(BaseTestCase):
                 {"id": "http://h5p.example.com/expapi/verbs/answered"}
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -612,7 +609,7 @@ class TestxAPIStatementActorAccount(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "http://h5p.example.com/expapi/verbs/experienced"},
@@ -621,7 +618,7 @@ class TestxAPIStatementActorAccount(BaseTestCase):
                 {"id": "http://h5p.example.com/expapi/verbs/answered"}
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -765,13 +762,13 @@ class TestxAPIObjectMatchingDefinitionType(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "https://xapi.elearn.rwth-aachen.de/definitions/lms/verbs/unlocked"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -911,13 +908,13 @@ class TestxAPIObjectMatchingDefinitiondId(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "https://xapi.elearn.rwth-aachen.de/definitions/lms/verbs/unlocked"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -1058,13 +1055,13 @@ class TestxAPITimestampAfterConsent(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "https://xapi.elearn.rwth-aachen.de/definitions/lms/verbs/unlocked"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -1228,13 +1225,13 @@ class TextxAPIAdditionalLrs(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "https://xapi.elearn.rwth-aachen.de/definitions/lms/verbs/unlocked"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
diff --git a/src/xapi/tests/tests_verb_id_validation.py b/src/xapi/tests/tests_verb_id_validation.py
index 57c48fe..8ce02da 100644
--- a/src/xapi/tests/tests_verb_id_validation.py
+++ b/src/xapi/tests/tests_verb_id_validation.py
@@ -64,13 +64,13 @@ class TestxAPIVerbAndObjectValidation(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "https://xapi.elearn.rwth-aachen.de/definitions/lms/verbs/unlocked"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -157,13 +157,13 @@ class TestxAPIVerbAndObjectValidation(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "https://xapi.elearn.rwth-aachen.de/definitions/lms/verbs/unlocked"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
@@ -251,13 +251,13 @@ class TestxAPIVerbAndObjectValidation(BaseTestCase):
             self.assertEqual(response.status_code, 201)
 
         # create a verb group
-        group = {"provider_id": Provider.objects.latest('id').id, "id": "default_group", "label": "Group 2",
+        group = {"id": "default_group", "label": "Group 2",
                  "description": "Lorem ipsum", "showVerbDetails": True, "purposeOfCollection": "Lorem Ipsum",
                  "requiresConsent": True, "verbs": [
                 {"id": "https://xapi.elearn.rwth-aachen.de/definitions/lms/verbs/unlocked"},
             ]}
         response = self.provider_client.post(
-            "/api/v1/consents/provider/create-verb-group",
+            "/api/v1/consents/provider/" + str(Provider.objects.latest('id').id) + "/create-verb-group",
             group,
             format="json",
         )
-- 
GitLab