Skip to content

Commit 48d825f

Browse files
committed
remove elasticache tests from filenameprocessor
1 parent b302106 commit 48d825f

1 file changed

Lines changed: 0 additions & 113 deletions

File tree

filenameprocessor/tests/test_lambda_handler.py

Lines changed: 0 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -448,119 +448,6 @@ def test_lambda_handler_multiple_records_for_same_queue(self):
448448
mock_invoke_filename_lambda.assert_not_called()
449449

450450

451-
@patch.dict("os.environ", MOCK_ENVIRONMENT_DICT)
452-
@mock_s3
453-
@mock_dynamodb
454-
@mock_sqs
455-
@mock_firehose
456-
class TestLambdaHandlerConfig(TestCase):
457-
"""Tests for lambda_handler when a config file is uploaded."""
458-
459-
config_event = {
460-
"Records": [{"s3": {"bucket": {"name": BucketNames.CONFIG}, "object": {"key": (PERMISSIONS_CONFIG_FILE_KEY)}}}]
461-
}
462-
463-
def setUp(self):
464-
GenericSetUp(s3_client, firehose_client, sqs_client, dynamodb_client)
465-
466-
def tearDown(self):
467-
GenericTearDown(s3_client, firehose_client, sqs_client, dynamodb_client)
468-
469-
def test_elasticcache_failure_handled(self):
470-
"Tests if elastic cache failure is handled when service fails to send message"
471-
event = {
472-
"s3": {
473-
"bucket": {"name": "my-config-bucket"}, # triggers 'config' branch
474-
"object": {"key": "testfile.csv"}
475-
}
476-
}
477-
478-
with patch("file_name_processor.upload_to_elasticache", side_effect=Exception("Upload failed")), \
479-
patch("file_name_processor.logger") as mock_logger:
480-
481-
result = handle_record(event)
482-
483-
self.assertEqual(result["statusCode"], 500)
484-
self.assertEqual(result["message"], "Failed to upload file content to cache")
485-
self.assertEqual(result["file_key"], "testfile.csv")
486-
self.assertIn("error", result)
487-
488-
mock_logger.error.assert_called_once()
489-
logged_msg = mock_logger.error.call_args[0][0]
490-
self.assertIn("Error uploading to cache", logged_msg)
491-
492-
def test_successful_processing_from_configs(self):
493-
"""Tests that the permissions config file content is uploaded to elasticache successfully"""
494-
fake_redis = fakeredis.FakeStrictRedis()
495-
496-
ravs_rsv_file_details_1 = MockFileDetails.ravs_rsv_1
497-
ravs_rsv_file_details_2 = MockFileDetails.ravs_rsv_2
498-
s3_client.put_object(Bucket=BucketNames.SOURCE, Key=ravs_rsv_file_details_1.file_key)
499-
s3_client.put_object(Bucket=BucketNames.SOURCE, Key=ravs_rsv_file_details_2.file_key)
500-
record_1 = {"s3": {"bucket": {"name": BucketNames.SOURCE}, "object": {"key": ravs_rsv_file_details_1.file_key}}}
501-
record_2 = {"s3": {"bucket": {"name": BucketNames.SOURCE}, "object": {"key": ravs_rsv_file_details_2.file_key}}}
502-
503-
ravs_rsv_permissions = {"RAVS": ["RSV_FULL"], "EMIS": ["FLU_CREATE", "FLU_UPDATE"]}
504-
ravs_no_rsv_permissions = {"RAVS": ["FLU_FULL"], "EMIS": ["RSV_CREATE", "RSV_UPDATE"], "TPP": ["RSV_DELETE"]}
505-
506-
# Test that the permissions config file content is uploaded to elasticache successfully
507-
s3_client.put_object(
508-
Bucket=BucketNames.CONFIG,
509-
Key=PERMISSIONS_CONFIG_FILE_KEY,
510-
Body=generate_permissions_config_content(ravs_rsv_permissions),
511-
)
512-
with patch("elasticache.redis_client", new=fake_redis):
513-
lambda_handler(self.config_event, None)
514-
self.assertEqual(
515-
json_loads(fake_redis.get(PERMISSIONS_CONFIG_FILE_KEY)), {"all_permissions": ravs_rsv_permissions}
516-
)
517-
518-
# Check that a RAVS RSV file processes successfully (as RAVS has permissions for RSV)
519-
with (
520-
patch("file_name_processor.uuid4", return_value=ravs_rsv_file_details_1.message_id),
521-
patch("elasticache.redis_client", new=fake_redis),
522-
):
523-
result = handle_record(record_1)
524-
expected_result = {
525-
"statusCode": 200,
526-
"message": "Successfully sent to SQS for further processing",
527-
"file_key": ravs_rsv_file_details_1.file_key,
528-
"message_id": ravs_rsv_file_details_1.message_id,
529-
"vaccine_type": ravs_rsv_file_details_1.vaccine_type,
530-
"supplier": ravs_rsv_file_details_1.supplier
531-
}
532-
self.assertEqual(result, expected_result)
533-
534-
# Test that the elasticache is successfully updated when the lambda is invoked with a new permissions config
535-
s3_client.put_object(
536-
Bucket=BucketNames.CONFIG,
537-
Key=PERMISSIONS_CONFIG_FILE_KEY,
538-
Body=generate_permissions_config_content(ravs_no_rsv_permissions),
539-
)
540-
with patch("elasticache.redis_client", new=fake_redis):
541-
lambda_handler(self.config_event, None)
542-
self.assertEqual(
543-
json_loads(fake_redis.get(PERMISSIONS_CONFIG_FILE_KEY)), {"all_permissions": ravs_no_rsv_permissions}
544-
)
545-
546-
# Check that a RAVS RSV file fails to process (as RAVS now does not have permissions for RSV)
547-
with (
548-
patch("file_name_processor.uuid4", return_value=ravs_rsv_file_details_2.message_id),
549-
patch("elasticache.redis_client", new=fake_redis),
550-
):
551-
result = handle_record(record_2)
552-
expected_result = {
553-
"statusCode": 403,
554-
"message": "Infrastructure Level Response Value - Processing Error",
555-
"file_key": ravs_rsv_file_details_2.file_key,
556-
"message_id": ravs_rsv_file_details_2.message_id,
557-
"error": "Initial file validation failed: RAVS does not have permissions for RSV",
558-
"vaccine_type": ravs_rsv_file_details_2.vaccine_type,
559-
"supplier": ravs_rsv_file_details_2.supplier
560-
}
561-
self.assertEqual(result, expected_result)
562-
563-
564451
@patch.dict("os.environ", MOCK_ENVIRONMENT_DICT)
565452
@mock_s3
566453
@mock_dynamodb

0 commit comments

Comments
 (0)