package config_test import ( "io/ioutil" "os" "strings" "testing" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "src.dualinventive.com/go/lib/config" ) type testConfig struct { config.Config `yaml:",inline"` TestItem string } func TestLoadFullPath(t *testing.T) { f, err := ioutil.TempFile("", t.Name()) assert.Nil(t, err) assert.True(t, strings.ContainsRune(f.Name(), os.PathSeparator)) _, err = f.WriteString(`testitem: boembats logfile: jemoeder.txt loglevel: error `) assert.Nil(t, err) assert.Nil(t, f.Sync()) assert.Nil(t, f.Close()) cfg := testConfig{} _, err = config.Load(f.Name(), &cfg) assert.Nil(t, err) assert.Equal(t, "error", cfg.GetLoglevel()) assert.Equal(t, "jemoeder.txt", cfg.GetLogfile()) assert.Equal(t, "boembats", cfg.TestItem) assert.Nil(t, os.Remove(f.Name())) logrus.SetOutput(os.Stdout) os.Remove("jemoeder.txt") }