mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-02 09:26:08 -05:00
Format metadata correctly and use MetadataDirective to put new metadata in S3 object
This commit is contained in:
@@ -132,9 +132,10 @@ def move_scan_to_invalid_pdf_bucket(source_filename, message=None, invalid_pages
|
|||||||
if message:
|
if message:
|
||||||
metadata["validation_failed_message"] = message
|
metadata["validation_failed_message"] = message
|
||||||
if invalid_pages:
|
if invalid_pages:
|
||||||
metadata["invalid_pages"] = [str(p) for p in invalid_pages]
|
metadata["invalid_pages"] = "-".join(map(str, invalid_pages))
|
||||||
if page_count:
|
if page_count:
|
||||||
metadata["page_count"] = str(page_count)
|
metadata["page_count"] = str(page_count)
|
||||||
|
|
||||||
_move_s3_object(
|
_move_s3_object(
|
||||||
source_bucket=current_app.config['LETTERS_SCAN_BUCKET_NAME'],
|
source_bucket=current_app.config['LETTERS_SCAN_BUCKET_NAME'],
|
||||||
source_filename=source_filename,
|
source_filename=source_filename,
|
||||||
@@ -187,7 +188,8 @@ def _move_s3_object(source_bucket, source_filename, target_bucket, target_filena
|
|||||||
# in the destination bucket the expiration time will be reset to 7 days left to expire
|
# in the destination bucket the expiration time will be reset to 7 days left to expire
|
||||||
put_args = {'ServerSideEncryption': 'AES256'}
|
put_args = {'ServerSideEncryption': 'AES256'}
|
||||||
if metadata:
|
if metadata:
|
||||||
metadata = put_args['Metadata'] = metadata
|
put_args['Metadata'] = metadata
|
||||||
|
put_args["MetadataDirective"] = "REPLACE"
|
||||||
obj.copy(copy_source, ExtraArgs=put_args)
|
obj.copy(copy_source, ExtraArgs=put_args)
|
||||||
|
|
||||||
s3.Object(source_bucket, source_filename).delete()
|
s3.Object(source_bucket, source_filename).delete()
|
||||||
|
|||||||
@@ -482,7 +482,7 @@ def test_process_letter_task_check_virus_scan_passed_when_sanitise_fails(
|
|||||||
"file": base64.b64encode(b"nyan").decode("utf-8"),
|
"file": base64.b64encode(b"nyan").decode("utf-8"),
|
||||||
"validation_passed": False,
|
"validation_passed": False,
|
||||||
"message": "content-outside-printable-area",
|
"message": "content-outside-printable-area",
|
||||||
"invalid_pages": [1],
|
"invalid_pages": [1, 2],
|
||||||
"page_count": 1
|
"page_count": 1
|
||||||
}
|
}
|
||||||
mock_sanitise = mocker.patch(
|
mock_sanitise = mocker.patch(
|
||||||
@@ -503,7 +503,7 @@ def test_process_letter_task_check_virus_scan_passed_when_sanitise_fails(
|
|||||||
source_bucket=source_bucket_name, source_filename=filename,
|
source_bucket=source_bucket_name, source_filename=filename,
|
||||||
target_bucket=target_bucket_name, target_filename=filename, metadata={
|
target_bucket=target_bucket_name, target_filename=filename, metadata={
|
||||||
"validation_failed_message": "content-outside-printable-area",
|
"validation_failed_message": "content-outside-printable-area",
|
||||||
"invalid_pages": ["1"],
|
"invalid_pages": "1-2",
|
||||||
"page_count": "1"
|
"page_count": "1"
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user