Ensure that deleting a key on a read-only bucket returns an error.
(t *testing.T)
| 575 | |
| 576 | // Ensure that deleting a key on a read-only bucket returns an error. |
| 577 | func TestBucket_Delete_ReadOnly(t *testing.T) { |
| 578 | db := btesting.MustCreateDB(t) |
| 579 | |
| 580 | if err := db.Update(func(tx *bolt.Tx) error { |
| 581 | if _, err := tx.CreateBucket([]byte("widgets")); err != nil { |
| 582 | t.Fatal(err) |
| 583 | } |
| 584 | return nil |
| 585 | }); err != nil { |
| 586 | t.Fatal(err) |
| 587 | } |
| 588 | |
| 589 | if err := db.View(func(tx *bolt.Tx) error { |
| 590 | if err := tx.Bucket([]byte("widgets")).Delete([]byte("foo")); err != berrors.ErrTxNotWritable { |
| 591 | t.Fatalf("unexpected error: %s", err) |
| 592 | } |
| 593 | return nil |
| 594 | }); err != nil { |
| 595 | t.Fatal(err) |
| 596 | } |
| 597 | } |
| 598 | |
| 599 | // Ensure that a deleting value while the transaction is closed returns an error. |
| 600 | func TestBucket_Delete_Closed(t *testing.T) { |
nothing calls this directly
no test coverage detected