MCPcopy Create free account
hub / github.com/dbProjectRED/redimo.go / TestStreamCRU

Function TestStreamCRU

streams_test.go:11–60  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestStreamCRU(t *testing.T) {
12 c := newClient(t)
13
14 insertID1, err := c.XADD("x1", XAutoID, map[string]Value{"f1": StringValue{"v1"}, "f2": StringValue{"v2"}})
15 assert.NoError(t, err)
16 assert.Greater(t, insertID1.String(), XStart.String())
17
18 items, err := c.XRANGE("x1", XStart, XEnd, 100)
19 assert.NoError(t, err)
20 assert.Equal(t, 1, len(items))
21 assert.Equal(t, insertID1, items[0].ID)
22
23 count, err := c.XLEN("x1", XStart, XEnd)
24 assert.NoError(t, err)
25 assert.Equal(t, int64(1), count)
26
27 insertID2, err := c.XADD("x1", XAutoID, map[string]Value{"f3": StringValue{"v3"}, "f4": StringValue{"v4"}})
28 assert.NoError(t, err)
29 assert.Greater(t, insertID2.String(), insertID1.String())
30
31 count, err = c.XLEN("x1", XStart, XEnd)
32 assert.NoError(t, err)
33 assert.Equal(t, int64(2), count)
34
35 items, err = c.XRANGE("x1", XStart, XEnd, 100)
36 assert.NoError(t, err)
37 assert.Equal(t, 2, len(items))
38 assert.Equal(t, 2, len(items[0].Fields))
39 assert.Equal(t, 2, len(items[1].Fields))
40 assert.Equal(t, insertID1, items[0].ID)
41 assert.Equal(t, "v1", items[0].Fields["f1"].String())
42 assert.Equal(t, insertID2, items[1].ID)
43 assert.Equal(t, "v4", items[1].Fields["f4"].String())
44
45 items, err = c.XREVRANGE("x1", XEnd, XStart, 100)
46 assert.NoError(t, err)
47 assert.Equal(t, 2, len(items))
48 assert.Equal(t, insertID2, items[0].ID)
49 assert.Equal(t, insertID1, items[1].ID)
50
51 items, err = c.XREAD("x1", XStart, 1)
52 assert.NoError(t, err)
53 assert.Equal(t, 1, len(items))
54 assert.Equal(t, insertID1, items[0].ID)
55
56 items, err = c.XREAD("x1", items[0].ID, 1)
57 assert.NoError(t, err)
58 assert.Equal(t, 1, len(items))
59 assert.Equal(t, insertID2, items[0].ID)
60}
61
62func TestStreamDeletes(t *testing.T) {
63 c := newClient(t)

Callers

nothing calls this directly

Calls 7

newClientFunction · 0.85
XADDMethod · 0.80
XRANGEMethod · 0.80
XLENMethod · 0.80
XREVRANGEMethod · 0.80
XREADMethod · 0.80
StringMethod · 0.45

Tested by

no test coverage detected