123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package redis
- import (
- "encoding/json"
- "fmt"
- "github.com/stretchr/testify/assert"
- "testing"
- "zhiyuan/pkg/config"
- "zhiyuan/pkg/logger"
- "zhiyuan/pkg/utils"
- )
- func init() {
- config.Setup(config.WithFile("../../config/config.yml"), config.WithEnv("../../.env"))
- logger.Setup(logger.WithMode("go_test"))
- Setup()
- }
- func TestGet(t *testing.T) {
- // str
- keyStr := "test str"
- valStr := "test string"
- err := Set(keyStr, valStr, -1)
- str, err := Get(keyStr)
- ass := assert.New(t)
- ass.NoError(err)
- var retStr string
- utils.JsonDecode(str).To(&retStr)
- ass.Equal(retStr, valStr)
- ass.Equal(utils.JsonDecode(str).ToMapStr(), valStr)
- //err = Set(keyStr, "", -1)
- //str, err = Get("test str not found")
- //fmt.Println(str)
- //fmt.Println(err)
- // map
- keyMap := "test map"
- valMap := map[string]interface{}{"id": 1}
- err = Set(keyMap, valMap, -1)
- str, err = Get(keyMap)
- ass.NoError(err)
- ass.Equal(utils.JsonDecode(str).ToMap(), map[string]interface{}{"id": json.Number("1")})
- retMap := make(map[string]interface{})
- utils.JsonDecode(str).To(&retMap)
- ass.Equal(retMap, map[string]interface{}{"id": json.Number("1")})
- // struct
- type testStruct struct {
- Id int `json:"id"`
- }
- keyStruct := "test struct"
- valStruct := testStruct{Id: 1}
- err = Set(keyStruct, valStruct, -1)
- str, err = Get(keyStruct)
- ass.NoError(err)
- var valStructDecode testStruct
- utils.JsonDecode(str).To(&valStructDecode)
- ass.Equal(valStructDecode, valStruct)
- // struct slice
- valStructSlice := make([]testStruct, 0)
- keyStructSlice := "test struct"
- valStructSlice = append(valStructSlice, testStruct{Id: 1})
- err = Set(keyStructSlice, valStructSlice, -1)
- str, err = Get(keyStruct)
- ass.NoError(err)
- var valStructSliceDecode []testStruct
- utils.JsonDecode(str).To(&valStructSliceDecode)
- ass.Equal(valStructSliceDecode, valStructSlice)
- }
- func TestSAdd(t *testing.T) {
- ass := assert.New(t)
- key1 := "testSADD1"
- str, err := SMembers(key1)
- fmt.Println(len(str) == 0)
- ass.Equal(str, "123123123")
- key := "testSADD"
- val := []interface{}{"123123123"}
- SAdd(key, val, 600)
- str, err = SMembers(key)
- ass.NoError(err)
- ass.Equal(val, str)
- Del(key)
- str, err = SMembers(key)
- fmt.Println(len(str) == 0)
- ass.Equal(val, str)
- }
- func TestAdd(t *testing.T) {
- ass := assert.New(t)
- key := "testADD"
- val := "123123"
- SetBasic(key, val, 500)
- str1, err := Get(key)
- ass.NoError(err)
- ass.Equal(str1, val)
- Del(key)
- str1, err = Get(key)
- ass.EqualError(err, "redis: nil")
- ass.Equal(str1, "")
- }
|