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  }