diff --git a/config.go b/config.go index 97a837e..051fb80 100644 --- a/config.go +++ b/config.go @@ -82,6 +82,16 @@ func InitConfig(v *viper.Viper, name string) { "0": { IP: "", Port: 0, + Policy: &ListenerPolicyConfig{ + Name: "Main Policy", + Networks: []Rule{ + {"network.0": []string{"upstream.0"}}, + }, + Rules: []Rule{ + {"example.com": []string{"upstream.0"}}, + {"*.ads.com": []string{"upstream.1"}}, + }, + }, }, }) v.SetDefault("network", map[string]*NetworkConfig{ diff --git a/config_test.go b/config_test.go index ca57372..4123f00 100644 --- a/config_test.go +++ b/config_test.go @@ -54,7 +54,12 @@ func TestLoadDefaultConfig(t *testing.T) { cfg := defaultConfig(t) validate := validator.New() require.NoError(t, ctrld.ValidateConfig(validate, cfg)) - assert.Len(t, cfg.Listener, 1) + if assert.Len(t, cfg.Listener, 1) { + l0 := cfg.Listener["0"] + require.NotNil(t, l0.Policy) + assert.Len(t, l0.Policy.Networks, 1) + assert.Len(t, l0.Policy.Rules, 2) + } assert.Len(t, cfg.Upstream, 2) }