Skip to content

Commit c71ce42

Browse files
[PRMP-540] - Fix unit test post-merge conflicts
1 parent ca40e80 commit c71ce42

File tree

3 files changed

+21
-24
lines changed

3 files changed

+21
-24
lines changed

lambdas/services/bulk_upload_metadata_processor_service.py

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ def validate_expedite_file(self, s3_object_key: str):
248248
return nhs_number, file_name, ods_code, scan_date
249249

250250
def handle_expedite_event(self, event):
251-
"""Process S3 EventBridge expedite uploads: ensure 1of1, extract identifiers, and send metadata to SQS."""
251+
"""Process S3 EventBridge expedite uploads: enforce virus scan, ensure 1of1, extract identifiers, and send metadata to SQS."""
252252
try:
253253
unparsed_s3_object_key = event["detail"]["object"]["key"]
254254
s3_object_key = urllib.parse.unquote_plus(
@@ -258,6 +258,9 @@ def handle_expedite_event(self, event):
258258
if s3_object_key.startswith("expedite/"):
259259
logger.info("Processing file from expedite folder")
260260

261+
self.enforce_virus_scanner(s3_object_key)
262+
self.check_file_status(s3_object_key)
263+
261264
sqs_metadata = [self.create_expedite_sqs_metadata(s3_object_key)]
262265

263266
self.send_metadata_to_fifo_sqs(sqs_metadata)
@@ -339,7 +342,7 @@ def enforce_virus_scanner(self, file_key: str):
339342

340343
try:
341344
result = self.s3_repo.check_file_tag_status_on_staging_bucket(file_key)
342-
if(result != ""):
345+
if result != "":
343346
logger.info("The file has been scanned before")
344347
return
345348
logger.info(f"Virus scan tag missing for {file_key}.")
@@ -355,27 +358,6 @@ def enforce_virus_scanner(self, file_key: str):
355358
else:
356359
raise
357360

358-
def handle_expedite_event(self, event):
359-
try:
360-
key_string = event["detail"]["object"]["key"]
361-
key = urllib.parse.unquote_plus(key_string, encoding="utf-8")
362-
363-
if key.startswith("expedite/"):
364-
logger.info("Processing file from expedite folder")
365-
366-
self.enforce_virus_scanner(key)
367-
self.check_file_status(key)
368-
369-
return # To be added upon by ticket PRMP-540
370-
else:
371-
failure_msg = f"Unexpected directory or file location received from EventBridge: {key_string}"
372-
logger.error(failure_msg)
373-
raise BulkUploadMetadataException(failure_msg)
374-
except KeyError as e:
375-
failure_msg = f"Failed due to missing key: {str(e)}"
376-
logger.error(failure_msg)
377-
raise BulkUploadMetadataException(failure_msg)
378-
379361

380362
def get_formatter_service(raw_pre_format_type):
381363
try:

lambdas/tests/unit/handlers/test_bulk_upload_metadata_processor_handler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def test_metadata_processor_lambda_handler_s3_event_uses_general_by_default(
7373

7474
mock_metadata_service.process_metadata.assert_not_called()
7575
mock_metadata_service.handle_expedite_event.assert_called_once_with(event)
76-
mocked_general_cls.assert_called_once_with("expedite")
76+
mocked_general_cls.assert_called_once_with("")
7777

7878

7979
def test_s3_event_with_expedite_key_processes(

lambdas/tests/unit/services/test_bulk_upload_metadata_processor_service.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,12 @@ def test_handle_expedite_event_happy_path_sends_sqs(test_service, mocker):
638638
key = f"expedite/{ods}/1of1_1234567890_record.pdf"
639639
event = {"detail": {"object": {"key": key}}}
640640

641+
mocker.patch.object(
642+
BulkUploadMetadataProcessorService, "enforce_virus_scanner"
643+
)
644+
mocker.patch.object(
645+
BulkUploadMetadataProcessorService, "check_file_status"
646+
)
641647
mocked_send = mocker.patch.object(
642648
BulkUploadMetadataProcessorService, "send_metadata_to_fifo_sqs"
643649
)
@@ -686,6 +692,12 @@ def test_handle_expedite_event_missing_key_raises(test_service, mocker):
686692

687693

688694
def test_handle_expedite_event_rejects_non_1of1(test_service, mocker):
695+
mocker.patch.object(
696+
BulkUploadMetadataProcessorService, "enforce_virus_scanner"
697+
)
698+
mocker.patch.object(
699+
BulkUploadMetadataProcessorService, "check_file_status"
700+
)
689701
mocked_send = mocker.patch.object(
690702
BulkUploadMetadataProcessorService, "send_metadata_to_fifo_sqs"
691703
)
@@ -972,6 +984,9 @@ def test_handle_expedite_event_calls_enforce_for_expedite_key(mocker, test_servi
972984
encoded_key = urllib.parse.quote_plus("expedite/folder/some file.pdf")
973985
event = {"detail": {"object": {"key": encoded_key}}}
974986

987+
mocker.patch.object(
988+
BulkUploadMetadataProcessorService, "create_expedite_sqs_metadata"
989+
)
975990
mocked_enforce = mocker.patch.object(test_service, "enforce_virus_scanner")
976991
mocked_check_status = mocker.patch.object(test_service, "check_file_status")
977992

0 commit comments

Comments
 (0)