Add listener policy to default generated config

So technical user can figure thing out based on self-documented
commands, without referring to actual documentation.
This commit is contained in:
Cuong Manh Le
2023-11-15 15:07:13 +07:00
committed by Cuong Manh Le
parent 4f125cf107
commit 0a30fdea69
2 changed files with 16 additions and 1 deletions

View File

@@ -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{

View File

@@ -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)
}