11package examples
22
33import (
4- "bytes"
54 "context"
65 "testing"
76
8- . "gopkg.in/check.v1"
9-
107 ds "github.com/ipfs/go-datastore"
118 query "github.com/ipfs/go-datastore/query"
9+ "github.com/stretchr/testify/require"
1210)
1311
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 ) {
3013 _ , err := NewDatastore ("/tmp/foo/bar/baz" )
31- c . Assert ( err , Not ( Equals ), nil )
14+ require . Error ( t , err )
3215
3316 // setup ds
34- _ , err = NewDatastore (ks . dir )
35- c . Assert ( err , Equals , nil )
17+ _ , err = NewDatastore (t . TempDir () )
18+ require . NoError ( t , err )
3619}
3720
38- func ( ks * DSSuite ) TestBasic (c * C ) {
21+ func TestBasic (t * testing. T ) {
3922 ctx := context .Background ()
4023
4124 keys := strsToKeys ([]string {
@@ -47,48 +30,45 @@ func (ks *DSSuite) TestBasic(c *C) {
4730 "foo/bar/baz/barb" ,
4831 })
4932
33+ dstore , err := NewDatastore (t .TempDir ())
34+ require .NoError (t , err )
5035 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 )
5338 }
5439
5540 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 )
5944 }
6045
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 )
6548
6649 expect := []string {
6750 "/foo/bar/baz" ,
6851 "/foo/bar/bazb" ,
6952 "/foo/bar/baz/barb" ,
7053 }
7154 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 ))
7657
7758 for _ , k := range expect {
7859 found := false
7960 for _ , e := range all {
8061 if e .Key == k {
8162 found = true
63+ break
8264 }
8365 }
8466
85- if ! found {
86- c .Error ("did not find expected key: " , k )
87- }
67+ require .True (t , found , "did not find expected key:" , k )
8868 }
8969}
9070
91- func ( ks * DSSuite ) TestDiskUsage (c * C ) {
71+ func TestDiskUsage (t * testing. T ) {
9272 ctx := context .Background ()
9373
9474 keys := strsToKeys ([]string {
@@ -100,21 +80,23 @@ func (ks *DSSuite) TestDiskUsage(c *C) {
10080 "foo/bar/baz/barb" ,
10181 })
10282
83+ dstore , err := NewDatastore (t .TempDir ())
84+ require .NoError (t , err )
85+
10386 totalBytes := 0
10487 for _ , k := range keys {
10588 value := []byte (k .String ())
10689 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 )
10992 }
11093
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" )
118100}
119101
120102func strsToKeys (strs []string ) []ds.Key {
0 commit comments