package cdp import ( "encoding/json" "io/ioutil" "testing" "time" "github.com/stretchr/testify/require" ) func Test_EndpointMessage(t *testing.T) { //given data, err := ioutil.ReadFile("testdata/data.json") require.Nil(t, err) //when epMsg := &EndpointMessage{} require.Nil(t, json.Unmarshal(data, epMsg)) //then require.Len(t, epMsg.Reports, 1) require.Equal(t, epMsg.Reports[0].ResourcePath, ResourcePathUplinkMsgData) require.Equal(t, epMsg.Reports[0].SerialNumber, SerialNumber("IMEI:863703039106237")) require.True(t, epMsg.Reports[0].Timestamp.Equal(time.Unix(1549549424, 199*1e6))) require.Equal(t, epMsg.Reports[0].SerialNumber.IMEI(), "863703039106237") require.Len(t, epMsg.Reports[0].Value, 542) } func Test_NewEndpointMessage(t *testing.T) { //given data := []byte("test") timestamp := time.Now() //when msg := NewEndpointMessage(data, timestamp) //then require.NotNil(t, msg) require.Equal(t, msg.Value, "74657374") require.Equal(t, msg.Timestamp.Time, timestamp) }