From 81f77ee4f3dcc46431d0c8e6f5eee1453d45f801 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Thu, 25 Feb 2016 10:37:54 -0800 Subject: [PATCH] clientv3: fix txn example code --- clientv3/example_kv_test.go | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/clientv3/example_kv_test.go b/clientv3/example_kv_test.go index 3917aa5c0..beb7fa094 100644 --- a/clientv3/example_kv_test.go +++ b/clientv3/example_kv_test.go @@ -170,19 +170,23 @@ func ExampleKV_txn() { kvc := clientv3.NewKV(cli) - // TODO: 'if' not working. Add expected output once fixed. - ctx, cancel := context.WithTimeout(context.Background(), requestTimeout) - _, err = kvc.Txn(ctx). - If(clientv3.Compare(clientv3.Value("1"), ">", "1")). - Then(clientv3.OpPut("1", "100")). - Else(clientv3.OpPut("1", "-1")). - Commit() - cancel() - if err == nil { + _, err = kvc.Put(context.TODO(), "key", "xyz") + if err != nil { log.Fatal(err) } - gresp, err := kvc.Get(ctx, "1") + ctx, cancel := context.WithTimeout(context.Background(), requestTimeout) + _, err = kvc.Txn(ctx). + If(clientv3.Compare(clientv3.Value("key"), ">", "abc")). // txn value comparisons are lexical + Then(clientv3.OpPut("key", "XYZ")). // this runs, since 'xyz' > 'abc' + Else(clientv3.OpPut("key", "ABC")). + Commit() + cancel() + if err != nil { + log.Fatal(err) + } + + gresp, err := kvc.Get(context.TODO(), "key") cancel() if err != nil { log.Fatal(err) @@ -190,4 +194,5 @@ func ExampleKV_txn() { for _, ev := range gresp.Kvs { fmt.Printf("%s : %s\n", ev.Key, ev.Value) } + // key : XYZ }