Tests for OfflineRouting storage and Retrieval
License: MIT Signed-off-by: Zander Mackie <zmackie@gmail.com>
Zander Mackie committed
Dec 13, 2016 at 07:46 UTC
695c22a7d1ddce4b1bba94dc062eb217cc20f40d
1 file changed
+48
routing/offline/offline_test.go
new
+48
@@ -0,0 +1,48 @@
1
+package offline
2
+
3
+import (
4
+ "bytes"
5
+ "context"
6
+ "github.com/ipfs/go-ipfs/thirdparty/testutil"
7
+ ds "gx/ipfs/QmRWDav6mzWseLWeYfVd5fvUKiVe9xNH29YfMF438fG364/go-datastore"
8
+ "testing"
9
+)
10
+
11
+func TestOfflineRouterStorage(t *testing.T) {
12
+ ctx := context.Background()
13
+
14
+ nds := ds.NewMapDatastore()
15
+ privkey, _, _ := testutil.RandTestKeyPair(128)
16
+ offline := NewOfflineRouter(nds, privkey)
17
+
18
+ err := offline.PutValue(ctx, "key", []byte("testing 1 2 3"))
19
+ if err != nil {
20
+ t.Fatal(err)
21
+ }
22
+
23
+ val, err := offline.GetValue(ctx, "key")
24
+ if !bytes.Equal([]byte("testing 1 2 3"), val) {
25
+ t.Fatal("OfflineRouter does not properly store")
26
+ }
27
+
28
+ val, err = offline.GetValue(ctx, "notHere")
29
+ if err == nil {
30
+ t.Fatal("Router should throw errors for unfound records")
31
+ }
32
+
33
+ recVal, err := offline.GetValues(ctx, "key", 0)
34
+ if err != nil {
35
+ t.Fatal(err)
36
+ }
37
+
38
+ _, err = offline.GetValues(ctx, "notHere", 0)
39
+ if err == nil {
40
+ t.Fatal("Router should throw errors for unfound records")
41
+ }
42
+
43
+ local := recVal[0].Val
44
+ if !bytes.Equal([]byte("testing 1 2 3"), local) {
45
+ t.Fatal("OfflineRouter does not properly store")
46
+ }
47
+}
48
+