github.com/panekj/cli@v0.0.0-20230304125325-467dd2f3797e/cli/compose/loader/types_test.go (about) 1 package loader 2 3 import ( 4 "encoding/json" 5 "testing" 6 7 yaml "gopkg.in/yaml.v2" 8 "gotest.tools/v3/assert" 9 is "gotest.tools/v3/assert/cmp" 10 ) 11 12 func TestMarshallConfig(t *testing.T) { 13 workingDir := "/foo" 14 homeDir := "/bar" 15 cfg := fullExampleConfig(workingDir, homeDir) 16 expected := fullExampleYAML(workingDir) 17 18 actual, err := yaml.Marshal(cfg) 19 assert.NilError(t, err) 20 assert.Check(t, is.Equal(expected, string(actual))) 21 22 // Make sure the expected can be parsed. 23 dict, err := ParseYAML([]byte(expected)) 24 assert.NilError(t, err) 25 _, err = Load(buildConfigDetails(dict, map[string]string{})) 26 assert.NilError(t, err) 27 } 28 29 func TestJSONMarshallConfig(t *testing.T) { 30 workingDir := "/foo" 31 homeDir := "/bar" 32 cfg := fullExampleConfig(workingDir, homeDir) 33 expected := fullExampleJSON(workingDir) 34 35 actual, err := json.MarshalIndent(cfg, "", " ") 36 assert.NilError(t, err) 37 assert.Check(t, is.Equal(expected, string(actual))) 38 39 dict, err := ParseYAML([]byte(expected)) 40 assert.NilError(t, err) 41 _, err = Load(buildConfigDetails(dict, map[string]string{})) 42 assert.NilError(t, err) 43 }