aboutsummaryrefslogtreecommitdiff
path: root/bucket_test.go
diff options
context:
space:
mode:
authorBen Johnson <benbjohnson@yahoo.com>2014-03-24 11:43:06 -0600
committerBen Johnson <benbjohnson@yahoo.com>2014-03-24 11:43:06 -0600
commitf8ad21bad37735eb7e47330383f204d7a49c0ff9 (patch)
treef264bf174c0ca41218a9cd40025ab90aeaf56ad4 /bucket_test.go
parentMerge pull request #87 from benbjohnson/errors (diff)
downloaddedo-f8ad21bad37735eb7e47330383f204d7a49c0ff9.tar.gz
dedo-f8ad21bad37735eb7e47330383f204d7a49c0ff9.tar.xz
Make DB/Tx API more consistent.
I consolidated the DB.Tx() and DB.RWTx() calls into a single DB.Begin(writable bool) call. This is more consistent with the database/sql library. I also changed the DB.Do() and DB.With() call to DB.Update() and DB.View(), respectively. This is more intuitive and more inline with other database verbiage.
Diffstat (limited to 'bucket_test.go')
-rw-r--r--bucket_test.go58
1 files changed, 29 insertions, 29 deletions
diff --git a/bucket_test.go b/bucket_test.go
index 359a98f..5f54b17 100644
--- a/bucket_test.go
+++ b/bucket_test.go
@@ -16,7 +16,7 @@ import (
// Ensure that a bucket that gets a non-existent key returns nil.
func TestBucketGetNonExistent(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
value := tx.Bucket("widgets").Get([]byte("foo"))
assert.Nil(t, value)
@@ -28,7 +28,7 @@ func TestBucketGetNonExistent(t *testing.T) {
// Ensure that a bucket can read a value that is not flushed yet.
func TestBucketGetFromNode(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
b := tx.Bucket("widgets")
b.Put([]byte("foo"), []byte("bar"))
@@ -42,7 +42,7 @@ func TestBucketGetFromNode(t *testing.T) {
// Ensure that a bucket can write a key/value.
func TestBucketPut(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
err := tx.Bucket("widgets").Put([]byte("foo"), []byte("bar"))
assert.NoError(t, err)
@@ -56,11 +56,11 @@ func TestBucketPut(t *testing.T) {
// Ensure that setting a value on a read-only bucket returns an error.
func TestBucketPutReadOnly(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
return nil
})
- db.With(func(tx *Tx) error {
+ db.View(func(tx *Tx) error {
b := tx.Bucket("widgets")
err := b.Put([]byte("foo"), []byte("bar"))
assert.Equal(t, err, ErrBucketNotWritable)
@@ -72,7 +72,7 @@ func TestBucketPutReadOnly(t *testing.T) {
// Ensure that a bucket can delete an existing key.
func TestBucketDelete(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
tx.Bucket("widgets").Put([]byte("foo"), []byte("bar"))
err := tx.Bucket("widgets").Delete([]byte("foo"))
@@ -87,11 +87,11 @@ func TestBucketDelete(t *testing.T) {
// Ensure that deleting a key on a read-only bucket returns an error.
func TestBucketDeleteReadOnly(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
return nil
})
- db.With(func(tx *Tx) error {
+ db.View(func(tx *Tx) error {
b := tx.Bucket("widgets")
err := b.Delete([]byte("foo"))
assert.Equal(t, err, ErrBucketNotWritable)
@@ -103,7 +103,7 @@ func TestBucketDeleteReadOnly(t *testing.T) {
// Ensure that a bucket can return an autoincrementing sequence.
func TestBucketNextSequence(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
tx.CreateBucket("woojits")
@@ -127,11 +127,11 @@ func TestBucketNextSequence(t *testing.T) {
// Ensure that retrieving the next sequence on a read-only bucket returns an error.
func TestBucketNextSequenceReadOnly(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
return nil
})
- db.With(func(tx *Tx) error {
+ db.View(func(tx *Tx) error {
b := tx.Bucket("widgets")
i, err := b.NextSequence()
assert.Equal(t, i, 0)
@@ -144,11 +144,11 @@ func TestBucketNextSequenceReadOnly(t *testing.T) {
// Ensure that incrementing past the maximum sequence number will return an error.
func TestBucketNextSequenceOverflow(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
return nil
})
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
b := tx.Bucket("widgets")
b.bucket.sequence = uint64(maxInt)
seq, err := b.NextSequence()
@@ -162,7 +162,7 @@ func TestBucketNextSequenceOverflow(t *testing.T) {
// Ensure a database can loop over all key/value pairs in a bucket.
func TestBucketForEach(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
tx.Bucket("widgets").Put([]byte("foo"), []byte("0000"))
tx.Bucket("widgets").Put([]byte("baz"), []byte("0001"))
@@ -194,7 +194,7 @@ func TestBucketForEach(t *testing.T) {
// Ensure a database can stop iteration early.
func TestBucketForEachShortCircuit(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
tx.Bucket("widgets").Put([]byte("bar"), []byte("0000"))
tx.Bucket("widgets").Put([]byte("baz"), []byte("0000"))
@@ -218,7 +218,7 @@ func TestBucketForEachShortCircuit(t *testing.T) {
// Ensure that an error is returned when inserting with an empty key.
func TestBucketPutEmptyKey(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
err := tx.Bucket("widgets").Put([]byte(""), []byte("bar"))
assert.Equal(t, err, ErrKeyRequired)
@@ -232,7 +232,7 @@ func TestBucketPutEmptyKey(t *testing.T) {
// Ensure that an error is returned when inserting with a key that's too large.
func TestBucketPutKeyTooLarge(t *testing.T) {
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
tx.CreateBucket("widgets")
err := tx.Bucket("widgets").Put(make([]byte, 32769), []byte("bar"))
assert.Equal(t, err, ErrKeyTooLarge)
@@ -248,7 +248,7 @@ func TestBucketStat(t *testing.T) {
}
withOpenDB(func(db *DB, path string) {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
// Add bucket with lots of keys.
tx.CreateBucket("widgets")
b := tx.Bucket("widgets")
@@ -271,7 +271,7 @@ func TestBucketStat(t *testing.T) {
return nil
})
- db.With(func(tx *Tx) error {
+ db.View(func(tx *Tx) error {
b := tx.Bucket("widgets")
stat := b.Stat()
assert.Equal(t, stat.BranchPageCount, 15)
@@ -312,11 +312,11 @@ func TestBucketPutSingle(t *testing.T) {
withOpenDB(func(db *DB, path string) {
m := make(map[string][]byte)
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
return tx.CreateBucket("widgets")
})
for _, item := range items {
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
if err := tx.Bucket("widgets").Put(item.Key, item.Value); err != nil {
panic("put error: " + err.Error())
}
@@ -325,7 +325,7 @@ func TestBucketPutSingle(t *testing.T) {
})
// Verify all key/values so far.
- db.With(func(tx *Tx) error {
+ db.View(func(tx *Tx) error {
i := 0
for k, v := range m {
value := tx.Bucket("widgets").Get([]byte(k))
@@ -359,10 +359,10 @@ func TestBucketPutMultiple(t *testing.T) {
f := func(items testdata) bool {
withOpenDB(func(db *DB, path string) {
// Bulk insert all values.
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
return tx.CreateBucket("widgets")
})
- err := db.Do(func(tx *Tx) error {
+ err := db.Update(func(tx *Tx) error {
b := tx.Bucket("widgets")
for _, item := range items {
assert.NoError(t, b.Put(item.Key, item.Value))
@@ -372,7 +372,7 @@ func TestBucketPutMultiple(t *testing.T) {
assert.NoError(t, err)
// Verify all items exist.
- db.With(func(tx *Tx) error {
+ db.View(func(tx *Tx) error {
b := tx.Bucket("widgets")
for _, item := range items {
value := b.Get(item.Key)
@@ -402,10 +402,10 @@ func TestBucketDeleteQuick(t *testing.T) {
f := func(items testdata) bool {
withOpenDB(func(db *DB, path string) {
// Bulk insert all values.
- db.Do(func(tx *Tx) error {
+ db.Update(func(tx *Tx) error {
return tx.CreateBucket("widgets")
})
- err := db.Do(func(tx *Tx) error {
+ err := db.Update(func(tx *Tx) error {
b := tx.Bucket("widgets")
for _, item := range items {
assert.NoError(t, b.Put(item.Key, item.Value))
@@ -416,13 +416,13 @@ func TestBucketDeleteQuick(t *testing.T) {
// Remove items one at a time and check consistency.
for i, item := range items {
- err := db.Do(func(tx *Tx) error {
+ err := db.Update(func(tx *Tx) error {
return tx.Bucket("widgets").Delete(item.Key)
})
assert.NoError(t, err)
// Anything before our deletion index should be nil.
- db.With(func(tx *Tx) error {
+ db.View(func(tx *Tx) error {
b := tx.Bucket("widgets")
for j, exp := range items {
if j > i {