diff options
Diffstat (limited to 'plugins/jobs/broker/beanstalk/config_test.go')
-rw-r--r-- | plugins/jobs/broker/beanstalk/config_test.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/plugins/jobs/broker/beanstalk/config_test.go b/plugins/jobs/broker/beanstalk/config_test.go new file mode 100644 index 00000000..4ba08a04 --- /dev/null +++ b/plugins/jobs/broker/beanstalk/config_test.go @@ -0,0 +1,47 @@ +package beanstalk + +import ( + json "github.com/json-iterator/go" + "github.com/spiral/roadrunner/service" + "github.com/stretchr/testify/assert" + "testing" +) + +type mockCfg struct{ cfg string } + +func (cfg *mockCfg) Get(name string) service.Config { return nil } +func (cfg *mockCfg) Unmarshal(out interface{}) error { return json.Unmarshal([]byte(cfg.cfg), out) } + +func TestConfig_Hydrate_Error(t *testing.T) { + cfg := &mockCfg{`{"dead`} + c := &Config{} + + assert.Error(t, c.Hydrate(cfg)) +} + +func TestConfig_Hydrate_Error2(t *testing.T) { + cfg := &mockCfg{`{"addr":""}`} + c := &Config{} + + assert.Error(t, c.Hydrate(cfg)) +} + +func TestConfig_Hydrate_Error3(t *testing.T) { + cfg := &mockCfg{`{"addr":"tcp"}`} + c := &Config{} + + assert.NoError(t, c.Hydrate(cfg)) + + _, err := c.newConn() + assert.Error(t, err) +} + +func TestConfig_Hydrate_Error4(t *testing.T) { + cfg := &mockCfg{`{"addr":"unix://sock.bean"}`} + c := &Config{} + + assert.NoError(t, c.Hydrate(cfg)) + + _, err := c.newConn() + assert.Error(t, err) +} |