12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package mongo
- import (
- "reflect"
- "sparrow/pkg/protocol"
- "sparrow/pkg/rpcs"
- "sparrow/pkg/tlv"
- "testing"
- "time"
- )
- func TestRecorder(t *testing.T) {
- r, err := NewRecorder("localhost", "pandocloud", "commands")
- if err != nil {
- t.Fatal(err)
- }
- tlvs, err := tlv.MakeTLVs([]interface{}{float64(0.1), int64(100), uint64(200)})
- if err != nil {
- t.Error(err)
- }
- deviceid := uint64(12345)
- timestamp := uint64(time.Now().Unix() * 1000)
- subdata := protocol.SubData{
- Head: protocol.SubDataHead{
- SubDeviceid: 1,
- PropertyNum: 2,
- ParamsCount: 3,
- },
- Params: tlvs,
- }
- subdatas := []protocol.SubData{}
- subdatas = append(subdatas, subdata)
- data := rpcs.ArgsOnStatus{
- DeviceId: deviceid,
- Timestamp: timestamp,
- Subdata: subdatas,
- }
- err = r.Insert(data)
- if err != nil {
- t.Error(err)
- }
- readData := rpcs.ArgsOnStatus{}
- err = r.FindLatest(deviceid, &readData)
- if err != nil {
- t.Error(err)
- }
- if !reflect.DeepEqual(data, readData) {
- t.Errorf("read data want %v, but got %v", data, readData)
- }
- readDatas := []rpcs.ArgsOnStatus{}
- err = r.FindByTimestamp(deviceid, timestamp, timestamp, &readDatas)
- t.Log(readDatas)
- if !reflect.DeepEqual(data, readDatas[0]) {
- t.Errorf("read data by timestamp want %v, but got %v", data, readDatas[0])
- }
- }
|