Skip to content

Commit 7524e12

Browse files
committed
clients/redis_client
1 parent 3ac221f commit 7524e12

File tree

7 files changed

+35
-45
lines changed

7 files changed

+35
-45
lines changed

lambdas/recordforwarder/src/clients.py

Lines changed: 0 additions & 25 deletions
This file was deleted.

lambdas/recordforwarder/src/forwarding_batch_lambda.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import simplejson as json
1010

1111
from batch.batch_filename_to_events_mapper import BatchFilenameToEventsMapper
12-
from clients import sqs_client
12+
from common.clients import sqs_client
1313
from controller.fhir_batch_controller import (
1414
ImmunizationBatchController,
1515
make_batch_controller,

lambdas/recordforwarder/src/models/utils/validation_utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import json
44

5-
from clients import redis_client
5+
from common.redis_client import get_redis_client
66
from constants import Urls
77
from models.constants import Constants
88
from models.errors import MandatoryError
@@ -54,7 +54,7 @@ def convert_disease_codes_to_vaccine_type(
5454
otherwise raises a value error
5555
"""
5656
key = ":".join(sorted(disease_codes_input))
57-
vaccine_type = redis_client.hget(Constants.DISEASES_TO_VACCINE_TYPE_HASH_KEY, key)
57+
vaccine_type = get_redis_client().hget(Constants.DISEASES_TO_VACCINE_TYPE_HASH_KEY, key)
5858

5959
if not vaccine_type:
6060
raise ValueError(

lambdas/recordforwarder/src/repository/fhir_batch_repository.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import simplejson as json
99
from boto3.dynamodb.conditions import Attr, Key
1010

11-
from clients import logger
11+
from common.clients import logger
1212
from models.errors import (
1313
IdentifierDuplicationError,
1414
ResourceFoundError,

lambdas/recordforwarder/tests/repository/test_fhir_batch_repository.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os
22
import unittest
3-
from unittest.mock import ANY, MagicMock, patch
3+
from unittest.mock import ANY, Mock, MagicMock, patch
44
from uuid import uuid4
55

66
import boto3
@@ -36,8 +36,9 @@ def setUp(self):
3636
self.table.query = MagicMock(return_value={})
3737
self.immunization = create_covid_immunization_dict(imms_id)
3838
self.table.update_item = MagicMock(return_value={"ResponseMetadata": {"HTTPStatusCode": 200}})
39-
self.redis_patcher = patch("models.utils.validation_utils.redis_client")
40-
self.mock_redis_client = self.redis_patcher.start()
39+
self.mock_redis = Mock()
40+
self.redis_getter_patcher = patch("models.utils.validation_utils.get_redis_client")
41+
self.mock_redis_getter = self.redis_getter_patcher.start()
4142
self.logger_info_patcher = patch("logging.Logger.info")
4243
self.mock_logger_info = self.logger_info_patcher.start()
4344

@@ -56,7 +57,8 @@ def modify_immunization(self, remove_nhs):
5657

5758
def create_immunization_test_logic(self, is_present, remove_nhs):
5859
"""Common logic for testing immunization creation."""
59-
self.mock_redis_client.hget.side_effect = ["COVID"]
60+
self.mock_redis.hget.side_effect = ["COVID"]
61+
self.mock_redis_getter.return_value = self.mock_redis
6062
self.modify_immunization(remove_nhs)
6163

6264
self.repository.create_immunization(self.immunization, "supplier", "vax-type", self.table, is_present)

lambdas/recordforwarder/tests/service/test_fhir_batch_service.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,14 @@ class TestFhirBatchServiceBase(unittest.TestCase):
1515

1616
def setUp(self):
1717
super().setUp()
18-
self.redis_patcher = patch("models.utils.validation_utils.redis_client")
19-
self.mock_redis_client = self.redis_patcher.start()
18+
self.mock_redis = Mock()
19+
self.redis_getter_patcher = patch("models.utils.validation_utils.get_redis_client")
20+
self.mock_redis_getter = self.redis_getter_patcher.start()
2021
self.logger_info_patcher = patch("logging.Logger.info")
2122
self.mock_logger_info = self.logger_info_patcher.start()
2223

2324
def tearDown(self):
24-
self.redis_patcher.stop()
25+
self.redis_getter_patcher.stop()
2526
self.logger_info_patcher.stop()
2627
super().tearDown()
2728

@@ -83,7 +84,8 @@ def test_create_immunization_post_validation_error(self):
8384
bad_target_disease_imms = deepcopy(valid_imms)
8485
bad_target_disease_imms["protocolApplied"][0]["targetDisease"][0]["coding"][0]["code"] = "bad-code"
8586
expected_msg = "protocolApplied[0].targetDisease[*].coding[?(@.system=='http://snomed.info/sct')].code - ['bad-code'] is not a valid combination of disease codes for this service"
86-
self.mock_redis_client.hget.return_value = None # Reset mock for invalid cases
87+
self.mock_redis.hget.return_value = None # Reset mock for invalid cases
88+
self.mock_redis_getter.return_value = self.mock_redis
8789
with self.assertRaises(CustomValidationError) as error:
8890
self.pre_validate_fhir_service.create_immunization(
8991
immunization=bad_target_disease_imms,
@@ -149,7 +151,8 @@ def test_update_immunization_pre_validation_error(self):
149151
def test_update_immunization_post_validation_error(self):
150152
"""it should return error since it got failed in initial validation"""
151153

152-
self.mock_redis_client.hget.return_value = None # Reset mock for invalid cases
154+
self.mock_redis.hget.return_value = None # Reset mock for invalid cases
155+
self.mock_redis_getter.return_value = self.mock_redis
153156

154157
valid_imms = create_covid_immunization_dict_no_id()
155158
bad_target_disease_imms = deepcopy(valid_imms)

lambdas/recordforwarder/tests/test_forwarding_batch_lambda.py

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import unittest
66
from typing import Optional
77
from unittest import TestCase
8-
from unittest.mock import ANY, MagicMock, patch
8+
from unittest.mock import ANY, Mock, MagicMock, patch
99

1010
from boto3 import resource as boto3_resource
1111
from moto import mock_aws
@@ -67,13 +67,16 @@ def setUp(self):
6767
},
6868
],
6969
)
70-
self.redis_patcher = patch("models.utils.validation_utils.redis_client")
71-
self.mock_redis_client = self.redis_patcher.start()
70+
7271
self.logger_info_patcher = patch("logging.Logger.info")
7372
self.mock_logger_info = self.logger_info_patcher.start()
7473
self.logger_error_patcher = patch("logging.Logger.error")
7574
self.mock_logger_error = self.logger_error_patcher.start()
7675

76+
self.mock_redis = Mock()
77+
self.redis_getter_patcher = patch("models.utils.validation_utils.get_redis_client")
78+
self.mock_redis_getter = self.redis_getter_patcher.start()
79+
7780
def tearDown(self):
7881
"""Tear down after each test. This runs after every test"""
7982
patch.stopall()
@@ -208,7 +211,8 @@ def test_forward_lambda_handler_single_operations(self, mock_send_message):
208211
"PatientSK": "RSV#4d2ac1eb-080f-4e54-9598-f2d53334681c",
209212
}
210213
)
211-
self.mock_redis_client.hget.return_value = "RSV"
214+
self.mock_redis.hget.return_value = "RSV"
215+
self.mock_redis_getter.return_value = self.mock_redis
212216

213217
test_cases = [
214218
{
@@ -443,7 +447,9 @@ def test_forward_lambda_handler_multiple_scenarios(self, mock_send_message):
443447
mock_send_message.reset_mock()
444448
event = self.generate_event(test_cases)
445449

446-
self.mock_redis_client.hget.return_value = "RSV"
450+
self.mock_redis.hget.return_value = "RSV"
451+
self.mock_redis_getter.return_value = self.mock_redis
452+
447453
forward_lambda_handler(event, {})
448454

449455
self.assert_dynamo_item(table_item)
@@ -474,7 +480,9 @@ def test_forward_lambda_handler_groups_and_sends_events_by_filename(self, mock_s
474480
},
475481
]
476482
mock_kinesis_event = self.generate_event(mock_records)
477-
self.mock_redis_client.hget.return_value = "RSV"
483+
484+
self.mock_redis.hget.return_value = "RSV"
485+
self.mock_redis_getter.return_value = self.mock_redis
478486

479487
forward_lambda_handler(mock_kinesis_event, {})
480488

@@ -532,7 +540,9 @@ def test_forward_lambda_handler_update_scenarios(self, mock_send_message):
532540
input: generates the kinesis row data for the event,
533541
expected_keys (list): expected output dictionary keys,
534542
expected_values (dict): expected output dictionary values"""
535-
self.mock_redis_client.hget.return_value = "RSV"
543+
self.mock_redis.hget.return_value = "RSV"
544+
self.mock_redis_getter.return_value = self.mock_redis
545+
536546
pk_test_update = "Immunization#4d2ac1eb-080f-4e54-9598-f2d53334687r"
537547
self.table.put_item(
538548
Item={

0 commit comments

Comments
 (0)