-
Notifications
You must be signed in to change notification settings - Fork 3
VED-790-Redis-Schema-Storage #867
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 14 commits
6792846
9fe7761
d5cb381
2daa43c
40413ae
50169f6
74d7dbe
c333cf3
312966f
e90c537
3ddcf64
bf79557
3e1e352
bc09f1d
0c1ea2d
05182a5
42fb582
fd36f9d
a3bee76
762fd6b
3319cfc
c963376
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,19 @@ | ||
| from constants import RedisCacheKey | ||
| from transform_configs import transform_vaccine_map, transform_supplier_permissions | ||
| from transform_configs import transform_vaccine_map, transform_supplier_permissions, transform_generic | ||
| from common.clients import logger | ||
| ''' | ||
| Transform config file to format required in REDIS cache. | ||
| ''' | ||
|
|
||
|
|
||
| def transform_map(data, file_type): | ||
| def transform_map(data, file_type) -> dict: | ||
| # Transform the vaccine map data as needed | ||
| logger.info("Transforming data for file type: %s", file_type) | ||
| if file_type == RedisCacheKey.PERMISSIONS_CONFIG_FILE_KEY: | ||
| return transform_supplier_permissions(data) | ||
| if file_type == RedisCacheKey.DISEASE_MAPPING_FILE_KEY: | ||
| return transform_vaccine_map(data) | ||
|
|
||
dlzhry2nhs marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| logger.info("No specific transformation defined for file type: %s", file_type) | ||
| return data # Default case, return data as is if no transformation is defined | ||
|
|
||
| return transform_generic(data, file_type) | ||
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
|
|
||
| import unittest | ||
| from unittest.mock import patch | ||
| from transform_map import transform_map | ||
| from constants import RedisCacheKey | ||
|
|
||
|
|
||
| class TestTransformMap(unittest.TestCase): | ||
| def setUp(self): | ||
| self.mock_logger_info = patch("transform_map.logger.info").start() | ||
| self.mock_logger_warning = patch("transform_map.logger.warning").start() | ||
| self.mock_supplier_permissions = patch("transform_map.transform_supplier_permissions", | ||
| return_value={"result": "supplier"}).start() | ||
| self.mock_vaccine_map = patch("transform_map.transform_vaccine_map", return_value={"result": "vaccine"}).start() | ||
| self.mock_generic = patch("transform_map.transform_generic", return_value={"result": "generic"}).start() | ||
|
|
||
| def tearDown(self): | ||
| patch.stopall() | ||
|
|
||
| def test_permissions_config_file_key_calls_supplier_permissions(self): | ||
| data = {"some": "data"} | ||
| result = transform_map(data, RedisCacheKey.PERMISSIONS_CONFIG_FILE_KEY) | ||
dlzhry2nhs marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| self.mock_supplier_permissions.assert_called_once_with(data) | ||
| self.assertEqual(result, {"result": "supplier"}) | ||
| self.mock_logger_info.assert_any_call( | ||
| "Transforming data for file type: %s", RedisCacheKey.PERMISSIONS_CONFIG_FILE_KEY) | ||
|
|
||
| def test_disease_mapping_file_key_calls_vaccine_map(self): | ||
| data = {"other": "data"} | ||
| result = transform_map(data, RedisCacheKey.DISEASE_MAPPING_FILE_KEY) | ||
| self.mock_vaccine_map.assert_called_once_with(data) | ||
| self.assertEqual(result, {"result": "vaccine"}) | ||
| self.mock_logger_info.assert_any_call( | ||
| "Transforming data for file type: %s", RedisCacheKey.DISEASE_MAPPING_FILE_KEY) | ||
|
|
||
| def test_other_file_type_calls_generic(self): | ||
| data = {"generic": "data"} | ||
| file_type = "unknown_file_type" | ||
| result = transform_map(data, file_type) | ||
| self.mock_generic.assert_called_once_with(data, file_type) | ||
| self.assertEqual(result, {"result": "generic"}) | ||
| self.mock_logger_info.assert_any_call("No specific transformation defined for file type: %s", file_type) | ||
Uh oh!
There was an error while loading. Please reload this page.