Skip to content

Commit 9a00d06

Browse files
Add edge case tests for file extension validation
Added test cases for edge scenarios: - Files with multiple dots (my.config.yaml, config.backup.txt) - Hidden files with extensions (.config.yaml, .config.txt) - Files with only dot and extension (.yaml, .yml) Total test cases increased from 10 to 19, improving coverage for various filename patterns that users might encounter. Co-authored-by: dlevy-msft-sql <[email protected]>
1 parent 9ae247f commit 9a00d06

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

internal/config/viper_test.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,51 @@ func Test_validateConfigFileExtension(t *testing.T) {
7070
filename: "config.Yaml",
7171
wantErr: false,
7272
},
73+
{
74+
name: "multiple dots with valid extension",
75+
filename: "my.config.yaml",
76+
wantErr: false,
77+
},
78+
{
79+
name: "multiple dots with invalid extension",
80+
filename: "my.config.txt",
81+
wantErr: true,
82+
},
83+
{
84+
name: "backup file with valid extension",
85+
filename: "config.backup.yaml",
86+
wantErr: false,
87+
},
88+
{
89+
name: "backup file with invalid extension",
90+
filename: "config.backup.txt",
91+
wantErr: true,
92+
},
93+
{
94+
name: "hidden file with yaml extension",
95+
filename: ".config.yaml",
96+
wantErr: false,
97+
},
98+
{
99+
name: "hidden file with yml extension",
100+
filename: ".config.yml",
101+
wantErr: false,
102+
},
103+
{
104+
name: "hidden file with invalid extension",
105+
filename: ".config.txt",
106+
wantErr: true,
107+
},
108+
{
109+
name: "file with only dot and yaml",
110+
filename: ".yaml",
111+
wantErr: false,
112+
},
113+
{
114+
name: "file with only dot and yml",
115+
filename: ".yml",
116+
wantErr: false,
117+
},
73118
}
74119

75120
for _, tt := range tests {

0 commit comments

Comments
 (0)