godocdb/storage/leveldb_test.go

45 lines
868 B
Go

package storage
import (
"os"
"testing"
)
func TestLevelDBStorage(t *testing.T) {
// 测试目录
dir := "./testdb"
defer os.RemoveAll(dir)
// 初始化存储
storage, err := NewLevelDBStorage(dir)
if err != nil {
t.Fatalf("Failed to create LevelDB: %v", err)
}
defer storage.Close()
// 测试Put和Get
key := []byte("test_key")
value := []byte("test_value")
if err := storage.Put(key, value); err != nil {
t.Errorf("Put failed: %v", err)
}
retrieved, err := storage.Get(key)
if err != nil {
t.Errorf("Get failed: %v", err)
}
if string(retrieved) != string(value) {
t.Errorf("Get returned wrong value: got %s want %s", retrieved, value)
}
// 测试Delete
if err := storage.Delete(key); err != nil {
t.Errorf("Delete failed: %v", err)
}
_, err = storage.Get(key)
if err == nil {
t.Errorf("Expected error after Delete")
}
}