github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/courier/transport_http/transform/err_msg_map_test.go (about)

     1  package transform
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  
     8  	"github.com/johnnyeven/libtools/courier/status_error"
     9  )
    10  
    11  func TestErrMsgMap(t *testing.T) {
    12  	tt := assert.New(t)
    13  
    14  	errMsgMap := ErrMsgMap{}
    15  
    16  	tt.Nil(errMsgMap.ErrorFieldsIn("query", ""))
    17  
    18  	errMsgMap.Set("key", "error")
    19  
    20  	tt.Equal(ErrMsgMap{
    21  		"key": "error",
    22  	}, errMsgMap)
    23  
    24  	errMsgMap2 := ErrMsgMap{}
    25  	errMsgMap2.Set("key2", "error")
    26  
    27  	tt.Equal(ErrMsgMap{
    28  		"key2": "error",
    29  	}, errMsgMap2)
    30  
    31  	newErrMsgMap := errMsgMap.Merge(errMsgMap2).Merge(nil)
    32  
    33  	tt.Equal(ErrMsgMap{
    34  		"key":  "error",
    35  		"key2": "error",
    36  	}, newErrMsgMap)
    37  
    38  	tt.Equal(status_error.ErrorFields{
    39  		{
    40  			Field: "key",
    41  			In:    "query",
    42  			Msg:   "error",
    43  		},
    44  		{
    45  			Field: "key2",
    46  			In:    "query",
    47  			Msg:   "error",
    48  		},
    49  	}, newErrMsgMap.ErrorFieldsIn("query", ""))
    50  }