github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/database/vedis/vedis_test.go (about)

     1  package vedis
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestSetGetString(t *testing.T) {
     8  	store, err := Open(":mem:")
     9  	if err != nil {
    10  		t.Fatal(err)
    11  	}
    12  	defer store.Close()
    13  	if err := store.Exec("SET test 'Hello World'"); err != nil {
    14  		t.Fatal(err)
    15  	}
    16  	result, err := store.ExecResult("GET test")
    17  	if err != nil {
    18  		t.Fatal(err)
    19  	}
    20  	if x := result.String(); x != "Hello World" {
    21  		t.Fatalf("%s should equal Hello World", x)
    22  	}
    23  }
    24  
    25  func TestSetGetInt(t *testing.T) {
    26  	store, err := Open(":mem:")
    27  	if err != nil {
    28  		t.Fatal(err)
    29  	}
    30  	defer store.Close()
    31  	if err := store.Exec("SET x 123"); err != nil {
    32  		t.Fatal(err)
    33  	}
    34  	result, err := store.ExecResult("GET x")
    35  	if err != nil {
    36  		t.Fatal(err)
    37  	}
    38  	if x := result.Int(); x != 123 {
    39  		t.Fatalf("%d should equal 123", x)
    40  	}
    41  }
    42  
    43  func TestSetGetInt64(t *testing.T) {
    44  	store, err := Open(":mem:")
    45  	if err != nil {
    46  		t.Fatal(err)
    47  	}
    48  	defer store.Close()
    49  	if err := store.Exec("SET x 123"); err != nil {
    50  		t.Fatal(err)
    51  	}
    52  	result, err := store.ExecResult("GET x")
    53  	if err != nil {
    54  		t.Fatal(err)
    55  	}
    56  	if x := result.Int(); x != 123 {
    57  		t.Fatalf("%d should equal 123", x)
    58  	}
    59  }
    60  
    61  func TestSetGetBool(t *testing.T) {
    62  	store, err := Open(":mem:")
    63  	if err != nil {
    64  		t.Fatal(err)
    65  	}
    66  	defer store.Close()
    67  	if err := store.Exec("SET truthy true"); err != nil {
    68  		t.Fatal(err)
    69  	}
    70  	if err := store.Exec("SET falsy false"); err != nil {
    71  		t.Fatal(err)
    72  	}
    73  	result, err := store.ExecResult("GET truthy")
    74  	if err != nil {
    75  		t.Fatal(err)
    76  	}
    77  	if x := result.Bool(); x != true {
    78  		t.Fatalf("%v should equal true", x)
    79  	}
    80  	result, err = store.ExecResult("GET falsy")
    81  	if err != nil {
    82  		t.Fatal(err)
    83  	}
    84  	if x := result.Bool(); x != false {
    85  		t.Fatalf("%v should equal false", x)
    86  	}
    87  }
    88  
    89  func TestSetGetArray(t *testing.T) {
    90  	store, err := Open(":mem:")
    91  	if err != nil {
    92  		t.Fatal(err)
    93  	}
    94  	defer store.Close()
    95  	result, err := store.ExecResult("CMD_LIST")
    96  	if err != nil {
    97  		t.Fatal(err)
    98  	}
    99  	if !result.IsArray() {
   100  		t.Fatal("should be an array")
   101  	}
   102  	var commands []string
   103  	arr := result.Array()
   104  	for e := arr.Next(); e != nil; e = arr.Next() {
   105  		commands = append(commands, e.String())
   106  	}
   107  }
   108  
   109  func TestKvStoreFetch(t *testing.T) {
   110  	store, err := Open(":mem:")
   111  	if err != nil {
   112  		t.Fatal(err)
   113  	}
   114  	defer store.Close()
   115  	if err := store.KvStore([]byte("key"), []byte("value")); err != nil {
   116  		t.Fatal(err)
   117  	}
   118  	var val []byte
   119  	val, err = store.KvFetch([]byte("key"))
   120  	if err != nil {
   121  		t.Fatal(err)
   122  	}
   123  	if string(val) != "value" {
   124  		t.Fatalf("incorrect value")
   125  	}
   126  }