diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-03-24 11:43:06 -0600 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-03-24 11:43:06 -0600 |
commit | f8ad21bad37735eb7e47330383f204d7a49c0ff9 (patch) | |
tree | f264bf174c0ca41218a9cd40025ab90aeaf56ad4 /bucket_test.go | |
parent | Merge pull request #87 from benbjohnson/errors (diff) | |
download | dedo-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.go | 58 |
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 { |