| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package redis_test
- import (
- "errors"
- "time"
- redis "github.com/go-redis/redis/v7"
- . "github.com/onsi/ginkgo"
- . "github.com/onsi/gomega"
- )
- var _ = Describe("Cmd", func() {
- var client *redis.Client
- BeforeEach(func() {
- client = redis.NewClient(redisOptions())
- Expect(client.FlushDB().Err()).NotTo(HaveOccurred())
- })
- AfterEach(func() {
- Expect(client.Close()).NotTo(HaveOccurred())
- })
- It("implements Stringer", func() {
- set := client.Set("foo", "bar", 0)
- Expect(set.String()).To(Equal("set foo bar: OK"))
- get := client.Get("foo")
- Expect(get.String()).To(Equal("get foo: bar"))
- })
- It("has val/err", func() {
- set := client.Set("key", "hello", 0)
- Expect(set.Err()).NotTo(HaveOccurred())
- Expect(set.Val()).To(Equal("OK"))
- get := client.Get("key")
- Expect(get.Err()).NotTo(HaveOccurred())
- Expect(get.Val()).To(Equal("hello"))
- Expect(set.Err()).NotTo(HaveOccurred())
- Expect(set.Val()).To(Equal("OK"))
- })
- It("has helpers", func() {
- set := client.Set("key", "10", 0)
- Expect(set.Err()).NotTo(HaveOccurred())
- n, err := client.Get("key").Int64()
- Expect(err).NotTo(HaveOccurred())
- Expect(n).To(Equal(int64(10)))
- un, err := client.Get("key").Uint64()
- Expect(err).NotTo(HaveOccurred())
- Expect(un).To(Equal(uint64(10)))
- f, err := client.Get("key").Float64()
- Expect(err).NotTo(HaveOccurred())
- Expect(f).To(Equal(float64(10)))
- })
- It("supports float32", func() {
- f := float32(66.97)
- err := client.Set("float_key", f, 0).Err()
- Expect(err).NotTo(HaveOccurred())
- val, err := client.Get("float_key").Float32()
- Expect(err).NotTo(HaveOccurred())
- Expect(val).To(Equal(f))
- })
- It("supports time.Time", func() {
- tm := time.Date(2019, 01, 01, 0, 0, 0, 0, time.UTC)
- err := client.Set("time_key", tm, 0).Err()
- Expect(err).NotTo(HaveOccurred())
- s, err := client.Get("time_key").Result()
- Expect(err).NotTo(HaveOccurred())
- Expect(s).To(Equal("2019-01-01T00:00:00Z"))
- tm2, err := client.Get("time_key").Time()
- Expect(err).NotTo(HaveOccurred())
- Expect(tm2).To(BeTemporally("==", tm))
- })
- It("allow to set custom error", func() {
- e := errors.New("custom error")
- cmd := redis.Cmd{}
- cmd.SetErr(e)
- _, err := cmd.Result()
- Expect(err).To(Equal(e))
- })
- })
|