1
1
package examples
2
2
3
3
import (
4
- "bytes"
5
4
"context"
6
5
"testing"
7
6
8
- . "gopkg.in/check.v1"
9
-
10
7
ds "github.com/ipfs/go-datastore"
11
8
query "github.com/ipfs/go-datastore/query"
9
+ "github.com/stretchr/testify/require"
12
10
)
13
11
14
- // Hook up gocheck into the "go test" runner.
15
- func Test (t * testing.T ) { TestingT (t ) }
16
-
17
- type DSSuite struct {
18
- dir string
19
- ds ds.Datastore
20
- }
21
-
22
- var _ = Suite (& DSSuite {})
23
-
24
- func (ks * DSSuite ) SetUpTest (c * C ) {
25
- ks .dir = c .MkDir ()
26
- ks .ds , _ = NewDatastore (ks .dir )
27
- }
28
-
29
- func (ks * DSSuite ) TestOpen (c * C ) {
12
+ func TestOpen (t * testing.T ) {
30
13
_ , err := NewDatastore ("/tmp/foo/bar/baz" )
31
- c . Assert ( err , Not ( Equals ), nil )
14
+ require . Error ( t , err )
32
15
33
16
// setup ds
34
- _ , err = NewDatastore (ks . dir )
35
- c . Assert ( err , Equals , nil )
17
+ _ , err = NewDatastore (t . TempDir () )
18
+ require . NoError ( t , err )
36
19
}
37
20
38
- func ( ks * DSSuite ) TestBasic (c * C ) {
21
+ func TestBasic (t * testing. T ) {
39
22
ctx := context .Background ()
40
23
41
24
keys := strsToKeys ([]string {
@@ -47,48 +30,45 @@ func (ks *DSSuite) TestBasic(c *C) {
47
30
"foo/bar/baz/barb" ,
48
31
})
49
32
33
+ dstore , err := NewDatastore (t .TempDir ())
34
+ require .NoError (t , err )
50
35
for _ , k := range keys {
51
- err := ks . ds .Put (ctx , k , []byte (k .String ()))
52
- c . Check ( err , Equals , nil )
36
+ err := dstore .Put (ctx , k , []byte (k .String ()))
37
+ require . NoError ( t , err )
53
38
}
54
39
55
40
for _ , k := range keys {
56
- v , err := ks . ds .Get (ctx , k )
57
- c . Check ( err , Equals , nil )
58
- c . Check ( bytes . Equal (v , []byte (k .String ())), Equals , true )
41
+ v , err := dstore .Get (ctx , k )
42
+ require . NoError ( t , err )
43
+ require . Equal (t , []byte (k .String ()), v )
59
44
}
60
45
61
- r , err := ks .ds .Query (ctx , query.Query {Prefix : "/foo/bar/" })
62
- if err != nil {
63
- c .Check (err , Equals , nil )
64
- }
46
+ r , err := dstore .Query (ctx , query.Query {Prefix : "/foo/bar/" })
47
+ require .NoError (t , err )
65
48
66
49
expect := []string {
67
50
"/foo/bar/baz" ,
68
51
"/foo/bar/bazb" ,
69
52
"/foo/bar/baz/barb" ,
70
53
}
71
54
all , err := r .Rest ()
72
- if err != nil {
73
- c .Fatal (err )
74
- }
75
- c .Check (len (all ), Equals , len (expect ))
55
+ require .NoError (t , err )
56
+ require .Equal (t , len (all ), len (expect ))
76
57
77
58
for _ , k := range expect {
78
59
found := false
79
60
for _ , e := range all {
80
61
if e .Key == k {
81
62
found = true
63
+ break
82
64
}
83
65
}
84
66
85
- if ! found {
86
- c .Error ("did not find expected key: " , k )
87
- }
67
+ require .True (t , found , "did not find expected key:" , k )
88
68
}
89
69
}
90
70
91
- func ( ks * DSSuite ) TestDiskUsage (c * C ) {
71
+ func TestDiskUsage (t * testing. T ) {
92
72
ctx := context .Background ()
93
73
94
74
keys := strsToKeys ([]string {
@@ -100,21 +80,23 @@ func (ks *DSSuite) TestDiskUsage(c *C) {
100
80
"foo/bar/baz/barb" ,
101
81
})
102
82
83
+ dstore , err := NewDatastore (t .TempDir ())
84
+ require .NoError (t , err )
85
+
103
86
totalBytes := 0
104
87
for _ , k := range keys {
105
88
value := []byte (k .String ())
106
89
totalBytes += len (value )
107
- err := ks . ds .Put (ctx , k , value )
108
- c . Check ( err , Equals , nil )
90
+ err := dstore .Put (ctx , k , value )
91
+ require . NoError ( t , err )
109
92
}
110
93
111
- if ps , ok := ks .ds .(ds.PersistentDatastore ); ok {
112
- if s , err := ps .DiskUsage (ctx ); s != uint64 (totalBytes ) || err != nil {
113
- c .Error ("unexpected size is: " , s )
114
- }
115
- } else {
116
- c .Error ("should implement PersistentDatastore" )
117
- }
94
+ ps , ok := dstore .(ds.PersistentDatastore )
95
+ require .True (t , ok , "should implement PersistentDatastore" )
96
+
97
+ s , err := ps .DiskUsage (ctx )
98
+ require .NoError (t , err )
99
+ require .Equal (t , uint64 (totalBytes ), s , "unexpected size" )
118
100
}
119
101
120
102
func strsToKeys (strs []string ) []ds.Key {
0 commit comments