mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-06-27 22:41:03 +08:00
75 lines
1.8 KiB
Go
75 lines
1.8 KiB
Go
package redis
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/alicebob/miniredis/v2"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestBlockingNode(t *testing.T) {
|
|
t.Run("test blocking node", func(t *testing.T) {
|
|
r, err := miniredis.Run()
|
|
assert.NoError(t, err)
|
|
defer r.Close()
|
|
|
|
node, err := CreateBlockingNode(New(r.Addr()))
|
|
assert.NoError(t, err)
|
|
node.Close()
|
|
// close again to make sure it's safe
|
|
assert.NotPanics(t, func() {
|
|
node.Close()
|
|
})
|
|
})
|
|
|
|
t.Run("test blocking node with cluster", func(t *testing.T) {
|
|
r, err := miniredis.Run()
|
|
assert.NoError(t, err)
|
|
defer r.Close()
|
|
|
|
node, err := CreateBlockingNode(New(r.Addr(), Cluster(), WithTLS()))
|
|
assert.NoError(t, err)
|
|
node.Close()
|
|
assert.NotPanics(t, func() {
|
|
node.Close()
|
|
})
|
|
})
|
|
|
|
t.Run("test blocking node with bad type", func(t *testing.T) {
|
|
r, err := miniredis.Run()
|
|
assert.NoError(t, err)
|
|
defer r.Close()
|
|
|
|
_, err = CreateBlockingNode(New(r.Addr(), badType()))
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("test blocking node with protocol and identity", func(t *testing.T) {
|
|
r, err := miniredis.Run()
|
|
assert.NoError(t, err)
|
|
defer r.Close()
|
|
|
|
node, err := CreateBlockingNode(New(r.Addr(), WithProtocol(2), WithIdentity()))
|
|
assert.NoError(t, err)
|
|
bridge, ok := node.(*clientBridge)
|
|
assert.True(t, ok)
|
|
assert.Equal(t, 2, bridge.Options().Protocol)
|
|
assert.True(t, bridge.Options().DisableIdentity)
|
|
node.Close()
|
|
})
|
|
|
|
t.Run("test blocking node with cluster, protocol and identity", func(t *testing.T) {
|
|
r, err := miniredis.Run()
|
|
assert.NoError(t, err)
|
|
defer r.Close()
|
|
|
|
node, err := CreateBlockingNode(New(r.Addr(), Cluster(), WithProtocol(2), WithIdentity()))
|
|
assert.NoError(t, err)
|
|
bridge, ok := node.(*clusterBridge)
|
|
assert.True(t, ok)
|
|
assert.Equal(t, 2, bridge.Options().Protocol)
|
|
assert.True(t, bridge.Options().DisableIdentity)
|
|
node.Close()
|
|
})
|
|
}
|