|
| 1 | + |
| 2 | +import unittest |
| 3 | +import json |
| 4 | +from unittest.mock import patch |
| 5 | +from transform_configs import transform_vaccine_map, transform_supplier_permissions |
| 6 | + |
| 7 | + |
| 8 | +class TestTransformConfigs(unittest.TestCase): |
| 9 | + def setUp(self): |
| 10 | + self.logger_info_patcher = patch("transform_configs.logger.info") |
| 11 | + self.mock_logger_info = self.logger_info_patcher.start() |
| 12 | + |
| 13 | + with open("./tests/test_data/disease_mapping.json") as mapping_data: |
| 14 | + self.sample_map = json.load(mapping_data) |
| 15 | + |
| 16 | + with open("./tests/test_data/permissions_config.json") as permissions_data: |
| 17 | + self.supplier_data = json.load(permissions_data) |
| 18 | + |
| 19 | + def tearDown(self): |
| 20 | + self.logger_info_patcher.stop() |
| 21 | + |
| 22 | + def test_disease_to_vacc(self): |
| 23 | + with open("./tests/test_data/expected_disease_to_vacc.json") as f: |
| 24 | + expected = json.load(f) |
| 25 | + result = transform_vaccine_map(self.sample_map) |
| 26 | + self.assertEqual(result["diseases_to_vacc"], expected) |
| 27 | + |
| 28 | + def test_vacc_to_diseases(self): |
| 29 | + with open("./tests/test_data/expected_vacc_to_diseases.json") as f: |
| 30 | + expected = json.load(f) |
| 31 | + result = transform_vaccine_map(self.sample_map) |
| 32 | + self.assertEqual(result["vacc_to_diseases"], expected) |
| 33 | + |
| 34 | + def test_transform_supplier_permissions_against_expected_file(self): |
| 35 | + with open("./tests/test_data/expected_perms.json") as f: |
| 36 | + expected = json.load(f) |
| 37 | + result = transform_supplier_permissions(self.supplier_data) |
| 38 | + self.assertEqual(result, expected) |
| 39 | + |
| 40 | + def test_empty_input(self): |
| 41 | + result = transform_supplier_permissions([]) |
| 42 | + self.assertEqual(result, {"supplier_permissions": {}}) |
| 43 | + |
| 44 | + def test_missing_keys_raises_error(self): |
| 45 | + broken_input = [{"supplier": "X"}, {"permissions": ["read:vaccine"]}] |
| 46 | + with self.assertRaises(KeyError): |
| 47 | + transform_supplier_permissions(broken_input) |
0 commit comments