@cryptotaxi247 / kubo / commits / 695c22a7d

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 +