Skip to content

Commit 5134e22

Browse files
committed
test record processor updates
1 parent c79458f commit 5134e22

File tree

1 file changed

+42
-10
lines changed

1 file changed

+42
-10
lines changed

recordprocessor/tests/test_audit_table.py

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
with patch.dict("os.environ", MOCK_ENVIRONMENT_DICT):
1919
from constants import (
2020
AUDIT_TABLE_NAME,
21-
AUDIT_TABLE_FILENAME_GSI,
22-
AUDIT_TABLE_QUEUE_NAME_GSI,
2321
AuditTableKeys,
2422
FileStatus,
2523
)
@@ -49,6 +47,7 @@ def tearDown(self):
4947
@staticmethod
5048
def get_table_items() -> list:
5149
"""Return all items in the audit table"""
50+
5251
return dynamodb_client.scan(TableName=AUDIT_TABLE_NAME).get("Items", [])
5352

5453
def test_get_next_queued_file_details(self):
@@ -66,14 +65,47 @@ def test_get_next_queued_file_details(self):
6665
add_entry_to_table(MockFileDetails.ravs_rsv_1, FileStatus.PROCESSED) # same queue but already processed
6766
self.assertIsNone(get_next_queued_file_details(queue_to_check))
6867

69-
# TODO - finish test
7068
# Test case 3: one queued file in the ravs_rsv queue
71-
# add_entry_to_table(MockFileDetails.ravs_rsv_2, file_status=FileStatus.QUEUED)
72-
# expected_table_entry = {**MockFileDetails.ravs_rsv_2.audit_table_entry, "status": {"S": FileStatus.QUEUED}}
73-
# self.assertEqual(get_next_queued_file_details(queue_to_check), deserialize_dynamodb_types(expected_table_entry))
69+
add_entry_to_table(MockFileDetails.ravs_rsv_2, file_status=FileStatus.QUEUED)
70+
expected_table_entry = {**MockFileDetails.ravs_rsv_2.audit_table_entry, "status": {"S": FileStatus.QUEUED}}
71+
self.assertEqual(get_next_queued_file_details(queue_to_check), deserialize_dynamodb_types(expected_table_entry))
7472

7573
# # Test case 4: multiple queued files in the RAVS_RSV queue
76-
# # Note that ravs_rsv files 3 and 4 have later timestamps than file 2, so file 2 remains the first in the queue
77-
# add_entry_to_table(MockFileDetails.ravs_rsv_3, file_status=FileStatus.QUEUED)
78-
# add_entry_to_table(MockFileDetails.ravs_rsv_4, file_status=FileStatus.QUEUED)
79-
# self.assertEqual(get_next_queued_file_details(queue_to_check), deserialize_dynamodb_types(expected_table_entry))
74+
# Note that ravs_rsv files 3 and 4 have later timestamps than file 2, so file 2 remains the first in the queue
75+
add_entry_to_table(MockFileDetails.ravs_rsv_3, file_status=FileStatus.QUEUED)
76+
add_entry_to_table(MockFileDetails.ravs_rsv_4, file_status=FileStatus.QUEUED)
77+
self.assertEqual(get_next_queued_file_details(queue_to_check), deserialize_dynamodb_types(expected_table_entry))
78+
79+
def test_change_audit_table_status_to_processed(self):
80+
# Checks audit table is updated correctly
81+
queue_to_check = "RAVS_RSV"
82+
83+
add_entry_to_table(MockFileDetails.rsv_ravs, file_status=FileStatus.QUEUED)
84+
table_items = dynamodb_client.scan(TableName=AUDIT_TABLE_NAME).get("Items", [])
85+
# print(f"started off queued:{table_items}")
86+
87+
expected_table_entry = {**MockFileDetails.rsv_ravs.audit_table_entry, "status": {"S": FileStatus.PROCESSED}}
88+
file_key = "RSV_Vaccinations_v5_X26_20210730T12000000.csv"
89+
message_id = "rsv_ravs_test_id_1"
90+
# print(f"file_key_checker: {file_key}")
91+
# print(f"message_id: {message_id}")
92+
result = change_audit_table_status_to_processed(file_key, message_id)
93+
print(result)
94+
table_items = dynamodb_client.scan(TableName=AUDIT_TABLE_NAME).get("Items", [])
95+
# print(f"change to processed :{table_items}")
96+
97+
Actual_result = [
98+
{
99+
"message_id": {"S": "rsv_ravs_test_id_1"},
100+
"filename": {"S": "RSV_Vaccinations_v5_X26_20210730T12000000.csv"},
101+
"queue_name": {"S": "RAVS_RSV"},
102+
"timestamp": {"S": "20211120T12000000"},
103+
"status": {"S": "Processed"},
104+
}
105+
]
106+
Actual_logger = "The status of RSV_Vaccinations_v5_X26_20210730T12000000.csv file, with message id rsv_ravs_test_id_1, was successfully updated to Processed in the audit table"
107+
# self.assertEqual(result, deserialize_dynamodb_types(expected_table_entry))
108+
109+
# Check items in the dynamo table
110+
# table_items = dynamodb_client.scan(TableName=AUDIT_TABLE_NAME).get("Items", [])
111+
# print(f"table items 4 :{table_items}")

0 commit comments

Comments
 (0)