From 243de310aebd95979e9cee38fd4b8c8f0b7ecce5 Mon Sep 17 00:00:00 2001 From: Lalith Kota Date: Sat, 18 Jan 2025 05:39:11 +0530 Subject: [PATCH] Documents Reorg Tests fix 3 Signed-off-by: Lalith Kota --- .../tests/test_document_file.py | 4 +-- g2p_odk_importer/models/odk_config.py | 4 +-- g2p_odk_importer/tests/test_odk_client.py | 31 +++++++++++++------ g2p_odk_importer/tests/test_odk_import.py | 4 ++- .../tests/test_res_partner.py | 6 ++-- .../data/document_store.xml | 1 - 6 files changed, 32 insertions(+), 18 deletions(-) diff --git a/g2p_document_encryption/tests/test_document_file.py b/g2p_document_encryption/tests/test_document_file.py index db4f60d..487e15d 100644 --- a/g2p_document_encryption/tests/test_document_file.py +++ b/g2p_document_encryption/tests/test_document_file.py @@ -70,7 +70,7 @@ def test_compute_data_encryption_enabled( { "name": "test.txt", "backend_id": self.storage_backend.id, - "data": b"test_data", + "data": base64.b64encode(b"test_data"), } ) @@ -94,7 +94,7 @@ def test_compute_data_encryption_disabled( { "name": "test.txt", "backend_id": self.storage_backend.id, - "data": b"test_data", + "data": base64.b64encode(b"test_data"), } ) diff --git a/g2p_odk_importer/models/odk_config.py b/g2p_odk_importer/models/odk_config.py index 38906ca..8abc2c3 100644 --- a/g2p_odk_importer/models/odk_config.py +++ b/g2p_odk_importer/models/odk_config.py @@ -237,8 +237,8 @@ def handle_addl_data(self, mapped_json): def get_member_kind(self, record): kind_as_str = record.get("kind", None) if kind_as_str: - kind = self.env["g2p.group.membership.kind"].search([("name", "=", kind_as_str)], limit=1) - return kind + return self.env["g2p.group.membership.kind"].search([("name", "=", kind_as_str)], limit=1) + return None def get_member_relationship(self, source_id, record): member_relation = record.get("relationship_with_head", None) diff --git a/g2p_odk_importer/tests/test_odk_client.py b/g2p_odk_importer/tests/test_odk_client.py index 1e2ab24..14b760c 100644 --- a/g2p_odk_importer/tests/test_odk_client.py +++ b/g2p_odk_importer/tests/test_odk_client.py @@ -196,7 +196,7 @@ def test_import_records_is_registrant(self, mock_get, mock_login): self.odk_config.import_records(self.json_formatter, self.target_registry) # Check if "is_registrant" and "is_group" were set correctly - partner = self.env["res.partner"].search([], limit=1) + partner = self.env["res.partner"].search([("is_registrant", "=", True)], limit=1) self.assertTrue(partner.is_registrant) self.assertFalse(partner.is_group) @@ -216,7 +216,7 @@ def test_import_record_by_instance_id_is_registrant(self, mock_get, mock_login): ) # Check if "is_registrant" and "is_group" were set correctly - partner = self.env["res.partner"].search([], limit=1) + partner = self.env["res.partner"].search([("is_registrant", "=", True)], limit=1) self.assertTrue(partner.is_registrant) self.assertFalse(partner.is_group) self.assertEqual(partner.name, "Doe John") @@ -259,7 +259,7 @@ def test_import_record_by_instance_id_success(self, mock_get, mock_login): ) # Verify the created partner data had correct flags - partner = self.env["res.partner"].search([], limit=1) + partner = self.env["res.partner"].search([("is_registrant", "=", True)], limit=1) self.assertTrue(partner.is_registrant) self.assertFalse(partner.is_group) self.assertEqual(partner.name, "Doe John") @@ -284,8 +284,12 @@ def test_import_record_by_instance_id_group(self, mock_get, mock_login): ) # Verify the created partner data had correct flags - group = self.env["res.partner"].search([("is_group", "=", True)], limit=1) - ind = self.env["res.partner"].search([("is_group", "=", False)], limit=1) + group = self.env["res.partner"].search( + [("is_registrant", "=", True), ("is_group", "=", True)], limit=1 + ) + ind = self.env["res.partner"].search( + [("is_registrant", "=", True), ("is_group", "=", False)], limit=1 + ) self.assertTrue(group) self.assertTrue(ind) self.assertTrue(group.is_registrant) @@ -316,7 +320,7 @@ def test_handle_group_membership(self, mock_get_individual_data, mock_get_kind, self.odk_config.handle_one2many_fields(mapped_json, self.target_registry) # Verify individual creation - partner = self.env["res.partner"].search([], limit=1) + partner = self.env["res.partner"].search([("is_registrant", "=", True)], limit=1) self.assertEqual(partner.name, mock_individual_data["name"]) # self.assertEqual(partner.given_name, mock_individual_data["given_name"]) # self.assertEqual(partner.family_name, mock_individual_data["family_name"]) @@ -336,13 +340,22 @@ def test_handle_group_membership(self, mock_get_individual_data, mock_get_kind, expected_individual_data = {"individual": partner.id, "kind": [(4, mock_kind_id)]} self.assertEqual(mapped_json["group_membership_ids"][0][2], expected_individual_data) - def test_handle_group_membership_no_relationship(self): + @patch("odoo.addons.g2p_odk_importer.models.odk_config.OdkConfig.get_individual_data") + def test_handle_group_membership_no_relationship(self, mock_get_individual_data): + mock_get_individual_data.return_value = { + "name": "Test Person", + "is_registrant": True, + "is_group": False, + } + # Test handling when no relationship is found mapped_json = {"group_membership_ids": [{"name": "Test Person"}]} self.odk_config.handle_one2many_fields(mapped_json, self.target_registry) - ind = self.env["res.partner"].search([("is_group", "=", False)], limit=1) + ind = self.env["res.partner"].search( + [("is_registrant", "=", True), ("is_group", "=", False)], limit=1 + ) # Verify only group membership was created without relationship self.assertTrue("group_membership_ids" in mapped_json) self.assertEqual(len(mapped_json.get("related_1_ids", [])), 0) @@ -493,7 +506,7 @@ def test_get_submissions_invalid_response(self, mock_get, mock_login): with self.assertLogs(level="ERROR") as log: submissions = self.odk_config.get_submissions() - self.assertIn("Unexpected response format", log.output[0]) + self.assertTrue(any("Unexpected response format" in log_out for log_out in log.output)) self.assertEqual(len(submissions), 0) @patch("odoo.addons.g2p_odk_importer.models.odk_config.OdkConfig.login_get_session_token") diff --git a/g2p_odk_importer/tests/test_odk_import.py b/g2p_odk_importer/tests/test_odk_import.py index 5ffeb0f..634fba6 100644 --- a/g2p_odk_importer/tests/test_odk_import.py +++ b/g2p_odk_importer/tests/test_odk_import.py @@ -166,7 +166,9 @@ def test_process_instance_id_exception(self, mock_import_record): self.odk_import._process_instance_id([instance_id]) # Verify logger was called with the exception details - self.assertIn("Failed to import instance ID test_instance_id", log.output[0]) + self.assertTrue( + any("Failed to import instance ID test_instance_id" in log_out for log_out in log.output) + ) # Re-fetch the instance_id to check its updated status updated_instance_id = self.env["odk.instance.id"].browse(instance_id.id) diff --git a/g2p_odk_user_mapping/tests/test_res_partner.py b/g2p_odk_user_mapping/tests/test_res_partner.py index 055f0e1..d389e3b 100644 --- a/g2p_odk_user_mapping/tests/test_res_partner.py +++ b/g2p_odk_user_mapping/tests/test_res_partner.py @@ -28,16 +28,16 @@ def setUp(self): @patch("odoo.addons.g2p_odk_importer.models.odk_config.OdkConfig.login_get_session_token") @patch("requests.get") - def test_fetch_app_users_failure(self, mock_get, mock_login): + def test_fetch_odk_app_users_failure(self, mock_get, mock_login): mock_get.return_value.status_code = 500 mock_login.return_value = "test_session_token" with self.assertRaises(UserError): - self.partner._fetch_app_users() + self.partner._fetch_odk_app_users() @patch("odoo.addons.g2p_odk_importer.models.odk_config.OdkConfig.login_get_session_token") - @patch("odoo.addons.g2p_odk_user_mapping.models.res_partner.ResPartner._fetch_app_users") + @patch("odoo.addons.g2p_odk_user_mapping.models.res_partner.ResPartner._fetch_odk_app_users") def test_onchange_odk_config_id(self, mock_fetch, mock_login): mock_fetch.return_value = [{"id": 1, "displayName": "User One"}] diff --git a/g2p_registry_document_encryption/data/document_store.xml b/g2p_registry_document_encryption/data/document_store.xml index 4396f7d..90ff924 100644 --- a/g2p_registry_document_encryption/data/document_store.xml +++ b/g2p_registry_document_encryption/data/document_store.xml @@ -1,7 +1,6 @@