github.com/therealbill/libredis@v0.0.0-20161227004305-7d50abda5ccf/client/transactions_test.go (about) 1 package client 2 3 import ( 4 "testing" 5 ) 6 7 func TestTransaction(t *testing.T) { 8 transaction, err := r.Transaction() 9 if err != nil { 10 t.Error(err) 11 } 12 defer transaction.Close() 13 if err := transaction.Command("DEL", "key"); err != nil { 14 t.Error(err) 15 } 16 if err := transaction.Command("SET", "key", 1); err != nil { 17 t.Error(err) 18 } 19 if err := transaction.Command("INCR", "key"); err != nil { 20 t.Error(err) 21 } 22 if err := transaction.Command("GET", "key"); err != nil { 23 t.Error(err) 24 } 25 result, err := transaction.Exec() 26 if err != nil { 27 t.Error(err) 28 } 29 if len(result) != 4 { 30 t.Fail() 31 } 32 if s, err := result[3].StringValue(); err != nil || s != "2" { 33 t.Fail() 34 } 35 } 36 37 func TestWatch(t *testing.T) { 38 transaction, err := r.Transaction() 39 if err != nil { 40 t.Error(err) 41 } 42 defer transaction.Close() 43 if err := transaction.Watch("key"); err != nil { 44 t.Error(err) 45 } 46 } 47 48 func TestUnWatch(t *testing.T) { 49 transaction, err := r.Transaction() 50 if err != nil { 51 t.Error(err) 52 } 53 defer transaction.Close() 54 transaction.Watch("key") 55 if err := transaction.UnWatch(); err != nil { 56 t.Error(err) 57 } 58 } 59 60 func TestDiscard(t *testing.T) { 61 transaction, err := r.Transaction() 62 if err != nil { 63 t.Error(err) 64 } 65 defer transaction.Close() 66 transaction.Command("SET", "KEY", 1) 67 if transaction.Discard(); err != nil { 68 t.Error(err) 69 } 70 }