Browse Source

make store test work

Cong Ding 12 years ago
parent
commit
f6b46fb0f2
1 changed files with 35 additions and 26 deletions
  1. 35 26
      store/store_test.go

+ 35 - 26
store/store_test.bak → store/store_test.go

@@ -1,25 +1,33 @@
 package store
 package store
 
 
 import (
 import (
+	"encoding/json"
 	"fmt"
 	"fmt"
 	"testing"
 	"testing"
 	"time"
 	"time"
 )
 )
 
 
-func TestStoreGet(t *testing.T) {
+func TestStoreGetDelete(t *testing.T) {
 
 
-	Set("foo", "bar", time.Unix(0, 0))
+	s := CreateStore(100)
+	s.Set("foo", "bar", time.Unix(0, 0), 9)
+	res, err := s.Get("foo")
 
 
-	res := Get("foo")
+	if err != nil {
+		t.Fatalf("Unknown error")
+	}
+
+	var result Response
+	json.Unmarshal(res, &result)
 
 
-	if res.NewValue != "bar" {
+	if result.Value != "bar" {
 		t.Fatalf("Cannot get stored value")
 		t.Fatalf("Cannot get stored value")
 	}
 	}
 
 
-	Delete("foo")
-	res = Get("foo")
+	s.Delete("foo", 0)
+	_, err = s.Get("foo")
 
 
-	if res.Exist {
+	if err == nil {
 		t.Fatalf("Got deleted value")
 		t.Fatalf("Got deleted value")
 	}
 	}
 }
 }
@@ -62,61 +70,62 @@ func TestExpire(t *testing.T) {
 	fmt.Println("TEST EXPIRE")
 	fmt.Println("TEST EXPIRE")
 
 
 	// test expire
 	// test expire
-	Set("foo", "bar", time.Now().Add(time.Second*1))
+	s := CreateStore(100)
+	s.Set("foo", "bar", time.Now().Add(time.Second*1), 0)
 	time.Sleep(2 * time.Second)
 	time.Sleep(2 * time.Second)
 
 
-	res := Get("foo")
+	_, err := s.Get("foo")
 
 
-	if res.Exist {
+	if err == nil {
 		t.Fatalf("Got expired value")
 		t.Fatalf("Got expired value")
 	}
 	}
 
 
 	//test change expire time
 	//test change expire time
-	Set("foo", "bar", time.Now().Add(time.Second*10))
+	s.Set("foo", "bar", time.Now().Add(time.Second*10), 0)
 
 
-	res = Get("foo")
+	_, err = s.Get("foo")
 
 
-	if !res.Exist {
+	if err != nil {
 		t.Fatalf("Cannot get Value")
 		t.Fatalf("Cannot get Value")
 	}
 	}
 
 
-	Set("foo", "barbar", time.Now().Add(time.Second*1))
+	s.Set("foo", "barbar", time.Now().Add(time.Second*1), 0)
 
 
 	time.Sleep(2 * time.Second)
 	time.Sleep(2 * time.Second)
 
 
-	res = Get("foo")
+	_, err = s.Get("foo")
 
 
-	if res.Exist {
+	if err == nil {
 		t.Fatalf("Got expired value")
 		t.Fatalf("Got expired value")
 	}
 	}
 
 
 	// test change expire to stable
 	// test change expire to stable
-	Set("foo", "bar", time.Now().Add(time.Second*1))
+	s.Set("foo", "bar", time.Now().Add(time.Second*1), 0)
 
 
-	Set("foo", "bar", time.Unix(0, 0))
+	s.Set("foo", "bar", time.Unix(0, 0), 0)
 
 
 	time.Sleep(2 * time.Second)
 	time.Sleep(2 * time.Second)
 
 
-	res = s.Get("foo")
+	_, err = s.Get("foo")
 
 
-	if !res.Exist {
+	if err != nil {
 		t.Fatalf("Cannot get Value")
 		t.Fatalf("Cannot get Value")
 	}
 	}
 
 
 	// test stable to expire
 	// test stable to expire
-	s.Set("foo", "bar", time.Now().Add(time.Second*1))
+	s.Set("foo", "bar", time.Now().Add(time.Second*1), 0)
 	time.Sleep(2 * time.Second)
 	time.Sleep(2 * time.Second)
-	res = s.Get("foo")
+	_, err = s.Get("foo")
 
 
-	if res.Exist {
+	if err == nil {
 		t.Fatalf("Got expired value")
 		t.Fatalf("Got expired value")
 	}
 	}
 
 
 	// test set older node
 	// test set older node
-	s.Set("foo", "bar", time.Now().Add(-time.Second*1))
-	res = s.Get("foo")
+	s.Set("foo", "bar", time.Now().Add(-time.Second*1), 0)
+	_, err = s.Get("foo")
 
 
-	if res.Exist {
+	if err == nil {
 		t.Fatalf("Got expired value")
 		t.Fatalf("Got expired value")
 	}
 	}