43 lines
1014 B
Go
43 lines
1014 B
Go
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)
|
|
}
|