Add distibuted cache with Redis

This commit is contained in:
2024-06-11 11:35:50 +01:00
parent a01a4da9b5
commit 12e0294945
15 changed files with 407 additions and 89 deletions
+52 -5
View File
@@ -1,10 +1,8 @@
package main
import (
"time"
)
import libpack_redis "github.com/lukaszraczylo/graphql-monitoring-proxy/cache/redis"
func (suite *Tests) Test_cacheLookup() {
func (suite *Tests) Test_cacheLookupInmemory() {
type args struct {
hash string
}
@@ -39,7 +37,56 @@ func (suite *Tests) Test_cacheLookup() {
for _, tt := range tests {
suite.Run(tt.name, func() {
if tt.addCache.data != nil {
cfg.Cache.CacheClient.Set(tt.args.hash, tt.addCache.data, time.Duration(90*time.Second))
cacheStore(tt.args.hash, tt.addCache.data)
}
got := cacheLookup(tt.args.hash)
assert.Equal(tt.want, got, "Unexpected cache lookup result")
})
}
}
func (suite *Tests) Test_cacheLookupRedis() {
cfg.Cache.Client = libpack_redis.NewClient(&libpack_redis.RedisClientConfig{
RedisDB: 0,
RedisServer: "localhost:6379",
RedisPassword: "",
})
type args struct {
hash string
}
tests := []struct {
name string
args args
want []byte
addCache struct {
data []byte
}
}{
{
name: "test_non_existent",
args: args{
hash: "00000000000000000000000000000000000000",
},
want: nil,
},
{
name: "test_existent",
args: args{
hash: "00000000000000000000000000000000001337",
},
want: []byte("it's fine."),
addCache: struct {
data []byte
}{
data: []byte("it's fine."),
},
},
}
for _, tt := range tests {
suite.Run(tt.name, func() {
if tt.addCache.data != nil {
cacheStore(tt.args.hash, tt.addCache.data)
}
got := cacheLookup(tt.args.hash)
assert.Equal(tt.want, got, "Unexpected cache lookup result")