package store import ( "encoding/json" "testing" . "github.com/onsi/gomega" "github.com/stretchr/testify/suite" ) type ContextTestSuite struct { suite.Suite } func (suite *ContextTestSuite) TestDockerContextMetadataKeepAdditionalFields() { c := ContextMetadata{ Description: "test", Type: "aci", StackOrchestrator: "swarm", AdditionalFields: map[string]interface{}{ "foo": "bar", }, } jsonBytes, err := json.Marshal(c) Expect(err).To(BeNil()) Expect(string(jsonBytes)).To(Equal(`{"Description":"test","StackOrchestrator":"swarm","Type":"aci","foo":"bar"}`)) var c2 ContextMetadata err = json.Unmarshal(jsonBytes, &c2) Expect(err).To(BeNil()) Expect(c2.AdditionalFields["foo"]).To(Equal("bar")) Expect(c2.Type).To(Equal("aci")) Expect(c2.StackOrchestrator).To(Equal("swarm")) Expect(c2.Description).To(Equal("test")) } func TestPs(t *testing.T) { RegisterTestingT(t) suite.Run(t, new(ContextTestSuite)) }