MCPcopy
hub / github.com/etcd-io/bbolt / TestBucket_Put_ReadOnly

Function TestBucket_Put_ReadOnly

bucket_test.go:282–303  ·  view source on GitHub ↗

Ensure that setting a value on a read-only bucket returns an error.

(t *testing.T)

Source from the content-addressed store, hash-verified

280
281// Ensure that setting a value on a read-only bucket returns an error.
282func TestBucket_Put_ReadOnly(t *testing.T) {
283 db := btesting.MustCreateDB(t)
284
285 if err := db.Update(func(tx *bolt.Tx) error {
286 if _, err := tx.CreateBucket([]byte("widgets")); err != nil {
287 t.Fatal(err)
288 }
289 return nil
290 }); err != nil {
291 t.Fatal(err)
292 }
293
294 if err := db.View(func(tx *bolt.Tx) error {
295 b := tx.Bucket([]byte("widgets"))
296 if err := b.Put([]byte("foo"), []byte("bar")); err != berrors.ErrTxNotWritable {
297 t.Fatalf("unexpected error: %s", err)
298 }
299 return nil
300 }); err != nil {
301 t.Fatal(err)
302 }
303}
304
305// Ensure that a bucket can delete an existing key.
306func TestBucket_Delete(t *testing.T) {

Callers

nothing calls this directly

Calls 8

MustCreateDBFunction · 0.92
UpdateMethod · 0.80
ViewMethod · 0.80
FatalMethod · 0.65
FatalfMethod · 0.65
CreateBucketMethod · 0.45
BucketMethod · 0.45
PutMethod · 0.45

Tested by

no test coverage detected