Files
cd/util/cache/redis_hook_test.go
zeekay 5fa370e286 util/cache, util/webhook, util/helm: drop Argo wording from local identifiers
argoRedisHooks/NewArgoRedisHook, argoRepo/argoDB, argov1 and the
argoio/argoutils import aliases were the only things left saying Argo
in these packages; nothing here is matched by anything outside the
process. Also renames a leftover "staging-argocd-demo" branch name in
the webhook test fixtures.
2026-09-05 01:11:50 -07:00

54 lines
1.1 KiB
Go

package cache
import (
"testing"
"time"
"github.com/alicebob/miniredis/v2"
"github.com/stretchr/testify/assert"
"github.com/hanzokv/go/v9"
)
func Test_ReconnectCallbackHookCalled(t *testing.T) {
mr, err := miniredis.Run()
if err != nil {
panic(err)
}
defer mr.Close()
called := false
hook := NewRedisReconnectHook(func() {
called = true
})
faultyDNSRedisClient := kv.NewClient(&kv.Options{Addr: "invalidredishost.invalid:12345"})
faultyDNSRedisClient.AddHook(hook)
faultyDNSClient := NewRedisCache(faultyDNSRedisClient, 60*time.Second, RedisCompressionNone)
err = faultyDNSClient.Set(&Item{Key: "baz", Object: "foo"})
assert.True(t, called)
assert.Error(t, err)
}
func Test_ReconnectCallbackHookNotCalled(t *testing.T) {
mr, err := miniredis.Run()
if err != nil {
panic(err)
}
defer mr.Close()
called := false
hook := NewRedisReconnectHook(func() {
called = true
})
redisClient := kv.NewClient(&kv.Options{Addr: mr.Addr()})
redisClient.AddHook(hook)
client := NewRedisCache(redisClient, 60*time.Second, RedisCompressionNone)
err = client.Set(&Item{Key: "foo", Object: "bar"})
assert.False(t, called)
assert.NoError(t, err)
}