github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/redis/redis_test.go (about) 1 package redis_test 2 3 import ( 4 "fmt" 5 "math/rand" 6 "testing" 7 "time" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/suite" 11 12 "github.com/artisanhe/tools/redis" 13 ) 14 15 func TestRedis_GetSet(t *testing.T) { 16 tt := assert.New(t) 17 18 r := redis.Redis{ 19 Host: "test.g7pay.chinawayltd.com", 20 Port: 6379, 21 } 22 r.MarshalDefaults(&r) 23 24 r.Init() 25 26 err := r.GetCache().Set("test", []byte("test"), 7200*time.Second) 27 tt.Nil(err) 28 29 bytes, err := r.GetCache().Get("test") 30 tt.Nil(err) 31 32 tt.Equal("test", string(bytes)) 33 } 34 35 type SetSuite struct { 36 suite.Suite 37 r redis.Redis 38 cacheKey string 39 } 40 41 func (suite *SetSuite) SetupTest() { 42 suite.r = redis.Redis{ 43 Host: "test.g7pay.chinawayltd.com", 44 Port: 6379, 45 } 46 suite.r.MarshalDefaults(&suite.r) 47 suite.r.Init() 48 49 rand.Seed(time.Now().UnixNano()) 50 suite.cacheKey = fmt.Sprintf("%d", rand.Int63()) 51 52 _, err := suite.r.GetCache().HSetWithExpire(suite.cacheKey, time.Second*3) 53 suite.Nil(err) 54 55 time.Sleep(time.Second) 56 exist, err := suite.r.GetCache().Exists(suite.cacheKey) 57 suite.Nil(err) 58 suite.True(exist) 59 } 60 61 func (suite *SetSuite) TestHGetUint64() { 62 var field uint64 = 12 63 _, err := suite.r.GetCache().HSet(suite.cacheKey, fmt.Sprintf("%d", field), field) 64 suite.Nil(err) 65 value, err := suite.r.GetCache().HGetUint64(suite.cacheKey, fmt.Sprintf("%d", field)) 66 suite.Nil(err) 67 suite.Equal(field, value) 68 } 69 70 func (suite *SetSuite) TestHGetInt64() { 71 var field int64 = 12 72 _, err := suite.r.GetCache().HSet(suite.cacheKey, fmt.Sprintf("%d", field), field) 73 suite.Nil(err) 74 value, err := suite.r.GetCache().HGetInt64(suite.cacheKey, fmt.Sprintf("%d", field)) 75 suite.Nil(err) 76 suite.Equal(field, value) 77 } 78 79 func (suite *SetSuite) TestHGetString() { 80 var field string = "12" 81 _, err := suite.r.GetCache().HSet(suite.cacheKey, field, field) 82 suite.Nil(err) 83 value, err := suite.r.GetCache().HGetString(suite.cacheKey, field) 84 suite.Nil(err) 85 suite.Equal(field, value) 86 } 87 88 func TestSetSuite(t *testing.T) { 89 suite.Run(t, new(SetSuite)) 90 }