github.com/ali-iotechsys/cli@v20.10.0+incompatible/cli/command/context_test.go (about) 1 package command 2 3 import ( 4 "encoding/json" 5 "testing" 6 7 "gotest.tools/v3/assert" 8 ) 9 10 func TestDockerContextMetadataKeepAdditionalFields(t *testing.T) { 11 c := DockerContext{ 12 Description: "test", 13 StackOrchestrator: OrchestratorSwarm, 14 AdditionalFields: map[string]interface{}{ 15 "foo": "bar", 16 }, 17 } 18 jsonBytes, err := json.Marshal(c) 19 assert.NilError(t, err) 20 assert.Equal(t, `{"Description":"test","StackOrchestrator":"swarm","foo":"bar"}`, string(jsonBytes)) 21 22 var c2 DockerContext 23 assert.NilError(t, json.Unmarshal(jsonBytes, &c2)) 24 assert.Equal(t, c2.AdditionalFields["foo"], "bar") 25 assert.Equal(t, c2.StackOrchestrator, OrchestratorSwarm) 26 assert.Equal(t, c2.Description, "test") 27 }