redis.go 568 B

123456789101112131415161718192021
  1. package testutil
  2. import (
  3. "testing"
  4. "github.com/Wei-Shaw/sub2api/internal/repository"
  5. "github.com/Wei-Shaw/sub2api/internal/service"
  6. "github.com/alicebob/miniredis/v2"
  7. "github.com/redis/go-redis/v9"
  8. )
  9. // NewRedisGatewayCache returns a real Redis-backed gateway cache for tests.
  10. func NewRedisGatewayCache(t *testing.T) service.GatewayCache {
  11. t.Helper()
  12. redisServer := miniredis.RunT(t)
  13. redisClient := redis.NewClient(&redis.Options{Addr: redisServer.Addr()})
  14. t.Cleanup(func() { _ = redisClient.Close() })
  15. return repository.NewGatewayCache(redisClient)
  16. }