52 lines
1.0 KiB
Go
52 lines
1.0 KiB
Go
//
|
|
// cache_test.go
|
|
// Copyright (C) 2023 tiglog <me@tiglog.com>
|
|
//
|
|
// Distributed under terms of the MIT license.
|
|
//
|
|
|
|
package gcache_test
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
"time"
|
|
|
|
"git.hexq.cn/tiglog/golib/gcache"
|
|
"git.hexq.cn/tiglog/golib/gtest"
|
|
"github.com/redis/go-redis/v9"
|
|
)
|
|
|
|
var sample_name = "golib gcache"
|
|
|
|
func TestRedisCache(t *testing.T) {
|
|
|
|
REDIS_URL := os.Getenv("REDIS_URL")
|
|
// fmt.Println(REDIS_URL)
|
|
redisOpt, err := redis.ParseURL(REDIS_URL)
|
|
gtest.Nil(t, err)
|
|
var store gcache.ICache = gcache.NewRedisStore(gcache.RCClientOptions(redisOpt))
|
|
|
|
var sampleData = []byte(sample_name)
|
|
err = store.Set("name", sampleData, time.Minute*1)
|
|
gtest.Nil(t, err)
|
|
|
|
r1, err := store.Get("name")
|
|
gtest.Nil(t, err)
|
|
gtest.Equal(t, string(r1), sample_name)
|
|
}
|
|
|
|
func TestMemoryCache(t *testing.T) {
|
|
store := gcache.NewMemoryStore()
|
|
|
|
var err error
|
|
var sampleData = []byte(sample_name)
|
|
err = store.Set("name", sampleData, time.Minute*1)
|
|
gtest.Nil(t, err)
|
|
|
|
r1, err := store.Get("name")
|
|
gtest.Nil(t, err)
|
|
gtest.Equal(t, string(r1), sample_name)
|
|
|
|
}
|