mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
make store test work
This commit is contained in:
parent
a90f652894
commit
f6b46fb0f2
@ -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")
|
||||||
|
}
|
||||||
|
|
||||||
if res.NewValue != "bar" {
|
var result Response
|
||||||
|
json.Unmarshal(res, &result)
|
||||||
|
|
||||||
|
if result.Value != "bar" {
|
||||||
t.Fatalf("Cannot get stored value")
|
t.Fatalf("Cannot get stored value")
|
||||||
}
|
}
|
||||||
|
|
||||||
Delete("foo")
|
s.Delete("foo", 0)
|
||||||
res = Get("foo")
|
_, 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))
|
s.Set("foo", "bar", time.Now().Add(-time.Second*1), 0)
|
||||||
res = s.Get("foo")
|
_, err = s.Get("foo")
|
||||||
|
|
||||||
if res.Exist {
|
if err == nil {
|
||||||
t.Fatalf("Got expired value")
|
t.Fatalf("Got expired value")
|
||||||
}
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user