mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
RemoteCache: redis connection string parsing test (#17702)
This commit is contained in:
parent
d0852f0618
commit
0adbb001db
65
pkg/infra/remotecache/redis_storage_test.go
Normal file
65
pkg/infra/remotecache/redis_storage_test.go
Normal file
@ -0,0 +1,65 @@
|
||||
package remotecache
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
redis "gopkg.in/redis.v2"
|
||||
)
|
||||
|
||||
func Test_parseRedisConnStr(t *testing.T) {
|
||||
cases := map[string]struct {
|
||||
InputConnStr string
|
||||
OutputOptions *redis.Options
|
||||
ShouldErr bool
|
||||
}{
|
||||
"all redis options should parse": {
|
||||
"addr=127.0.0.1:6379,pool_size=100,db=1,password=grafanaRocks",
|
||||
&redis.Options{
|
||||
Addr: "127.0.0.1:6379",
|
||||
PoolSize: 100,
|
||||
DB: 1,
|
||||
Password: "grafanaRocks",
|
||||
Network: "tcp",
|
||||
},
|
||||
false,
|
||||
},
|
||||
"subset of redis options should parse": {
|
||||
"addr=127.0.0.1:6379,pool_size=100",
|
||||
&redis.Options{
|
||||
Addr: "127.0.0.1:6379",
|
||||
PoolSize: 100,
|
||||
Network: "tcp",
|
||||
},
|
||||
false,
|
||||
},
|
||||
"trailing comma should err": {
|
||||
"addr=127.0.0.1:6379,pool_size=100,",
|
||||
nil,
|
||||
true,
|
||||
},
|
||||
"invalid key should err": {
|
||||
"addr=127.0.0.1:6379,puddle_size=100",
|
||||
nil,
|
||||
true,
|
||||
},
|
||||
"empty connection string should err": {
|
||||
"",
|
||||
nil,
|
||||
true,
|
||||
},
|
||||
}
|
||||
|
||||
for reason, testCase := range cases {
|
||||
options, err := parseRedisConnStr(testCase.InputConnStr)
|
||||
if testCase.ShouldErr {
|
||||
assert.Error(t, err, fmt.Sprintf("error cases should return non-nil error for test case %v", reason))
|
||||
assert.Nil(t, options, fmt.Sprintf("error cases should return nil for redis options for test case %v", reason))
|
||||
continue
|
||||
}
|
||||
assert.NoError(t, err, reason)
|
||||
assert.EqualValues(t, testCase.OutputOptions, options, reason)
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user