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

Function TestBasicHashes

hashes_test.go:9–81  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

7)
8
9func TestBasicHashes(t *testing.T) {
10 c := newClient(t)
11 savedFields, err := c.HSET("k1", map[string]Value{"f1": StringValue{"v1"}})
12 assert.NoError(t, err)
13 assert.EqualValues(t, 1, len(savedFields))
14
15 savedFields, err = c.HSET("k1", map[string]Value{"f1": StringValue{"v1"}, "f2": StringValue{"v2"}})
16 assert.NoError(t, err)
17 assert.EqualValues(t, 1, len(savedFields))
18 assert.Equal(t, savedFields["f2"], StringValue{"v2"})
19
20 val, err := c.HGET("k1", "f1")
21 assert.NoError(t, err)
22 assert.Equal(t, "v1", val.String())
23
24 val, err = c.HGET("k1", "f2")
25 assert.NoError(t, err)
26 assert.Equal(t, "v2", val.String())
27
28 exists, err := c.HEXISTS("k1", "f2")
29 assert.NoError(t, err)
30 assert.True(t, exists)
31
32 val, err = c.HGET("nosuchkey", "no such field")
33 assert.NoError(t, err)
34 assert.True(t, val.Empty())
35
36 keyValues, err := c.HGETALL("k1")
37 assert.NoError(t, err)
38 assert.Len(t, keyValues, 2)
39 assert.Equal(t, map[string]ReturnValue{"f1": {StringValue{"v1"}.ToAV()}, "f2": {StringValue{"v2"}.ToAV()}}, keyValues)
40
41 keys, err := c.HKEYS("k1")
42 assert.NoError(t, err)
43 assert.ElementsMatch(t, []string{"f1", "f2"}, keys)
44
45 vals, err := c.HVALS("k1")
46 assert.NoError(t, err)
47 assert.ElementsMatch(t, []ReturnValue{{StringValue{"v1"}.ToAV()}, {StringValue{"v2"}.ToAV()}}, vals)
48
49 count, err := c.HLEN("k1")
50 assert.NoError(t, err)
51 assert.Equal(t, int64(2), count)
52
53 deletedFields, err := c.HDEL("k1", "f2", "f1")
54 assert.NoError(t, err)
55 assert.Equal(t, 2, len(deletedFields))
56 assert.ElementsMatch(t, []string{"f1", "f2"}, deletedFields)
57
58 val, err = c.HGET("k1", "f2")
59 assert.NoError(t, err)
60 assert.True(t, val.Empty())
61
62 val, err = c.HGET("k1", "f1")
63 assert.NoError(t, err)
64 assert.True(t, val.Empty())
65
66 exists, err = c.HEXISTS("k1", "f1")

Callers

nothing calls this directly

Calls 12

newClientFunction · 0.85
HSETMethod · 0.80
HGETMethod · 0.80
HEXISTSMethod · 0.80
EmptyMethod · 0.80
HGETALLMethod · 0.80
HKEYSMethod · 0.80
HVALSMethod · 0.80
HLENMethod · 0.80
HDELMethod · 0.80
ToAVMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected