mirror of
https://github.com/pomerium/pomerium.git
synced 2025-04-28 18:06:34 +02:00
* chore(deps): bump github.com/go-redis/redis/v8 from 8.8.2 to 8.8.3 Bumps [github.com/go-redis/redis/v8](https://github.com/go-redis/redis) from 8.8.2 to 8.8.3. - [Release notes](https://github.com/go-redis/redis/releases) - [Changelog](https://github.com/go-redis/redis/blob/master/CHANGELOG.md) - [Commits](https://github.com/go-redis/redis/compare/v8.8.2...v8.8.3) Signed-off-by: dependabot[bot] <support@github.com> * remove unused field Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Caleb Doxsey <cdoxsey@pomerium.com>
89 lines
3.4 KiB
Go
89 lines
3.4 KiB
Go
package redisutil
|
|
|
|
import (
|
|
"net/url"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestParseClusterURL(t *testing.T) {
|
|
opts, err := ParseClusterURL("redis+cluster://CLUSTER_USERNAME:CLUSTER_PASSWORD@localhost:26379,otherhost:26479/?" + (&url.Values{
|
|
"read_only": {"true"},
|
|
"username": {"USERNAME"},
|
|
"password": {"PASSWORD"},
|
|
"max_retries": {"11"},
|
|
"min_retry_backoff": {"31s"},
|
|
"max_retry_backoff": {"22m"},
|
|
"dial_timeout": {"3m"},
|
|
"read_timeout": {"4m"},
|
|
"write_timeout": {"5m"},
|
|
"pool_size": {"7"},
|
|
"min_idle_conns": {"2"},
|
|
"max_conn_age": {"1h"},
|
|
"pool_timeout": {"30m"},
|
|
"idle_timeout": {"31m"},
|
|
"idle_check_frequency": {"32m"},
|
|
}).Encode())
|
|
require.NoError(t, err)
|
|
assert.Equal(t, []string{"localhost:26379", "otherhost:26479"}, opts.Addrs)
|
|
assert.Equal(t, "CLUSTER_USERNAME", opts.Username)
|
|
assert.Equal(t, "CLUSTER_PASSWORD", opts.Password)
|
|
assert.True(t, opts.ReadOnly)
|
|
assert.Equal(t, 11, opts.MaxRetries)
|
|
assert.Equal(t, time.Second*31, opts.MinRetryBackoff)
|
|
assert.Equal(t, time.Minute*22, opts.MaxRetryBackoff)
|
|
assert.Equal(t, time.Minute*3, opts.DialTimeout)
|
|
assert.Equal(t, time.Minute*4, opts.ReadTimeout)
|
|
assert.Equal(t, time.Minute*5, opts.WriteTimeout)
|
|
assert.Equal(t, 7, opts.PoolSize)
|
|
assert.Equal(t, 2, opts.MinIdleConns)
|
|
assert.Equal(t, time.Hour, opts.MaxConnAge)
|
|
assert.Equal(t, time.Minute*30, opts.PoolTimeout)
|
|
assert.Equal(t, time.Minute*31, opts.IdleTimeout)
|
|
assert.Equal(t, time.Minute*32, opts.IdleCheckFrequency)
|
|
}
|
|
|
|
func TestParseSentinelURL(t *testing.T) {
|
|
opts, err := ParseSentinelURL("redis+sentinel://:SENTINEL_PASSWORD@localhost:26379,otherhost:26479/mymaster/3?" + (&url.Values{
|
|
"slave_only": {"true"},
|
|
"use_disconnected_slaves": {"T"},
|
|
"username": {"USERNAME"},
|
|
"password": {"PASSWORD"},
|
|
"max_retries": {"11"},
|
|
"min_retry_backoff": {"31s"},
|
|
"max_retry_backoff": {"22m"},
|
|
"dial_timeout": {"3m"},
|
|
"read_timeout": {"4m"},
|
|
"write_timeout": {"5m"},
|
|
"pool_size": {"7"},
|
|
"min_idle_conns": {"2"},
|
|
"max_conn_age": {"1h"},
|
|
"pool_timeout": {"30m"},
|
|
"idle_timeout": {"31m"},
|
|
"idle_check_frequency": {"32m"},
|
|
}).Encode())
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "mymaster", opts.MasterName)
|
|
assert.Equal(t, []string{"localhost:26379", "otherhost:26479"}, opts.SentinelAddrs)
|
|
assert.Equal(t, "SENTINEL_PASSWORD", opts.SentinelPassword)
|
|
assert.True(t, opts.SlaveOnly)
|
|
assert.True(t, opts.UseDisconnectedSlaves)
|
|
assert.Equal(t, "USERNAME", opts.Username)
|
|
assert.Equal(t, "PASSWORD", opts.Password)
|
|
assert.Equal(t, 3, opts.DB)
|
|
assert.Equal(t, 11, opts.MaxRetries)
|
|
assert.Equal(t, time.Second*31, opts.MinRetryBackoff)
|
|
assert.Equal(t, time.Minute*22, opts.MaxRetryBackoff)
|
|
assert.Equal(t, time.Minute*3, opts.DialTimeout)
|
|
assert.Equal(t, time.Minute*4, opts.ReadTimeout)
|
|
assert.Equal(t, time.Minute*5, opts.WriteTimeout)
|
|
assert.Equal(t, 7, opts.PoolSize)
|
|
assert.Equal(t, 2, opts.MinIdleConns)
|
|
assert.Equal(t, time.Hour, opts.MaxConnAge)
|
|
assert.Equal(t, time.Minute*30, opts.PoolTimeout)
|
|
assert.Equal(t, time.Minute*31, opts.IdleTimeout)
|
|
assert.Equal(t, time.Minute*32, opts.IdleCheckFrequency)
|
|
}
|