Skip to content

Commit

Permalink
test: add tests for experimental finder
Browse files Browse the repository at this point in the history
Signed-off-by: Mark Sagi-Kazar <[email protected]>
  • Loading branch information
sagikazarmark committed Jun 4, 2024
1 parent 92e330e commit 676d2eb
Showing 1 changed file with 46 additions and 1 deletion.
47 changes: 46 additions & 1 deletion viper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,27 @@ func TestGetConfigFile(t *testing.T) {
assert.Error(t, err)
})

t.Run("using a finder", func(t *testing.T) {
t.Run("experimental finder", func(t *testing.T) {
fs := afero.NewMemMapFs()

err := fs.Mkdir(testutil.AbsFilePath(t, "/etc/viper"), 0o777)
require.NoError(t, err)

_, err = fs.Create(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))
require.NoError(t, err)

v := NewWithOptions(ExperimentalFinder())

v.SetFs(fs)

v.AddConfigPath("/etc/viper")

filename, err := v.getConfigFile()
assert.Equal(t, testutil.AbsFilePath(t, "/etc/viper/config.yaml"), testutil.AbsFilePath(t, filename))
assert.NoError(t, err)
})

t.Run("finder", func(t *testing.T) {
fs := afero.NewMemMapFs()

err := fs.Mkdir(testutil.AbsFilePath(t, "/etc/viper"), 0o777)
Expand Down Expand Up @@ -445,6 +465,31 @@ func TestReadInConfig(t *testing.T) {
assert.Equal(t, "value", v.Get("key"))
})

t.Run("find file with experimental finder", func(t *testing.T) {
fs := afero.NewMemMapFs()

err := fs.Mkdir(testutil.AbsFilePath(t, "/etc/viper"), 0o777)
require.NoError(t, err)

file, err := fs.Create(testutil.AbsFilePath(t, "/etc/viper/config.yaml"))
require.NoError(t, err)

_, err = file.WriteString(`key: value`)
require.NoError(t, err)

file.Close()

v := NewWithOptions(ExperimentalFinder())

v.SetFs(fs)
v.AddConfigPath("/etc/viper")

err = v.ReadInConfig()
require.NoError(t, err)

assert.Equal(t, "value", v.Get("key"))
})

t.Run("find file using a finder", func(t *testing.T) {
fs := afero.NewMemMapFs()

Expand Down

0 comments on commit 676d2eb

Please sign in to comment.