func TestMarshalWithCodec_WithFacade(t *testing.T) { // func (s *WebCodecService) MarshalWithCodec(codec codecs.Codec, object interface{}, options ...interface{}) ([]byte, error) { testCodec := new(test.TestCodec) service := NewWebCodecService() // make some test stuff var bytesToReturn []byte = []byte("Hello World") testObjectWithFacade := new(test.TestObjectWithFacade) object := objx.MSI("Name", "Mat") var option1 string = "Option One" var option2 string = "Option Two" args := map[string]interface{}{option1: option1, option2: option2} // setup expectations testObjectWithFacade.On("PublicData", args).Return(object, nil) testCodec.On("Marshal", object, args).Return(bytesToReturn, nil) bytes, err := service.MarshalWithCodec(testCodec, testObjectWithFacade, args) if assert.Nil(t, err) { assert.Equal(t, string(bytesToReturn), string(bytes)) } // assert that our expectations were met mock.AssertExpectationsForObjects(t, testCodec.Mock, testObjectWithFacade.Mock) }
func TestMarshalWithCodec_WithError(t *testing.T) { // func (s *WebCodecService) MarshalWithCodec(codec codecs.Codec, object interface{}, options ...interface{}) ([]byte, error) { testCodec := new(test.TestCodec) service := NewWebCodecService() // make some test stuff object := objx.MSI("Name", "Mat") var option1 string = "Option One" var option2 string = "Option Two" args := map[string]interface{}{option1: option1, option2: option2} // setup expectations testCodec.On("Marshal", object, args).Return(nil, assert.AnError) _, err := service.MarshalWithCodec(testCodec, object, args) assert.Equal(t, assert.AnError, err, "The error should get returned") // assert that our expectations were met mock.AssertExpectationsForObjects(t, testCodec.Mock) }
func TestMarshalWithCodec(t *testing.T) { testCodec := new(test.TestCodec) service := NewWebCodecService() // make some test stuff var bytesToReturn []byte = []byte("Hello World") var object objx.Map = objx.MSI("Name", "Mat") var option1 string = "Option One" var option2 string = "Option Two" args := map[string]interface{}{option1: option1, option2: option2} // setup expectations testCodec.On("Marshal", object, args).Return(bytesToReturn, nil) bytes, err := service.MarshalWithCodec(testCodec, object, args) if assert.Nil(t, err) { assert.Equal(t, string(bytesToReturn), string(bytes)) } // assert that our expectations were met mock.AssertExpectationsForObjects(t, testCodec.Mock) }
func TestUnmarshalWithCodec_WithError(t *testing.T) { // func (s *WebCodecService) UnmarshalWithCodec(codec codecs.Codec, data []byte, object interface{}) error { testCodec := new(test.TestCodec) service := NewWebCodecService() // some test objects object := struct{}{} data := []byte("Some bytes") // setup expectations testCodec.On("Unmarshal", data, object).Return(assert.AnError) // call the target method err := service.UnmarshalWithCodec(testCodec, data, object) assert.Equal(t, assert.AnError, err) mock.AssertExpectationsForObjects(t, testCodec.Mock) }