@@ -65,6 +65,8 @@ def test_validate_file_key(self, mock_hkeys, mock_hget):
6565 (VALID_FLU_EMIS_FILE_KEY .upper (), "YGM41" , ("FLU" , "EMIS" )),
6666 # Valid RSV/ RAVS file key
6767 (VALID_RSV_RAVS_FILE_KEY , "X8E5B" , ("RSV" , "RAVS" )),
68+ # VED-763 - Some suppliers may include ODS code at end of file for uniqueness
69+ ("RSV_Vaccinations_v5_X8E5B_20000101T00000001_ODS123.csv" , "X8E5B" , ("RSV" , "RAVS" )),
6870 ]
6971
7072 for file_key , ods_code , expected_result in test_cases_for_success_scenarios :
@@ -75,19 +77,20 @@ def test_validate_file_key(self, mock_hkeys, mock_hget):
7577
7678 key_format_error_message = "Initial file validation failed: invalid file key format"
7779 invalid_file_key_error_message = "Initial file validation failed: invalid file key"
80+ missing_file_extension_error_message = "Initial file validation failed: missing file extension"
7881 test_cases_for_failure_scenarios = [
7982 # File key with no '.'
80- (VALID_FLU_EMIS_FILE_KEY .replace ("." , "" ), key_format_error_message ),
83+ (VALID_FLU_EMIS_FILE_KEY .replace ("." , "" ), missing_file_extension_error_message ),
8184 # File key with additional '.'
8285 (VALID_FLU_EMIS_FILE_KEY [:2 ] + "." + VALID_FLU_EMIS_FILE_KEY [2 :], key_format_error_message ),
8386 # File key with additional '_'
84- (VALID_FLU_EMIS_FILE_KEY [:2 ] + "_" + VALID_FLU_EMIS_FILE_KEY [2 :], key_format_error_message ),
87+ (VALID_FLU_EMIS_FILE_KEY [:2 ] + "_" + VALID_FLU_EMIS_FILE_KEY [2 :], invalid_file_key_error_message ),
8588 # File key with missing '_'
8689 (VALID_FLU_EMIS_FILE_KEY .replace ("_" , "" , 1 ), key_format_error_message ),
8790 # File key with missing '_'
8891 (VALID_FLU_EMIS_FILE_KEY .replace ("_" , "" ), key_format_error_message ),
8992 # File key with missing extension
90- (VALID_FLU_EMIS_FILE_KEY .replace (".csv" , "" ), key_format_error_message ),
93+ (VALID_FLU_EMIS_FILE_KEY .replace (".csv" , "" ), missing_file_extension_error_message ),
9194 # File key with invalid vaccine type
9295 (VALID_FLU_EMIS_FILE_KEY .replace ("FLU" , "Flue" ), invalid_file_key_error_message ),
9396 # File key with missing vaccine type
@@ -110,6 +113,8 @@ def test_validate_file_key(self, mock_hkeys, mock_hget):
110113 (VALID_FLU_EMIS_FILE_KEY .replace ("20000101T00000001" , "" ), invalid_file_key_error_message ),
111114 # File key with incorrect extension
112115 (VALID_FLU_EMIS_FILE_KEY .replace (".csv" , ".xlsx" ), invalid_file_key_error_message ),
116+ # File key with ODS code but missing _ in the initial part of file key
117+ ("MMR_Vaccinations_v5_DPSFULL20250910T11225000_test.csv" , invalid_file_key_error_message )
113118 ]
114119
115120 for file_key , expected_result in test_cases_for_failure_scenarios :
0 commit comments