MCPcopy
hub / github.com/spf13/viper / TestGetConfigFile

Function TestGetConfigFile

viper_test.go:174–356  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

172}
173
174func TestGetConfigFile(t *testing.T) {
175 t.Run("config file set", func(t *testing.T) {
176 fs := afero.NewMemMapFs()
177
178 err := fs.Mkdir(testutil.AbsFilePath(t, "/etc/viper"), 0o777)
179 require.NoError(t, err)
180
181 _, err = fs.Create(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))
182 require.NoError(t, err)
183
184 v := New()
185
186 v.SetFs(fs)
187 v.AddConfigPath("/etc/viper")
188 v.SetConfigFile(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))
189
190 filename, err := v.getConfigFile()
191 assert.Equal(t, testutil.AbsFilePath(t, "/etc/viper/config.yaml"), filename)
192 assert.NoError(t, err)
193 })
194
195 t.Run("find file", func(t *testing.T) {
196 fs := afero.NewMemMapFs()
197
198 err := fs.Mkdir(testutil.AbsFilePath(t, "/etc/viper"), 0o777)
199 require.NoError(t, err)
200
201 _, err = fs.Create(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))
202 require.NoError(t, err)
203
204 v := New()
205
206 v.SetFs(fs)
207 v.AddConfigPath("/etc/viper")
208
209 filename, err := v.getConfigFile()
210 assert.Equal(t, testutil.AbsFilePath(t, "/etc/viper/config.yaml"), filename)
211 assert.NoError(t, err)
212 })
213
214 t.Run("find files only", func(t *testing.T) {
215 fs := afero.NewMemMapFs()
216
217 err := fs.Mkdir(testutil.AbsFilePath(t, "/etc/config"), 0o777)
218 require.NoError(t, err)
219
220 _, err = fs.Create(testutil.AbsFilePath(t, "/etc/config/config.yaml"))
221 require.NoError(t, err)
222
223 v := New()
224
225 v.SetFs(fs)
226 v.AddConfigPath("/etc")
227 v.AddConfigPath("/etc/config")
228
229 filename, err := v.getConfigFile()
230 assert.Equal(t, testutil.AbsFilePath(t, "/etc/config/config.yaml"), filename)
231 assert.NoError(t, err)

Callers

nothing calls this directly

Calls 12

AbsFilePathFunction · 0.92
NewFunction · 0.85
NewWithOptionsFunction · 0.85
ExperimentalFinderFunction · 0.85
WithFinderFunction · 0.85
SetFsMethod · 0.80
AddConfigPathMethod · 0.80
SetConfigFileMethod · 0.80
getConfigFileMethod · 0.80
SetConfigNameMethod · 0.80
SetConfigTypeMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected