-
Notifications
You must be signed in to change notification settings - Fork 1
/
redis_builder_test.go
44 lines (35 loc) · 1.18 KB
/
redis_builder_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package ldredis
import (
"github.com/launchdarkly/go-server-sdk/v7/subsystems"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestDataSourceBuilder(t *testing.T) {
makeStore := func(b *DataStoreBuilder) *redisDataStoreImpl {
b.CheckOnStartup(false)
store, err := b.Build(subsystems.BasicClientContext{})
require.NoError(t, err)
return store.(*redisDataStoreImpl)
}
t.Run("defaults", func(t *testing.T) {
store := makeStore(DataStore())
assert.Equal(t, DefaultPrefix, store.prefix)
assert.Equal(t, []string{defaultAddress}, store.redisOpts.Addrs)
})
t.Run("HostAndPort", func(t *testing.T) {
b := DataStore().HostAndPort("mine", 4000)
assert.Equal(t, []string{"mine:4000"}, makeStore(b).redisOpts.Addrs)
})
t.Run("Prefix", func(t *testing.T) {
assert.Equal(t, "p", makeStore(DataStore().Prefix("p")).prefix)
assert.Equal(t, DefaultPrefix, makeStore(DataStore().Prefix("")).prefix)
assert.Equal(t, DefaultClusterPrefix+"p", makeStore(
DataStore().Addresses("a", "b").Prefix("p")).prefix,
)
})
t.Run("URL", func(t *testing.T) {
b := DataStore().URL("redis://mine")
assert.Equal(t, "redis://mine", b.url)
})
}