You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[ ]**Duplicate Detection:** Identifying and handling duplicate repositories
24
24
-[ ]**Conflicting Configurations:** When the same repository is defined differently in multiple files
25
-
-[]**Relative Paths:** Config files using relative paths that need resolution
26
-
-[]**Custom Config Locations:** Loading from non-standard locations
25
+
-[x]**Relative Paths:** Config files using relative paths that need resolution*(tests/test_config.py: test_relative_dir)*
26
+
-[x]**Custom Config Locations:** Loading from non-standard locations*(tests/test_config_file.py: test_find_config_match_string, test_find_config_match_list)*
27
27
28
28
#### Edge Cases:
29
29
-[ ]**Empty Configuration Files:** Files with empty content or only comments
30
30
-[ ]**Malformed YAML/JSON:** Syntax errors in configuration files
31
31
-[ ]**Circular Path References:** Directory structures with circular references
32
32
-[ ]**Very Large Configurations:** Performance with hundreds of repositories
33
33
-[ ]**Case Sensitivity Issues:** Path case differences between config and filesystem
34
-
-[ ]**Unicode and Special Characters:** In repository names, paths, and URLs
34
+
-[ ]**Unicode and Special Characters:** In repository names, paths, and URLs*(tests/test_validator.py: test_validate_path_with_special_characters - partially covered)*
35
35
-[ ]**Inaccessible Paths:** Referenced paths that exist but are not accessible
36
36
-[ ]**Path Traversal Attempts:** Paths attempting to use "../" to escape sandboxed areas
37
-
-[]**Missing Config Files:** Behavior when specified config files don't exist
38
-
-[]**Mixed VCS Types:** Configurations mixing git, hg, and svn repositories
-[]**Deeply Nested Errors:** Validation errors in deeply nested structures
60
+
-[x]**Deeply Nested Errors:** Validation errors in deeply nested structures*(tests/test_validator.py: test_validate_config_nested_validation_errors)*
61
61
-[ ]**Custom Protocol Handling:** git+ssh://, git+https://, etc.
62
62
-[ ]**Invalid Characters:** Non-printable or control characters in fields
63
63
-[ ]**Very Long Field Values:** Fields with extremely long values
64
64
-[ ]**Mixed Case VCS Types:** "Git" vs "git" vs "GIT"
65
65
-[ ]**Conflicting Validation Rules:** When multiple validation rules conflict
66
-
-[]**Empty vs. Missing Fields:** Distinction between empty and missing fields
66
+
-[x]**Empty vs. Missing Fields:** Distinction between empty and missing fields*(tests/test_validator.py: test_validate_repo_config_missing_keys, test_validate_repo_config_empty_values)*
67
67
-[ ]**Type Coercion Issues:** When field values are of unexpected types
68
68
-[ ]**Invalid URL Formats by VCS Type:** URLs that are valid in general but invalid for specific VCS
-[]**Environment Variable Expansion:** In various contexts
141
+
-[x]**Environment Variable Expansion:** In various contexts*(tests/test_utils.py: test_vcspull_configdir_env_var, test_vcspull_configdir_xdg_config_dir)*
142
142
143
143
#### Edge Cases:
144
144
-[ ]**Path Edge Cases:** Unicode, very long paths, special characters
@@ -154,21 +154,21 @@ This document provides a comprehensive checklist of test coverage for the VCSPul
154
154
As part of the transition to Pydantic models, these specific areas need thorough testing:
155
155
156
156
### Common Cases:
157
-
-[]**Model Creation:** Creating models from valid data
158
-
-[]**Model Validation:** Basic validation of required fields
157
+
-[x]**Model Creation:** Creating models from valid data*(tests/test_validator.py: test_validate_config_with_valid_config)*
158
+
-[x]**Model Validation:** Basic validation of required fields*(tests/test_validator.py: test_validate_repo_config_missing_keys)*
159
159
-[ ]**Model Serialization:** Converting models to dictionaries
160
160
-[ ]**Field Type Coercion:** Automatic type conversion for compatible types
161
161
162
162
### Uncommon Cases:
163
163
-[ ]**Model Inheritance:** Behavior of model inheritance
164
164
-[ ]**Custom Validators:** Advanced field validators
165
165
-[ ]**Model Composition:** Models containing other models
166
-
-[]**Validation Error Handling:** Managing and reporting validation errors
166
+
-[x]**Validation Error Handling:** Managing and reporting validation errors*(tests/test_validator.py: test_format_pydantic_errors)*
167
167
168
168
### Edge Cases:
169
169
-[ ]**Conversion Between Raw and Validated Models:** Edge cases in model conversion
170
170
-[ ]**Circular References:** Handling models with circular references
171
-
-[]**Optional vs. Required Fields:** Behavior with different field requirements
171
+
-[x]**Optional vs. Required Fields:** Behavior with different field requirements*(tests/test_validator.py: test_validate_repo_config_missing_keys)*
172
172
-[ ]**Default Values:** Complex default value scenarios
0 commit comments