package etcd import ( "testing" "time" ) func TestEtcdClient(t *testing.T) { clt, err := New([]string{"192.168.88.164:2379"}, "", "", 3*time.Second) if err != nil { t.Fatal(err) } defer clt.Close() // kv //err = clt.Del("foo") //if err != nil { // t.Fatal(err) //} //err = clt.Put("foo", "bar") //if err != nil { // t.Fatal("put") //} v, err := clt.Get("foo") if err != nil { t.Fatal(err) } if string(v) != "bar" { t.Fatal("not equal", v) } //lease leaseId, err := clt.PutWithLife("foo1", "death", 10) t.Log(leaseId) time.Sleep(11 * time.Second) v, err = clt.Get("foo1") if len(v) > 0 { t.Fatal("lease error") } leaseId, err = clt.PutWithLife("foo1", "art", 10) err = clt.KeepAlive(leaseId) if err != nil { t.Fatal(err) } //t.Log("foo:", v) ///watch //ch := clt.Watch("foo1") //for item := range ch { // for _, ev := range item.Events { // fmt.Println(ev) // } //} }