MCPcopy Create free account
hub / github.com/ByteStorage/FlyDB / TestDB_Delete

Function TestDB_Delete

engine/db_test.go:281–331  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

279}
280
281func TestDB_Delete(t *testing.T) {
282 opts := config.DefaultOptions
283 dir, _ := os.MkdirTemp("", "flydb-delete")
284 opts.DirPath = dir
285 opts.DataFileSize = 64 * 1024 * 1024
286 db, err := NewDB(opts)
287 defer destroyDB(db)
288 assert.Nil(t, err)
289 assert.NotNil(t, db)
290
291 // Delete an existing key
292 err = db.Put(randkv.GetTestKey(11), randkv.RandomValue(128))
293 assert.Nil(t, err)
294 err = db.Delete(randkv.GetTestKey(11))
295 assert.Nil(t, err)
296 _, err = db.Get(randkv.GetTestKey(11))
297 assert.Equal(t, _const.ErrKeyNotFound, err)
298
299 // Delete a key that does not exist
300 err = db.Delete([]byte("unknown key"))
301 assert.Nil(t, err)
302
303 // Delete an empty key
304 err = db.Delete(nil)
305 assert.Equal(t, _const.ErrKeyIsEmpty, err)
306
307 // The value is deleted and Put again
308 err = db.Put(randkv.GetTestKey(22), randkv.RandomValue(128))
309 assert.Nil(t, err)
310 err = db.Delete(randkv.GetTestKey(22))
311 assert.Nil(t, err)
312
313 err = db.Put(randkv.GetTestKey(22), randkv.RandomValue(128))
314 assert.Nil(t, err)
315 val1, err := db.Get(randkv.GetTestKey(22))
316 assert.NotNil(t, val1)
317 assert.Nil(t, err)
318
319 // After the restart, perform the verification again
320 err = db.Close()
321 assert.Nil(t, err)
322
323 // Restart the database
324 db2, err := NewDB(opts)
325 _, err = db2.Get(randkv.GetTestKey(11))
326 assert.Equal(t, _const.ErrKeyNotFound, err)
327
328 val2, err := db2.Get(randkv.GetTestKey(22))
329 assert.Nil(t, err)
330 assert.Equal(t, val1, val2)
331}
332
333func TestDB_GetListKeys(t *testing.T) {
334 opts := config.DefaultOptions

Callers

nothing calls this directly

Calls 8

PutMethod · 0.95
DeleteMethod · 0.95
GetMethod · 0.95
CloseMethod · 0.95
GetTestKeyFunction · 0.92
RandomValueFunction · 0.92
NewDBFunction · 0.85
destroyDBFunction · 0.85

Tested by

no test coverage detected