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