diff options
author | Matt Layher <mdlayher@gmail.com> | 2015-05-12 16:55:19 -0400 |
---|---|---|
committer | Matt Layher <mdlayher@gmail.com> | 2015-05-12 16:55:19 -0400 |
commit | 06cdcaad9449e0cdde3dccbb1fdd987f6ae42dc6 (patch) | |
tree | 30847f65d803dbab69107e6f910b39e3af9037f9 | |
parent | Add DB.Sync(). (diff) | |
download | dedo-06cdcaad9449e0cdde3dccbb1fdd987f6ae42dc6.tar.gz dedo-06cdcaad9449e0cdde3dccbb1fdd987f6ae42dc6.tar.xz |
tx_test: add tests for two tx.ForEach cases
-rw-r--r-- | tx_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -252,6 +252,38 @@ func TestTx_DeleteBucket_NotFound(t *testing.T) { }) } +// Ensure that no error is returned when a tx.ForEach function does not return +// an error. +func TestTx_ForEach_NoError(t *testing.T) { + db := NewTestDB() + defer db.Close() + db.Update(func(tx *bolt.Tx) error { + tx.CreateBucket([]byte("widgets")) + tx.Bucket([]byte("widgets")).Put([]byte("foo"), []byte("bar")) + + equals(t, nil, tx.ForEach(func(name []byte, b *bolt.Bucket) error { + return nil + })) + return nil + }) +} + +// Ensure that an error is returned when a tx.ForEach function returns an error. +func TestTx_ForEach_WithError(t *testing.T) { + db := NewTestDB() + defer db.Close() + db.Update(func(tx *bolt.Tx) error { + tx.CreateBucket([]byte("widgets")) + tx.Bucket([]byte("widgets")).Put([]byte("foo"), []byte("bar")) + + err := errors.New("foo") + equals(t, err, tx.ForEach(func(name []byte, b *bolt.Bucket) error { + return err + })) + return nil + }) +} + // Ensure that Tx commit handlers are called after a transaction successfully commits. func TestTx_OnCommit(t *testing.T) { var x int |