@@ -89,20 +89,36 @@ def test_validate_invalid_file_with_errors(self, mock_download_file, mock_clean_
8989 """Test the validate method for a invalid file."""
9090 mock_download_file .return_value = f'{ SAVED_FILE_PATH } /{ FAILURE_FILE_NAME } '
9191 error_in_file = 'wa.microsoft.graph.edges.OSW.geojson'
92- feature_indexes = [3 , 6 , 8 , 25 ]
93- error_message = "Additional properties are not allowed ('crossing' was unexpected)"
92+ expected_errors = [
93+ {
94+ 'feature_index' : 3 ,
95+ 'error_message' : '"highway" is a required property'
96+ },
97+ {
98+ 'feature_index' : 6 ,
99+ 'error_message' : '"highway" is a required property'
100+ },
101+ {
102+ 'feature_index' : 8 ,
103+ 'error_message' : '"highway" is a required property'
104+ },
105+ {
106+ 'feature_index' : 25 ,
107+ 'error_message' : "Additional properties are not allowed ('crossing' was unexpected)"
108+ }
109+ ]
94110 # Act
95111 result = self .validation .validate (max_errors = 10 )
96112
97113 # Assert that validation is marked as valid
98114 self .assertFalse (result .is_valid )
99115 errors = json .loads (result .validation_message )
100- count = 0
101- for error in errors :
116+ self .assertEqual (len (errors ), len (expected_errors ))
117+
118+ for expected , error in zip (expected_errors , errors ):
102119 self .assertEqual (error ['filename' ], error_in_file )
103- self .assertEqual (error ['error_message' ][0 ], error_message )
104- self .assertEqual (error ['feature_index' ], feature_indexes [count ])
105- count += 1
120+ self .assertEqual (error ['feature_index' ], expected ['feature_index' ])
121+ self .assertEqual (error ['error_message' ][0 ], expected ['error_message' ])
106122 # Ensure clean_up is called twice (once for the file, once for the folder)
107123 self .assertEqual (mock_clean_up .call_count , 2 )
108124
0 commit comments