package etcd import ( "github.com/coreos/etcd/clientv3" "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("a/b", clientv3.WithPrefix()) if err != nil { t.Fatal(err) } t.Log(v) //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) // } //} }