package leveldbcache import ( "bytes" "io/ioutil" "os" "path/filepath" "testing" ) func TestDiskCache(t *testing.T) { tempDir, err := ioutil.TempDir("", "httpcache") if err != nil { t.Fatalf("TempDir: %v", err) } defer os.RemoveAll(tempDir) cache, err := New(filepath.Join(tempDir, "db")) if err != nil { t.Fatalf("New leveldb,: %v", err) } key := "testKey" _, ok := cache.Get(key) if ok { t.Fatal("retrieved key before adding it") } val := []byte("some bytes") cache.Set(key, val) retVal, ok := cache.Get(key) if !ok { t.Fatal("could not retrieve an element we just added") } if !bytes.Equal(retVal, val) { t.Fatal("retrieved a different value than what we put in") } cache.Delete(key) _, ok = cache.Get(key) if ok { t.Fatal("deleted key still present") } }