my-log/config/load_test.go

51 lines
1 KiB
Go
Raw Normal View History

package config
import (
"os"
"testing"
"github.com/nalgeon/be"
"github.com/spf13/viper"
)
func TestNew(t *testing.T) {
_, v, err := New(t.Context())
be.Err(t, err, nil)
be.True(t, v != nil)
}
func TestNewWithEnvOverrides(t *testing.T) {
os.Setenv("MYLOG_INPUT_PATH", "/test/path")
defer os.Unsetenv("MYLOG_INPUT_PATH")
_, v, err := New(t.Context())
be.Err(t, err, nil)
be.Equal(t, v.GetString("input.path"), "/test/path")
}
func TestNewWithConfigFile(t *testing.T) {
dir := t.ArtifactDir()
f, _ := os.CreateTemp(dir, "test*.toml")
defer os.Remove(f.Name())
f.WriteString(`[input]
path = "/file/path"
ext = "log"`)
f.Close()
_, v, err := New(t.Context())
be.Err(t, err, nil)
v.SetConfigFile(f.Name())
v.SetConfigType("toml")
err = v.ReadInConfig()
be.Err(t, err, nil)
be.Equal(t, v.GetString("input.path"), "/file/path")
be.Equal(t, v.GetString("input.ext"), "log")
}
2024-02-10 11:06:00 -06:00
func TestRetrieveFromContext(t *testing.T) {
v := viper.New()
ctx := AddToContext(t.Context(), v)
result, _ := RetrieveFromContext(ctx)
be.True(t, v == result)
}