def test_user_group_membership_create_from_json_missing_uuid(self):
     ugm_json = {
         "user_group_id": "de1192a0-bce9-4a74-b177-2a209c8deeb4",
     }
     with self.assertRaises(DetailedValueError) as context:
         UserGroupMembership.from_json(ugm_json, None)
     err = context.exception
     err_msg = err.args[0]
     self.assertIn("missing", err_msg)
 def test_user_group_membership_new_from_json_already_exists(self):
     ugm_json = {
         "user_id": "35224bd5-f8a8-41f6-8502-f96e12d6ddde",
         "user_group_id": "de1192a0-bce9-4a74-b177-2a209c8deeb4",
     }
     with self.assertRaises(DuplicateInsertError) as context:
         UserGroupMembership.new_from_json(ugm_json, None)
     err = context.exception
     err_msg = err.args[0]
     self.assertIn("user group membership already exists", err_msg)
 def test_user_group_membership_new_from_json_no_user_group(self):
     ugm_json = {
         "user_id": "d1070e81-557e-40eb-a7ba-b951ddb7ebdc",
         "user_group_id": "de1192a0-bce9-4a74-b177-2a209c8deeb5",
     }
     with self.assertRaises(ObjectDoesNotExistError) as context:
         UserGroupMembership.new_from_json(ugm_json, None)
     err = context.exception
     err_msg = err.args[0]
     self.assertIn("user group does not exist", err_msg)
 def test_user_group_membership_new_from_json_url_code_not_exists(self):
     ugm_json = {
         "user_id": "d1070e81-557e-40eb-a7ba-b951ddb7ebdc",
         "url_code": "non-existent_code",
     }
     with self.assertRaises(ObjectDoesNotExistError) as context:
         UserGroupMembership.new_from_json(ugm_json, None)
     err = context.exception
     err_msg = err.args[0]
     self.assertIn("url_code does not exist", err_msg)
 def test_user_group_membership_create_from_json_full_ok(self):
     ugm_json = {
         "id": "11110edd-5fa4-461c-b57c-aaf6b16f6822",
         "created": "2019-08-17 12:26:09.023588+01:00",
         "modified": "2019-09-17 12:26:09.023665+01:00",
         "user_id": "d1070e81-557e-40eb-a7ba-b951ddb7ebdc",
         "user_group_id": "de1192a0-bce9-4a74-b177-2a209c8deeb4",
     }
     ugm = UserGroupMembership.from_json(ugm_json, None)
     ugm_dict = ugm.to_dict()
     self.assertDictEqual(ugm_json, ugm_dict)
 def test_user_group_membership_create_from_json_basic_ok(self):
     ugm_json = {
         "user_id": "d1070e81-557e-40eb-a7ba-b951ddb7ebdc",
         "user_group_id": "de1192a0-bce9-4a74-b177-2a209c8deeb4",
     }
     ugm = UserGroupMembership.from_json(ugm_json, None)
     ugm_dict = ugm.to_dict()
     self.new_uuid_test_and_remove(ugm_dict)
     self.now_datetime_test_and_remove(ugm_dict, "created")
     self.now_datetime_test_and_remove(ugm_dict, "modified")
     self.assertDictEqual(ugm_json, ugm_dict)
 def test_user_group_membership_new_from_json_url_code_ok(self):
     ugm_json = {
         "user_id": "d1070e81-557e-40eb-a7ba-b951ddb7ebdc",
         "url_code": "g2_code",
     }
     ugm = UserGroupMembership.new_from_json(ugm_json, None)
     ugm_dict = ugm.to_dict()
     self.new_uuid_test_and_remove(ugm_dict)
     self.now_datetime_test_and_remove(ugm_dict, "created")
     self.now_datetime_test_and_remove(ugm_dict, "modified")
     # replace url_code with uuid for testing output
     del ugm_json["url_code"]
     ugm_json["user_group_id"] = "03719e6a-f85d-492b-be0f-03ab1927014d"
     self.assertDictEqual(ugm_json, ugm_dict)
 def populate_target_user_group(self):
     user_ids_in_target_group = self.get_current_membership(self.user_group_id)
     ugm_list = list()
     for user_id in self.user_ids:
         if user_id not in user_ids_in_target_group:
             ugm_json = {
                 "user_id": user_id,
                 "user_group_id": self.user_group_id,
             }
             ugm = UserGroupMembership.from_json(ugm_json, None)
             ugm.insert_to_db()
             ugm_id = ugm.to_dict()["id"]
             ugm_list.append(ugm_id)
             self.added_user_ids.append(user_id)
     print(f"Added {len(ugm_list)} members to user group {self.user_group_id}")