Ensure that setting a value on a read-only bucket returns an error.
(t *testing.T)
| 280 | |
| 281 | // Ensure that setting a value on a read-only bucket returns an error. |
| 282 | func 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. |
| 306 | func TestBucket_Delete(t *testing.T) { |
nothing calls this directly
no test coverage detected