Skip to content

Commit eb49306

Browse files
Merge pull request #15 from agile-learning-institute/load-and-validation-error-standarization
fix: standardize error handling and fix test expectations
2 parents 9432945 + 734134e commit eb49306

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

stage0_mongodb_api/managers/config_manager.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ def _load_collection_configs(self) -> None:
4949
self.load_errors.append({
5050
"error": "directory_not_found",
5151
"error_id": "CFG-001",
52-
"path": collections_folder
52+
"path": collections_folder,
53+
"message": f"Collections directory not found: {collections_folder}"
5354
})
5455
return
5556

@@ -150,6 +151,11 @@ def validate_configs(self) -> List[Dict]:
150151
})
151152
continue
152153

154+
# Add schema validation errors if schema manager is available
155+
if hasattr(self, "schema_manager") and self.schema_manager:
156+
schema_errors = self.schema_manager.validate_schema()
157+
errors.extend(schema_errors)
158+
153159
return errors
154160

155161
def get_collection_config(self, collection_name: str) -> Optional[Dict]:

tests/managers/test_schema_validation.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,15 @@ def test_validation_errors(self, mock_get_instance):
122122
missing_config_error_ids = expected_config_error_ids - actual_config_error_ids
123123
extra_config_error_ids = actual_config_error_ids - expected_config_error_ids
124124
self.assertEqual(missing_config_error_ids, set())
125-
self.assertEqual(extra_config_error_ids, set())
125+
126+
# Config validation now includes schema validation errors, so we expect both
127+
# Check that config errors are present
128+
self.assertTrue(expected_config_error_ids.issubset(actual_config_error_ids))
129+
130+
# Check that schema validation errors are also included
131+
schema_error_ids_in_config = {error.get('error_id') for error in config_errors
132+
if 'error_id' in error and error.get('error_id', '').startswith('VLD-')}
133+
self.assertTrue(len(schema_error_ids_in_config) > 0, "Schema validation errors should be included in config validation")
126134

127135
if __name__ == '__main__':
128136
unittest.main()

0 commit comments

Comments
 (0)