github.com/exercism/configlet@v3.9.3-0.20200318193232-c70be6269e71+incompatible/track/maintainer_config_test.go (about) 1 package track 2 3 import ( 4 "fmt" 5 "io/ioutil" 6 "path/filepath" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestBrokenMaintainerConfig(t *testing.T) { 13 if _, err := NewMaintainerConfig("../fixtures/broken-maintainers/config/maintainers.json"); err == nil { 14 t.Errorf("Expected broken JSON") 15 } 16 } 17 18 func TestValidMaintainerConfig(t *testing.T) { 19 mc, err := NewMaintainerConfig("../fixtures/numbers/config/maintainers.json") 20 if err != nil { 21 t.Errorf("Expected valid JSON: %s", err) 22 } 23 assert.Equal(t, "alice", mc.Maintainers[0].Username) 24 } 25 26 func TestIgnoreMissingMaintainerConfig(t *testing.T) { 27 _, err := NewMaintainerConfig("../fixtures/no-such-file.json") 28 assert.NoError(t, err) 29 } 30 31 func TestNoChangeWhenMarshalingAcceptableMaintainerConfig(t *testing.T) { 32 filename := "../fixtures/format/formatted/config/maintainers.json" 33 src, err := ioutil.ReadFile(filepath.FromSlash(filename)) 34 if err != nil { 35 t.Fatal(err) 36 } 37 mCfg := MaintainerConfig{} 38 if err := mCfg.LoadFromFile(filename); err != nil { 39 t.Fatal(err) 40 } 41 dst, err := mCfg.ToJSON() 42 if err != nil { 43 t.Fatal(err) 44 } 45 46 assert.Equal(t, string(src), fmt.Sprintf("%s\n", dst)) 47 }