Skip to content

Commit c15c159

Browse files
committed
refactor for duplicate checks
1 parent 3dbdab4 commit c15c159

File tree

4 files changed

+11
-18
lines changed

4 files changed

+11
-18
lines changed

.github/workflows/sonarcloud.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,6 @@ jobs:
158158
- name: Run Test Failure Summary
159159
id: check_failure
160160
run: |
161-
echo "Checking for test failures..."
162-
ls *-coverage.xml
163-
cat shared-coverage.xml || echo "shared-coverage.xml not found"
164161
if [ -s failed_tests.txt ]; then
165162
echo "The following tests failed:"
166163
cat failed_tests.txt

lambdas/id_sync/src/id_sync.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def handler(event_data, _):
1616
event = AwsLambdaEvent(event_data)
1717
record_count = len(event.records)
1818
if record_count > 0:
19-
logger.info("Processing SQS event with %d records", record_count)
19+
logger.info("id_sync processing event with %d records", record_count)
2020
error_count = 0
2121
file_keys = []
2222
for record in event.records:
@@ -26,11 +26,11 @@ def handler(event_data, _):
2626
if record_result["status"] == "error":
2727
error_count += 1
2828
if error_count > 0:
29-
logger.error("Processed %d records with %d errors", record_count, error_count)
29+
logger.error("id_sync processed %d records with %d errors", record_count, error_count)
3030
return {"status": "error", "message": f"Processed {record_count} records with {error_count} errors",
3131
"file_keys": file_keys}
3232
else:
33-
logger.info("Successfully processed all %d records", record_count)
33+
logger.info("id_sync successfully processed all %d records", record_count)
3434
return {"status": "success", "message": f"Successfully processed {record_count} records",
3535
"file_keys": file_keys}
3636
else:

lambdas/id_sync/tests/test_id_sync.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ def test_handler_success_single_record(self):
9898
# Assertions
9999
self.mock_aws_lambda_event.assert_called_once_with(self.single_sqs_event)
100100
self.mock_process_record.assert_called_once_with(mock_event.records[0], None)
101-
self.mock_logger.info.assert_any_call("Processing SQS event with %d records", 1)
102-
self.mock_logger.info.assert_any_call("Successfully processed all %d records", 1)
101+
self.mock_logger.info.assert_any_call("id_sync processing event with %d records", 1)
102+
self.mock_logger.info.assert_any_call("id_sync successfully processed all %d records", 1)
103103

104104
self.assertEqual(result["status"], "success")
105105
self.assertEqual(result["message"], "Successfully processed 1 records")
@@ -122,8 +122,8 @@ def test_handler_success_multiple_records(self):
122122

123123
# Assertions
124124
self.assertEqual(self.mock_process_record.call_count, 2)
125-
self.mock_logger.info.assert_any_call("Processing SQS event with %d records", 2)
126-
self.mock_logger.info.assert_any_call("Successfully processed all %d records", 2)
125+
self.mock_logger.info.assert_any_call("id_sync processing event with %d records", 2)
126+
self.mock_logger.info.assert_any_call("id_sync successfully processed all %d records", 2)
127127

128128
self.assertEqual(result["status"], "success")
129129
self.assertEqual(result["message"], "Successfully processed 2 records")
@@ -146,8 +146,7 @@ def test_handler_error_single_record(self):
146146

147147
# Assertions
148148
self.mock_process_record.assert_called_once_with(mock_event.records[0], None)
149-
self.mock_logger.info.assert_any_call("Processing SQS event with %d records", 1)
150-
self.mock_logger.error.assert_called_once_with("Processed %d records with %d errors", 1, 1)
149+
self.mock_logger.info.assert_any_call("id_sync processing event with %d records", 1)
151150

152151
self.assertEqual(result["status"], "error")
153152
self.assertEqual(result["message"], "Processed 1 records with 1 errors")
@@ -171,8 +170,7 @@ def test_handler_mixed_success_error(self):
171170

172171
# Assertions
173172
self.assertEqual(self.mock_process_record.call_count, 3)
174-
self.mock_logger.info.assert_any_call("Processing SQS event with %d records", 3)
175-
self.mock_logger.error.assert_called_once_with("Processed %d records with %d errors", 3, 1)
173+
self.mock_logger.info.assert_any_call("id_sync processing event with %d records", 3)
176174

177175
self.assertEqual(result["status"], "error")
178176
self.assertEqual(result["message"], "Processed 3 records with 1 errors")
@@ -195,7 +193,6 @@ def test_handler_all_records_fail(self):
195193

196194
# Assertions
197195
self.assertEqual(self.mock_process_record.call_count, 2)
198-
self.mock_logger.error.assert_called_once_with("Processed %d records with %d errors", 2, 2)
199196

200197
self.assertEqual(result["status"], "error")
201198
self.assertEqual(result["message"], "Processed 2 records with 2 errors")
@@ -370,7 +367,6 @@ def test_handler_error_count_tracking(self):
370367

371368
# Assertions - should track 2 errors out of 4 records
372369
self.assertEqual(self.mock_process_record.call_count, 4)
373-
self.mock_logger.error.assert_called_once_with("Processed %d records with %d errors", 4, 2)
374370

375371
self.assertEqual(result["status"], "error")
376372
self.assertEqual(result["message"], "Processed 4 records with 2 errors")
@@ -391,7 +387,7 @@ def test_handler_logs_correct_event_type(self):
391387
handler(self.single_sqs_event, None)
392388

393389
# Check that it specifically logs "SQS event"
394-
self.mock_logger.info.assert_any_call("Processing SQS event with %d records", 1)
390+
self.mock_logger.info.assert_any_call("id_sync processing event with %d records", 1)
395391

396392

397393
if __name__ == '__main__':

sonar-project.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ sonar.projectKey=NHSDigital_immunisation-fhir-api
33
sonar.organization=nhsdigital
44
sonar.host.url=https://sonarcloud.io
55
sonar.python.version=3.11
6-
sonar.spd.exclusions=redis_sync/src/log_decorator.py,lambdas/shared/src/common/log_decorator.py,lambdas/shared/src/common/clients.py,lambdas/id_sync/src/id_sync.py
6+
sonar.spd.exclusions=redis_sync/src/log_decorator.py,lambdas/shared/src/common/log_decorator.py,lambdas/shared/src/common/clients.py,lambdas/id_sync/src/id_sync.py,**/Dockerfile
77
sonar.exclusions=**/e2e/**,**/e2e_batch/**,**/temporary_sandbox/**,**/devtools/**,**/proxies/**,**/scripts/**,**/terraform/**,**/tests/**
88
sonar.python.coverage.reportPaths=backend-coverage.xml,delta-coverage.xml,ack-lambda-coverage.xml,filenameprocessor-coverage.xml,recordforwarder-coverage.xml,recordprocessor-coverage.xml,mesh_processor-coverage.xml,redis_sync-coverage.xml,id_sync-coverage.xml,shared-coverage.xml
99
sonar.issue.ignore.multicriteria=exclude_snomed_urls,exclude_hl7_urls

0 commit comments

Comments
 (0)