go-util/config_test.go

42 lines
634 B
Go

package util
import (
"os"
"testing"
)
func TestNewConfig(t *testing.T) {
f, err := os.CreateTemp("", "testconfig")
if err != nil {
t.Errorf(err.Error())
}
defer os.Remove(f.Name()) // clean up temp dir
type c struct {
Key1 string
Key2 string
}
want := c{
Key1: "val1",
Key2: "val2",
}
yaml := `key1: val1
key2: val2`
if _, err := f.Write([]byte(yaml)); err != nil {
t.Errorf(err.Error())
}
if err := f.Close(); err != nil {
t.Errorf(err.Error())
}
have, err := NewConfig[c](f.Name())
if err != nil {
t.Errorf(err.Error())
}
if want != *have {
t.Errorf("got %v, wanted %v", have, want)
}
}