github.com/davidmanzanares/dsd@v0.1.2-0.20210106152357-a35988f5d245/dsdl/config_test.go (about) 1 package dsdl 2 3 import ( 4 "os" 5 "reflect" 6 "testing" 7 ) 8 9 func TestConfig(t *testing.T) { 10 w, err := os.Getwd() 11 if err != nil { 12 t.Fatal(err) 13 } 14 dir := "./test-config" 15 os.Mkdir(dir, 0777) 16 defer os.RemoveAll(dir) 17 os.Chdir(dir) 18 defer os.Chdir(w) 19 20 conf, err := LoadConfig() 21 if err == nil { 22 t.Fatal("Expected error, no config file") 23 } 24 if !reflect.DeepEqual(conf, Config{Targets: make(map[string]*Target)}) { 25 t.Fatal(conf) 26 } 27 28 target := Target{Name: "myname", Patterns: []string{"asd", "wadus"}, Service: "myservice"} 29 err = AddTarget(target) 30 if err != nil { 31 t.Fatal(err) 32 } 33 34 conf, err = LoadConfig() 35 if err != nil { 36 t.Fatal(err) 37 } 38 expected := make(map[string]*Target) 39 expected["myname"] = &target 40 if !reflect.DeepEqual(conf, Config{Targets: expected}) { 41 t.Fatal(conf) 42 } 43 }