97 lines
1.5 KiB
Go
97 lines
1.5 KiB
Go
|
package cache
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
func TestNew_LruURI(t *testing.T) {
|
||
|
cache, err := New("lru://")
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatal("Error creating cache:", err)
|
||
|
}
|
||
|
|
||
|
if _, ok := cache.(*LruCache); !ok {
|
||
|
t.Fatal("Cache is not instance of MemoryCache")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLruCache_Get(t *testing.T) {
|
||
|
cache, err := New("lru://")
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatal("Error creating cache:", err)
|
||
|
}
|
||
|
|
||
|
obj := "test"
|
||
|
|
||
|
cache.Set("test", obj, time.Minute)
|
||
|
|
||
|
var new string
|
||
|
|
||
|
cache.Get("test", &new)
|
||
|
|
||
|
if obj != new {
|
||
|
t.Fatal("Expected", obj, "got", new)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLruCache_GetRaw(t *testing.T) {
|
||
|
cache, err := New("lru://")
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatal("Error creating cache:", err)
|
||
|
}
|
||
|
|
||
|
obj := "test"
|
||
|
|
||
|
cache.Set("test", obj, time.Minute)
|
||
|
|
||
|
v, err := cache.Get("test")
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatal("Unable to get value:", err)
|
||
|
}
|
||
|
|
||
|
new := string(v)
|
||
|
|
||
|
if obj != new {
|
||
|
t.Fatal("Expected", obj, "got", new)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLruCache_Has(t *testing.T) {
|
||
|
cache, err := New("lru://")
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatal("Error creating cache:", err)
|
||
|
}
|
||
|
|
||
|
cache.Set("test", "test", time.Minute)
|
||
|
|
||
|
if !cache.Has("test") {
|
||
|
t.Fatal("Expected cache to have object 'test'")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLruCache_Del(t *testing.T) {
|
||
|
cache, err := New("lru://")
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatal("Error creating cache:", err)
|
||
|
}
|
||
|
|
||
|
cache.Set("test", "test", time.Minute)
|
||
|
|
||
|
if !cache.Has("test") {
|
||
|
t.Fatal("Expected cache to have object 'test'")
|
||
|
}
|
||
|
|
||
|
cache.Del("test")
|
||
|
|
||
|
if cache.Has("test") {
|
||
|
t.Fatal("Cache did not properly delete item")
|
||
|
}
|
||
|
}
|