45 lines
868 B
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")
|
|
}
|
|
} |