diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-02-15 10:26:53 -0700 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-02-15 10:26:53 -0700 |
commit | a92b9c4cc9a9cee920dc4a1591716a5bda550301 (patch) | |
tree | c1747819b8499d03e4a5348b1f42d1c22b73e3f2 /rwtransaction_test.go | |
parent | Merge pull request #30 from benbjohnson/examples (diff) | |
parent | Add bucket sequence. (diff) | |
download | dedo-a92b9c4cc9a9cee920dc4a1591716a5bda550301.tar.gz dedo-a92b9c4cc9a9cee920dc4a1591716a5bda550301.tar.xz |
Merge pull request #31 from benbjohnson/sequence
Sequence
Diffstat (limited to 'rwtransaction_test.go')
-rw-r--r-- | rwtransaction_test.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/rwtransaction_test.go b/rwtransaction_test.go index 1ce3f70..fa254d8 100644 --- a/rwtransaction_test.go +++ b/rwtransaction_test.go @@ -72,6 +72,32 @@ func TestRWTransactionDeleteBucket(t *testing.T) { t.Skip("pending") // TODO(benbjohnson) } +// Ensure that a bucket can return an autoincrementing sequence. +func TestRWTransactionNextSequence(t *testing.T) { + withOpenDB(func(db *DB, path string) { + db.CreateBucket("widgets") + db.CreateBucket("woojits") + + // Make sure sequence increments. + seq, err := db.NextSequence("widgets") + assert.NoError(t, err) + assert.Equal(t, seq, 1) + seq, err = db.NextSequence("widgets") + assert.NoError(t, err) + assert.Equal(t, seq, 2) + + // Buckets should be separate. + seq, err = db.NextSequence("woojits") + assert.NoError(t, err) + assert.Equal(t, seq, 1) + + // Missing buckets return an error. + seq, err = db.NextSequence("no_such_bucket") + assert.Equal(t, err, BucketNotFoundError) + assert.Equal(t, seq, 0) + }) +} + // Ensure that an error is returned when inserting into a bucket that doesn't exist. func TestRWTransactionPutBucketNotFound(t *testing.T) { t.Skip("pending") // TODO(benbjohnson) |