package gzip import ( "encoding/json" "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 Test_Config_Hydrate(t *testing.T) { cfg := &mockCfg{`{"enable": true}`} c := &Config{} assert.NoError(t, c.Hydrate(cfg)) } func Test_Config_Hydrate_Error(t *testing.T) { cfg := &mockCfg{`{"enable": "invalid"}`} c := &Config{} assert.Error(t, c.Hydrate(cfg)) } func Test_Config_Hydrate_Error2(t *testing.T) { cfg := &mockCfg{`{"enable": 1}`} c := &Config{} assert.Error(t, c.Hydrate(cfg)) } func Test_Config_Defaults(t *testing.T) { c := &Config{} err := c.InitDefaults() if err != nil { t.Errorf("error during the InitDefaults: error %v", err) } assert.Equal(t, true, c.Enable) }