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  }