From 2fbfd6e60a0e5bb26b16bb2ae813c924ff20dbdb Mon Sep 17 00:00:00 2001 From: Ed Hall <239591530+edhall-nhs@users.noreply.github.com> Date: Thu, 29 Jan 2026 16:10:51 +0000 Subject: [PATCH 1/5] Consolidate lambda names to use hyphens Also tidy us hard coded aws regions and use vars instead --- .../account/csoc_eventforwarder_role.tf | 2 +- infrastructure/account/endpoints.tf | 4 +- infrastructure/account/shield_protection.tf | 2 +- infrastructure/instance/ack_lambda.tf | 22 ++++----- .../instance/batch_processor_filter_lambda.tf | 19 +++---- infrastructure/instance/delta.tf | 49 +++++++++---------- infrastructure/instance/endpoints.tf | 2 +- .../instance/file_name_processor.tf | 20 ++++---- infrastructure/instance/forwarder_lambda.tf | 13 ++--- infrastructure/instance/id_sync_lambda.tf | 17 +++---- infrastructure/instance/lambda.tf | 14 +++--- infrastructure/instance/main.tf | 2 +- infrastructure/instance/mesh_processor.tf | 19 +++---- infrastructure/instance/redis_sync_lambda.tf | 20 ++++---- infrastructure/instance/s3_config.tf | 11 ----- infrastructure/mesh/main.tf | 4 +- infrastructure/mesh/variables.tf | 3 ++ 17 files changed, 105 insertions(+), 118 deletions(-) diff --git a/infrastructure/account/csoc_eventforwarder_role.tf b/infrastructure/account/csoc_eventforwarder_role.tf index fc9ad6de6..70d84ffc6 100644 --- a/infrastructure/account/csoc_eventforwarder_role.tf +++ b/infrastructure/account/csoc_eventforwarder_role.tf @@ -27,7 +27,7 @@ resource "aws_iam_role_policy" "eventbridge_forwarder_policy" { Effect = "Allow", Action = ["events:PutEvents"], Resource = [ - "arn:aws:events:eu-west-2:${var.csoc_account_id}:event-bus/shield-eventbus" + "arn:aws:events:${var.aws_region}:${var.csoc_account_id}:event-bus/shield-eventbus" ] }] }) diff --git a/infrastructure/account/endpoints.tf b/infrastructure/account/endpoints.tf index a29c7faf5..98ff22526 100644 --- a/infrastructure/account/endpoints.tf +++ b/infrastructure/account/endpoints.tf @@ -1,8 +1,8 @@ data "aws_ec2_managed_prefix_list" "egress" { for_each = toset([ "com.amazonaws.global.cloudfront.origin-facing", - "com.amazonaws.eu-west-2.dynamodb", - "com.amazonaws.eu-west-2.s3" + "com.amazonaws.${var.aws_region}.dynamodb", + "com.amazonaws.${var.aws_region}.s3" ]) name = each.value diff --git a/infrastructure/account/shield_protection.tf b/infrastructure/account/shield_protection.tf index 4b0ed706c..0809c97d0 100644 --- a/infrastructure/account/shield_protection.tf +++ b/infrastructure/account/shield_protection.tf @@ -101,7 +101,7 @@ resource "aws_cloudwatch_event_rule" "shield_ddos_rule_regional" { resource "aws_cloudwatch_event_target" "shield_ddos_target_regional" { rule = aws_cloudwatch_event_rule.shield_ddos_rule_regional.name target_id = "csoc-eventbus" - arn = "arn:aws:events:eu-west-2:${var.csoc_account_id}:event-bus/shield-eventbus" + arn = "arn:aws:events:${var.aws_region}:${var.csoc_account_id}:event-bus/shield-eventbus" role_arn = aws_iam_role.eventbridge_forwarder_role.arn } diff --git a/infrastructure/instance/ack_lambda.tf b/infrastructure/instance/ack_lambda.tf index 4b30a4cd2..ceca5349a 100644 --- a/infrastructure/instance/ack_lambda.tf +++ b/infrastructure/instance/ack_lambda.tf @@ -1,11 +1,9 @@ # Define the directory containing the Docker image and calculate its SHA-256 hash for triggering redeployments locals { - ack_lambda_dir = abspath("${path.root}/../../lambdas/ack_backend") - - ack_lambda_files = fileset(local.ack_lambda_dir, "**") - + ack_lambda_dir = abspath("${path.root}/../../lambdas/ack_backend") + ack_lambda_files = fileset(local.ack_lambda_dir, "**") ack_lambda_dir_sha = sha1(join("", [for f in local.ack_lambda_files : filesha1("${local.ack_lambda_dir}/${f}")])) - ack_lambda_name = "${local.short_prefix}-ack_lambda" + ack_lambda_name = "${local.short_prefix}-ack-lambda" } @@ -72,7 +70,7 @@ resource "aws_ecr_repository_policy" "ack_lambda_ECRImageRetreival_policy" { ], "Condition" : { "StringLike" : { - "aws:sourceArn" : "arn:aws:lambda:eu-west-2:${var.immunisation_account_id}:function:${local.short_prefix}-ack-lambda" + "aws:sourceArn" : "arn:aws:lambda:${var.aws_region}:${var.immunisation_account_id}:function:${local.ack_lambda_name}" } } } @@ -82,7 +80,7 @@ resource "aws_ecr_repository_policy" "ack_lambda_ECRImageRetreival_policy" { # IAM Role for Lambda resource "aws_iam_role" "ack_lambda_exec_role" { - name = "${local.short_prefix}-ack-lambda-exec-role" + name = "${local.ack_lambda_name}-exec-role" assume_role_policy = jsonencode({ Version = "2012-10-17", Statement = [{ @@ -98,7 +96,7 @@ resource "aws_iam_role" "ack_lambda_exec_role" { # Policy for Lambda execution role resource "aws_iam_policy" "ack_lambda_exec_policy" { - name = "${local.short_prefix}-ack-lambda-exec-policy" + name = "${local.ack_lambda_name}-exec-policy" policy = jsonencode({ Version = "2012-10-17", Statement = [ @@ -109,7 +107,7 @@ resource "aws_iam_policy" "ack_lambda_exec_policy" { "logs:CreateLogStream", "logs:PutLogEvents" ] - Resource = "arn:aws:logs:eu-west-2:${var.immunisation_account_id}:log-group:/aws/lambda/${local.short_prefix}-ack-lambda:*" + Resource = "arn:aws:logs:${var.aws_region}:${var.immunisation_account_id}:log-group:/aws/lambda/${local.ack_lambda_name}:*" }, { Effect = "Allow" @@ -145,7 +143,7 @@ resource "aws_iam_policy" "ack_lambda_exec_policy" { "sqs:DeleteMessage", "sqs:GetQueueAttributes" ], - Resource = "arn:aws:sqs:eu-west-2:${var.immunisation_account_id}:${local.short_prefix}-ack-metadata-queue.fifo" }, + Resource = "arn:aws:sqs:${var.aws_region}:${var.immunisation_account_id}:${local.short_prefix}-ack-metadata-queue.fifo" }, { "Effect" : "Allow", "Action" : [ @@ -159,7 +157,7 @@ resource "aws_iam_policy" "ack_lambda_exec_policy" { } resource "aws_cloudwatch_log_group" "ack_lambda_log_group" { - name = "/aws/lambda/${local.short_prefix}-ack-lambda" + name = "/aws/lambda/${local.ack_lambda_name}" retention_in_days = 30 } @@ -200,7 +198,7 @@ resource "aws_iam_role_policy_attachment" "lambda_kms_policy_attachment" { # Lambda Function with Security Group and VPC. resource "aws_lambda_function" "ack_processor_lambda" { - function_name = "${local.short_prefix}-ack-lambda" + function_name = local.ack_lambda_name role = aws_iam_role.ack_lambda_exec_role.arn package_type = "Image" image_uri = module.ack_processor_docker_image.image_uri diff --git a/infrastructure/instance/batch_processor_filter_lambda.tf b/infrastructure/instance/batch_processor_filter_lambda.tf index 89b821e40..f1bc1b5da 100644 --- a/infrastructure/instance/batch_processor_filter_lambda.tf +++ b/infrastructure/instance/batch_processor_filter_lambda.tf @@ -3,6 +3,7 @@ locals { batch_processor_filter_lambda_dir = abspath("${path.root}/../../lambdas/batch_processor_filter") batch_processor_filter_lambda_files = fileset(local.batch_processor_filter_lambda_dir, "**") batch_processor_filter_lambda_dir_sha = sha1(join("", [for f in local.batch_processor_filter_lambda_files : filesha1("${local.batch_processor_filter_lambda_dir}/${f}")])) + batch_processor_filter_lambda_name = "${local.short_prefix}-batch-processor-filter-lambda" } resource "aws_ecr_repository" "batch_processor_filter_lambda_repository" { @@ -69,7 +70,7 @@ resource "aws_ecr_repository_policy" "batch_processor_filter_lambda_ECRImageRetr ], "Condition" : { "StringLike" : { - "aws:sourceArn" : "arn:aws:lambda:${var.aws_region}:${var.immunisation_account_id}:function:${local.short_prefix}-batch-processor-filter-lambda" + "aws:sourceArn" : "arn:aws:lambda:${var.aws_region}:${var.immunisation_account_id}:function:${local.batch_processor_filter_lambda_name}" } } } @@ -79,7 +80,7 @@ resource "aws_ecr_repository_policy" "batch_processor_filter_lambda_ECRImageRetr # IAM Role for Lambda resource "aws_iam_role" "batch_processor_filter_lambda_exec_role" { - name = "${local.short_prefix}-batch-processor-filter-lambda-exec-role" + name = "${local.batch_processor_filter_lambda_name}-exec-role" assume_role_policy = jsonencode({ Version = "2012-10-17", Statement = [{ @@ -95,7 +96,7 @@ resource "aws_iam_role" "batch_processor_filter_lambda_exec_role" { # Policy for Lambda execution role resource "aws_iam_policy" "batch_processor_filter_lambda_exec_policy" { - name = "${local.short_prefix}-batch-processor-filter-lambda-exec-policy" + name = "${local.batch_processor_filter_lambda_name}-exec-policy" policy = jsonencode({ Version = "2012-10-17", Statement = [ @@ -106,7 +107,7 @@ resource "aws_iam_policy" "batch_processor_filter_lambda_exec_policy" { "logs:CreateLogStream", "logs:PutLogEvents" ] - Resource = "arn:aws:logs:${var.aws_region}:${var.immunisation_account_id}:log-group:/aws/lambda/${local.short_prefix}-batch-processor-filter-lambda:*" + Resource = "arn:aws:logs:${var.aws_region}:${var.immunisation_account_id}:log-group:/aws/lambda/${local.batch_processor_filter_lambda_name}:*" }, { Effect = "Allow", @@ -157,7 +158,7 @@ resource "aws_iam_policy" "batch_processor_filter_lambda_exec_policy" { # Policy for Lambda to interact with SQS resource "aws_iam_policy" "batch_processor_filter_lambda_sqs_policy" { - name = "${local.short_prefix}-batch-processor-filter-lambda-sqs-policy" + name = "${local.batch_processor_filter_lambda_name}-sqs-policy" policy = jsonencode({ Version = "2012-10-17", @@ -183,7 +184,7 @@ resource "aws_iam_policy" "batch_processor_filter_lambda_sqs_policy" { } resource "aws_iam_policy" "batch_processor_filter_lambda_kms_access_policy" { - name = "${local.short_prefix}-batch-processor-filter-lambda-kms-policy" + name = "${local.batch_processor_filter_lambda_name}-kms-policy" description = "Allow Lambda to decrypt environment variables" policy = jsonencode({ @@ -261,7 +262,7 @@ resource "aws_iam_role_policy_attachment" "batch_processor_filter_lambda_dynamo_ # Lambda Function with Security Group and VPC. resource "aws_lambda_function" "batch_processor_filter_lambda" { - function_name = "${local.short_prefix}-batch-processor-filter-lambda" + function_name = local.batch_processor_filter_lambda_name role = aws_iam_role.batch_processor_filter_lambda_exec_role.arn package_type = "Image" image_uri = module.batch_processor_filter_docker_image.image_uri @@ -293,7 +294,7 @@ resource "aws_lambda_function" "batch_processor_filter_lambda" { } resource "aws_cloudwatch_log_group" "batch_processor_filter_lambda_log_group" { - name = "/aws/lambda/${local.short_prefix}-batch-processor-filter-lambda" + name = "/aws/lambda/${local.batch_processor_filter_lambda_name}" retention_in_days = 30 } @@ -322,7 +323,7 @@ resource "aws_cloudwatch_log_metric_filter" "batch_processor_filter_error_logs" resource "aws_cloudwatch_metric_alarm" "batch_processor_filter_error_alarm" { count = var.error_alarm_notifications_enabled ? 1 : 0 - alarm_name = "${local.short_prefix}-batch-processor-filter-lambda-error" + alarm_name = "${local.batch_processor_filter_lambda_name}-error" comparison_operator = "GreaterThanOrEqualToThreshold" evaluation_periods = 1 metric_name = "${local.short_prefix}-BatchProcessorFilterErrorLogs" diff --git a/infrastructure/instance/delta.tf b/infrastructure/instance/delta.tf index a9e5efd14..1647578f4 100644 --- a/infrastructure/instance/delta.tf +++ b/infrastructure/instance/delta.tf @@ -1,10 +1,9 @@ locals { - delta_lambda_dir = abspath("${path.root}/../../lambdas/delta_backend") - delta_files = fileset(local.delta_lambda_dir, "**") - delta_dir_sha = sha1(join("", [for f in local.delta_files : filesha1("${local.delta_lambda_dir}/${f}")])) - function_name = "delta" - dlq_name = "delta-dlq" - sns_name = "delta-sns" + delta_lambda_dir = abspath("${path.root}/../../lambdas/delta_backend") + delta_files = fileset(local.delta_lambda_dir, "**") + delta_dir_sha = sha1(join("", [for f in local.delta_files : filesha1("${local.delta_lambda_dir}/${f}")])) + delta_lambda_name = "${local.short_prefix}-delta-lambda" + dlq_name = "delta-dlq" } resource "aws_ecr_repository" "delta_lambda_repository" { @@ -71,7 +70,7 @@ resource "aws_ecr_repository_policy" "delta_lambda_ECRImageRetreival_policy" { ], "Condition" : { "StringLike" : { - "aws:sourceArn" : "arn:aws:lambda:eu-west-2:${var.immunisation_account_id}:function:${local.short_prefix}-${local.function_name}" + "aws:sourceArn" : "arn:aws:lambda:${var.aws_region}:${var.immunisation_account_id}:function:${local.delta_lambda_name}" } } } @@ -101,33 +100,29 @@ data "aws_iam_policy_document" "delta_policy_document" { } resource "aws_iam_role" "delta_lambda_role" { - name = "${local.short_prefix}-${local.function_name}-role" - assume_role_policy = < Date: Thu, 29 Jan 2026 16:33:47 +0000 Subject: [PATCH 2/5] Revert to hard coded region in main.tf --- infrastructure/instance/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/instance/main.tf b/infrastructure/instance/main.tf index 940d55b45..aa7e24a45 100644 --- a/infrastructure/instance/main.tf +++ b/infrastructure/instance/main.tf @@ -10,7 +10,7 @@ terraform { } } backend "s3" { - region = var.aws_region + region = "eu-west-2" key = "state" use_lockfile = true } From 8327e6cbe970f7e4f88ffde7d0ab6f9f13c37585 Mon Sep 17 00:00:00 2001 From: Ed Hall <239591530+edhall-nhs@users.noreply.github.com> Date: Fri, 30 Jan 2026 11:13:14 +0000 Subject: [PATCH 3/5] Review comment --- infrastructure/instance/redis_sync_lambda.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/instance/redis_sync_lambda.tf b/infrastructure/instance/redis_sync_lambda.tf index 6aac02fed..47fcabca5 100644 --- a/infrastructure/instance/redis_sync_lambda.tf +++ b/infrastructure/instance/redis_sync_lambda.tf @@ -270,7 +270,7 @@ resource "aws_cloudwatch_log_metric_filter" "redis_sync_error_logs" { resource "aws_cloudwatch_metric_alarm" "redis_sync_error_alarm" { count = var.error_alarm_notifications_enabled ? 1 : 0 - alarm_name = local.redis_sync_lambda_name + alarm_name = "${local.redis_sync_lambda_name}-error" comparison_operator = "GreaterThanOrEqualToThreshold" evaluation_periods = 1 metric_name = "${local.short_prefix}-RedisSyncErrorLogs" From 18681606c8503afc2cece9cdfe3f73e5e3a7caba Mon Sep 17 00:00:00 2001 From: Ed Hall <239591530+edhall-nhs@users.noreply.github.com> Date: Fri, 30 Jan 2026 14:47:02 +0000 Subject: [PATCH 4/5] Review comment - add tf validation to aws region --- .../instance/modules/api_gateway/variables.tf | 10 +++++++++- infrastructure/instance/redis_sync_lambda.tf | 9 ++++----- infrastructure/instance/variables.tf | 6 ++++++ infrastructure/mesh/variables.tf | 6 ++++++ 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/infrastructure/instance/modules/api_gateway/variables.tf b/infrastructure/instance/modules/api_gateway/variables.tf index 2b39907df..aaa0e5d84 100644 --- a/infrastructure/instance/modules/api_gateway/variables.tf +++ b/infrastructure/instance/modules/api_gateway/variables.tf @@ -5,6 +5,14 @@ variable "api_domain_name" {} variable "environment" {} variable "sub_environment" {} variable "oas" {} -variable "aws_region" {} +variable "aws_region" { + type = string + default = "eu-west-2" + + validation { + condition = var.aws_region == "eu-west-2" + error_message = "AWS Region must be set to eu-west-2." + } +} variable "immunisation_account_id" {} variable "csoc_account_id" {} diff --git a/infrastructure/instance/redis_sync_lambda.tf b/infrastructure/instance/redis_sync_lambda.tf index 47fcabca5..76c81ee03 100644 --- a/infrastructure/instance/redis_sync_lambda.tf +++ b/infrastructure/instance/redis_sync_lambda.tf @@ -233,11 +233,10 @@ resource "aws_lambda_function" "redis_sync_lambda" { environment { variables = { - CONFIG_BUCKET_NAME = local.config_bucket_name - REDIS_HOST = data.aws_elasticache_cluster.existing_redis.cache_nodes[0].address - REDIS_PORT = data.aws_elasticache_cluster.existing_redis.cache_nodes[0].port - REDIS_SYNC_PROC_LAMBDA_NAME = local.redis_sync_lambda_name - SPLUNK_FIREHOSE_NAME = module.splunk.firehose_stream_name + CONFIG_BUCKET_NAME = local.config_bucket_name + REDIS_HOST = data.aws_elasticache_cluster.existing_redis.cache_nodes[0].address + REDIS_PORT = data.aws_elasticache_cluster.existing_redis.cache_nodes[0].port + SPLUNK_FIREHOSE_NAME = module.splunk.firehose_stream_name } } kms_key_arn = data.aws_kms_key.existing_lambda_encryption_key.arn diff --git a/infrastructure/instance/variables.tf b/infrastructure/instance/variables.tf index 88a2a502b..5ebcc195a 100644 --- a/infrastructure/instance/variables.tf +++ b/infrastructure/instance/variables.tf @@ -33,7 +33,13 @@ variable "service" { } variable "aws_region" { + type = string default = "eu-west-2" + + validation { + condition = var.aws_region == "eu-west-2" + error_message = "AWS Region must be set to eu-west-2." + } } variable "pds_environment" { diff --git a/infrastructure/mesh/variables.tf b/infrastructure/mesh/variables.tf index 6e05d58da..e534bbd91 100644 --- a/infrastructure/mesh/variables.tf +++ b/infrastructure/mesh/variables.tf @@ -4,5 +4,11 @@ variable "mesh_environment" {} variable "mesh_mailbox_ids" {} variable "mesh_dlq_mailbox_id" {} variable "aws_region" { + type = string default = "eu-west-2" + + validation { + condition = var.aws_region == "eu-west-2" + error_message = "AWS Region must be set to eu-west-2." + } } From 8e63835dd20a1a0c44314e1ac2ad347e4418329d Mon Sep 17 00:00:00 2001 From: Ed Hall <239591530+edhall-nhs@users.noreply.github.com> Date: Fri, 30 Jan 2026 14:52:09 +0000 Subject: [PATCH 5/5] Tidy up generic validator code from redis_sync lambda --- lambdas/redis_sync/src/constants.py | 1 - lambdas/redis_sync/src/transform_configs.py | 4 ---- lambdas/redis_sync/src/transform_map.py | 3 --- lambdas/redis_sync/tests/test_transform_config.py | 7 ------- lambdas/redis_sync/tests/test_transform_map.py | 13 ------------- 5 files changed, 28 deletions(-) diff --git a/lambdas/redis_sync/src/constants.py b/lambdas/redis_sync/src/constants.py index d26cce29e..73ecfa42e 100644 --- a/lambdas/redis_sync/src/constants.py +++ b/lambdas/redis_sync/src/constants.py @@ -1,4 +1,3 @@ class RedisCacheKey: PERMISSIONS_CONFIG_FILE_KEY = "permissions_config.json" DISEASE_MAPPING_FILE_KEY = "disease_mapping.json" - VALIDATION_RULES_FILE_KEY = "validation_rules.json" diff --git a/lambdas/redis_sync/src/transform_configs.py b/lambdas/redis_sync/src/transform_configs.py index 24baa6776..568e9dead 100644 --- a/lambdas/redis_sync/src/transform_configs.py +++ b/lambdas/redis_sync/src/transform_configs.py @@ -39,7 +39,3 @@ def transform_supplier_permissions(mapping): "supplier_permissions": supplier_permissions, "ods_code_to_supplier": ods_code_to_supplier, } - - -def transform_validation_rules(data) -> dict: - return {"validation_rules": data} diff --git a/lambdas/redis_sync/src/transform_map.py b/lambdas/redis_sync/src/transform_map.py index b3ee88f8e..e274fcc6e 100644 --- a/lambdas/redis_sync/src/transform_map.py +++ b/lambdas/redis_sync/src/transform_map.py @@ -3,7 +3,6 @@ from transform_configs import ( transform_supplier_permissions, transform_vaccine_map, - transform_validation_rules, ) """ @@ -18,8 +17,6 @@ def transform_map(data, file_type) -> dict: return transform_supplier_permissions(data) if file_type == RedisCacheKey.DISEASE_MAPPING_FILE_KEY: return transform_vaccine_map(data) - if file_type == RedisCacheKey.VALIDATION_RULES_FILE_KEY: - return transform_validation_rules(data) 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 diff --git a/lambdas/redis_sync/tests/test_transform_config.py b/lambdas/redis_sync/tests/test_transform_config.py index 408dd572d..d81611064 100644 --- a/lambdas/redis_sync/tests/test_transform_config.py +++ b/lambdas/redis_sync/tests/test_transform_config.py @@ -5,7 +5,6 @@ from transform_configs import ( transform_supplier_permissions, transform_vaccine_map, - transform_validation_rules, ) @@ -47,12 +46,6 @@ def test_ods_code_to_supplier(self): result = transform_supplier_permissions(self.supplier_data) self.assertEqual(result["ods_code_to_supplier"], expected) - def test_validation_rules(self): - # validation schema is simple json returned as is to key "validation_rules" - sample_schema = {"type": "object", "properties": {"name": {"type": "string"}}} - result = transform_validation_rules(sample_schema) - self.assertEqual(result, {"validation_rules": sample_schema}) - def test_empty_input(self): result = transform_supplier_permissions([]) self.assertEqual( diff --git a/lambdas/redis_sync/tests/test_transform_map.py b/lambdas/redis_sync/tests/test_transform_map.py index a3e2a3973..5bdf9e3a4 100644 --- a/lambdas/redis_sync/tests/test_transform_map.py +++ b/lambdas/redis_sync/tests/test_transform_map.py @@ -14,7 +14,6 @@ def setUp(self): return_value={"result": "supplier"}, ).start() self.mock_vaccine_map = patch("transform_map.transform_vaccine_map", return_value={"result": "vaccine"}).start() - self.mock_validation_rules = patch("transform_map.transform_validation_rules").start() def tearDown(self): patch.stopall() @@ -31,7 +30,6 @@ def test_permissions_config_file_key_calls_supplier_permissions(self): def test_disease_mapping_file_key_calls_vaccine_map(self): data = {"other": "data"} - self.mock_validation_rules.return_value = {"validation_rules": data} result = transform_map(data, RedisCacheKey.DISEASE_MAPPING_FILE_KEY) self.mock_vaccine_map.assert_called_once_with(data) self.assertEqual(result, {"result": "vaccine"}) @@ -39,14 +37,3 @@ def test_disease_mapping_file_key_calls_vaccine_map(self): "Transforming data for file type: %s", RedisCacheKey.DISEASE_MAPPING_FILE_KEY, ) - - def test_validation_rules_file_key_calls_validation_rules(self): - data = {"validation": "schema"} - self.mock_validation_rules.return_value = {"validation_rules": data} - result = transform_map(data, RedisCacheKey.VALIDATION_RULES_FILE_KEY) - self.mock_validation_rules.assert_called_once_with(data) - self.assertEqual(result, {"validation_rules": data}) - self.mock_logger_info.assert_any_call( - "Transforming data for file type: %s", - RedisCacheKey.VALIDATION_RULES_FILE_KEY, - )