package main_test import ( "fmt" "github.com/spf13/viper" "os" "pgm/config" "pgm/logger" "testing" ) // init should always return true // init will not write incorrect values to file func TestInit(t *testing.T) { t.Parallel() var cfg string testCases := []initTests{ {a: "junk", b: "notreal", c: "failingonpurpose", want: true}, {a: "test_host_dir", b: "test_screen_dr", c: "test_log_dir", want: true}, } cfg, err := os.UserHomeDir() if err != nil { logger.Logger("failed to find home dir " + err.Error()) fmt.Println("an error was encountered and logged") os.Exit(0) } for _, tc := range testCases { got := config.IsInit(tc.a, tc.b, tc.c, cfg + "/.pgm.yml") if tc.want != got { t.Errorf("want %t, got %t", tc.want, got) } } } func TestLogs(t *testing.T) { t.Parallel() var s string var want bool = true s = "test" got := logger.Logger(s) if want != got { t.Errorf("want %t, got %t", want, got) } } func TestLoadConfig(t *testing.T) { t.Parallel() var v *viper.Viper var want error = nil v, got := config.ReadConfig() _ = v if want != got { t.Error("load config reaturned a non nil error") } } type initTests struct { a, b, c string want bool }