31 lines
700 B
Go
31 lines
700 B
Go
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)
|
|
}
|