|
|
package db
import ( "io/ioutil" "testing"
"github.com/stretchr/testify/assert"
"github.com/syndtr/goleveldb/leveldb/errors" )
func TestNew(t *testing.T) { dir, err := ioutil.TempDir("", "db") assert.Nil(t, err) _, err = New(dir) assert.Nil(t, err) } func TestPutAndGet(t *testing.T) { dir, err := ioutil.TempDir("", "db") assert.Nil(t, err) db, err := New(dir) assert.Nil(t, err)
k := []byte("test key") v := []byte("test value")
err = db.Put(k, v) assert.Nil(t, err)
vg, err := db.Get(k) assert.Nil(t, err) assert.Equal(t, v, vg)
}
func TestPrefix(t *testing.T) { dir, err := ioutil.TempDir("", "db") assert.Nil(t, err) db, err := New(dir) assert.Nil(t, err)
dbPrefix := db.WithPrefix([]byte("prefix1"))
err = dbPrefix.Put([]byte("k1"), []byte("v1")) assert.Nil(t, err)
_, err = db.Get([]byte("k1")) assert.Equal(t, err, errors.ErrNotFound)
v1, err := dbPrefix.Get([]byte("k1")) assert.Nil(t, err) assert.Equal(t, []byte("v1"), v1) }
|