Skip to content

Commit 4034f85

Browse files
committed
improve json msg test
1 parent bccee45 commit 4034f85

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

pkg/plugin/message_test.go

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,34 @@ func TestSimpleValueMessage(t *testing.T) {
2323
}
2424

2525
func TestJSONValuesMessage(t *testing.T) {
26+
timestamp := time.Unix(1, 0)
27+
values := []interface{}{
28+
-0.5182926829268293,
29+
-0.3582317073170732,
30+
0.1753048780487805,
31+
0.20599365234375,
32+
-0.050048828125,
33+
1.03582763671875,
34+
}
35+
msg := fmt.Sprintf(`{"ax": %v, "ay": %v, "az": %v, "gx": %v, "gy": %v, "gz": %v}`, values...)
2636
frame := plugin.ToFrame("test/data", []mqtt.Message{
2737
{
28-
Timestamp: time.Unix(1, 0),
29-
Value: `{"gx": -0.5182926829268293, "gy": -0.3582317073170732, "gz": 0.1753048780487805, "ax": 0.20599365234375, "ay": -0.050048828125, "az": 1.03582763671875}`,
38+
Timestamp: timestamp,
39+
Value: msg,
3040
},
3141
})
42+
numFields := len(values) + 1
3243
require.NotNil(t, frame)
33-
34-
str, err := frame.StringTable(100, 5)
44+
str, err := frame.StringTable(numFields, 1)
3545
require.NoError(t, err)
3646
fmt.Printf("FRAME: %s", str)
37-
require.Equal(t, 7, len(frame.Fields))
47+
require.Equal(t, numFields, len(frame.Fields))
48+
v, ok := frame.Fields[0].ConcreteAt(0)
49+
require.Equal(t, true, ok)
50+
require.Equal(t, v, timestamp)
51+
for idx, val := range values {
52+
v, err := frame.Fields[idx+1].FloatAt(0)
53+
require.NoError(t, err)
54+
require.Equal(t, val, v)
55+
}
3856
}

0 commit comments

Comments
 (0)