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

Function TestReadInConfig

viper_test.go:358–467  ·  viper_test.go::TestReadInConfig
(t *testing.T)

Source from the content-addressed store, hash-verified

356}
357
358func TestReadInConfig(t *testing.T) {
359 t.Run("config file set", func(t *testing.T) {
360 fs := afero.NewMemMapFs()
361
362 err := fs.Mkdir("/etc/viper", 0o777)
363 require.NoError(t, err)
364
365 file, err := fs.Create(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))
366 require.NoError(t, err)
367
368 _, err = file.WriteString(`key: value`)
369 require.NoError(t, err)
370
371 file.Close()
372
373 v := New()
374
375 v.SetFs(fs)
376 v.SetConfigFile(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))
377
378 err = v.ReadInConfig()
379 require.NoError(t, err)
380
381 assert.Equal(t, "value", v.Get("key"))
382 })
383
384 t.Run("find file", func(t *testing.T) {
385 fs := afero.NewMemMapFs()
386
387 err := fs.Mkdir(testutil.AbsFilePath(t, "/etc/viper"), 0o777)
388 require.NoError(t, err)
389
390 file, err := fs.Create(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))
391 require.NoError(t, err)
392
393 _, err = file.WriteString(`key: value`)
394 require.NoError(t, err)
395
396 file.Close()
397
398 v := New()
399
400 v.SetFs(fs)
401 v.AddConfigPath("/etc/viper")
402
403 err = v.ReadInConfig()
404 require.NoError(t, err)
405
406 assert.Equal(t, "value", v.Get("key"))
407 })
408
409 t.Run("find file with experimental finder", func(t *testing.T) {
410 fs := afero.NewMemMapFs()
411
412 err := fs.Mkdir(testutil.AbsFilePath(t, "/etc/viper"), 0o777)
413 require.NoError(t, err)
414
415 file, err := fs.Create(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))

Callers

nothing calls this directly

Calls 11

AbsFilePathFunction · 0.92
NewFunction · 0.85
NewWithOptionsFunction · 0.85
ExperimentalFinderFunction · 0.85
WithFinderFunction · 0.85
SetFsMethod · 0.80
SetConfigFileMethod · 0.80
ReadInConfigMethod · 0.80
AddConfigPathMethod · 0.80
SetConfigNameMethod · 0.80
GetMethod · 0.65

Tested by

no test coverage detected