MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / TestDB_EdgeCases

Function TestDB_EdgeCases

driver/hybriddb/db_test.go:397–435  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

395}
396
397func TestDB_EdgeCases(t *testing.T) {
398 tempDir := t.TempDir()
399 cfg := &config.Config{
400 LevelDB: config.LevelDBConfig{
401 CacheSize: 64 * 1024 * 1024,
402 BlockSize: 4 * 1024,
403 WriteBufferSize: 4 * 1024 * 1024,
404 MaxOpenFiles: 1000,
405 Compression: true,
406 },
407 }
408
409 db, err := Store{}.Open(tempDir, cfg)
410 require.NoError(t, err)
411 defer db.Close()
412
413 // Test empty key - should fail validation
414 err = db.Put([]byte(""), []byte("empty-key"))
415 require.Error(t, err)
416 assert.Contains(t, err.Error(), "key cannot be empty")
417
418 value, err := db.Get([]byte(""))
419 require.Error(t, err)
420 assert.Contains(t, err.Error(), "key cannot be empty")
421
422 // Test nil value
423 err = db.Put([]byte("nil-value"), nil)
424 require.NoError(t, err)
425
426 value, err = db.Get([]byte("nil-value"))
427 require.NoError(t, err)
428 // LevelDB stores empty values as empty byte slices, not nil
429 assert.Equal(t, []byte{}, value)
430
431 // Test non-existent key
432 value, err = db.Get([]byte("non-existent"))
433 require.NoError(t, err)
434 assert.Nil(t, value)
435}

Callers

nothing calls this directly

Calls 6

CloseMethod · 0.65
EqualMethod · 0.65
OpenMethod · 0.45
PutMethod · 0.45
ErrorMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected