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

Function TestStreamDeletes

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

Source from the content-addressed store, hash-verified

60}
61
62func TestStreamDeletes(t *testing.T) {
63 c := newClient(t)
64
65 insertID1, err := c.XADD("x1", XAutoID, map[string]Value{"f1": StringValue{"v1"}, "f2": StringValue{"v2"}})
66 assert.NoError(t, err)
67 insertID2, err := c.XADD("x1", XAutoID, map[string]Value{"f3": StringValue{"v3"}, "f4": StringValue{"v4"}})
68 assert.NoError(t, err)
69 insertID3, err := c.XADD("x1", XAutoID, map[string]Value{"f5": StringValue{"v5"}, "f6": StringValue{"v6"}})
70 assert.NoError(t, err)
71 insertID4, err := c.XADD("x1", XAutoID, map[string]Value{"f5": StringValue{"v5"}, "f6": StringValue{"v6"}})
72 assert.NoError(t, err)
73
74 items, err := c.XRANGE("x1", XStart, XEnd, 100)
75 assert.NoError(t, err)
76 assert.Equal(t, 4, len(items))
77 assert.Equal(t, insertID1, items[0].ID)
78 assert.Equal(t, insertID2, items[1].ID)
79 assert.Equal(t, insertID3, items[2].ID)
80 assert.Equal(t, insertID4, items[3].ID)
81
82 deletedIds, err := c.XDEL("x1", insertID2, insertID3, NewXID(time.Now(), 1234))
83 assert.NoError(t, err)
84 assert.Equal(t, 2, len(deletedIds))
85
86 items, err = c.XRANGE("x1", XStart, XEnd, 100)
87 assert.NoError(t, err)
88 assert.Equal(t, 2, len(items))
89 assert.Equal(t, insertID1, items[0].ID)
90 assert.Equal(t, insertID4, items[1].ID)
91
92 insertID5, err := c.XADD("x1", XAutoID, map[string]Value{"f7": StringValue{"v7"}, "f8": StringValue{"v8"}})
93 assert.NoError(t, err)
94 items, err = c.XRANGE("x1", XStart, XEnd, 100)
95 assert.NoError(t, err)
96 assert.Equal(t, 3, len(items))
97 assert.Equal(t, insertID5, items[2].ID)
98
99 deletedCount, err := c.XTRIM("x1", 2)
100 assert.NoError(t, err)
101 assert.Equal(t, int64(1), deletedCount)
102
103 items, err = c.XRANGE("x1", XStart, XEnd, 100)
104 assert.NoError(t, err)
105 assert.Equal(t, 2, len(items))
106 assert.Equal(t, insertID4, items[0].ID)
107 assert.Equal(t, insertID5, items[1].ID)
108}
109
110func TestStreamsConsumerGroupsNoACK(t *testing.T) {
111 c := newClient(t)

Callers

nothing calls this directly

Calls 6

newClientFunction · 0.85
NewXIDFunction · 0.85
XADDMethod · 0.80
XRANGEMethod · 0.80
XDELMethod · 0.80
XTRIMMethod · 0.80

Tested by

no test coverage detected