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 }