package app import ( "net" "strconv" "testing" "github.com/alicebob/miniredis/v2" "github.com/gochat/gochat/internal/config" "github.com/stretchr/testify/require" ) func TestNewRedisClientPrefersHostAndPortOverURL(t *testing.T) { server := miniredis.RunT(t) host, portText, err := net.SplitHostPort(server.Addr()) require.NoError(t, err) port, err := strconv.Atoi(portText) require.NoError(t, err) client, err := NewRedisClient(&config.RedisConfig{ URL: "redis://localhost:6397/0", Host: host, Port: port, DB: 0, PoolSize: 2, }) require.NoError(t, err) t.Cleanup(func() { _ = client.Close() }) require.Equal(t, server.Addr(), client.Options().Addr) }