mirror of
https://github.com/alibaba/higress.git
synced 2026-06-09 12:47:28 +08:00
support take effect on api level (#1150)
This commit is contained in:
@@ -229,7 +229,7 @@ func TestParseRuleConfig(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "rules config",
|
||||
config: `{"_rules_":[{"_match_domain_":["*.example.com","www.*","*","www.abc.com"],"name":"john", "age":18},{"_match_route_":["test1","test2"],"name":"ann", "age":16},{"_match_service_":["test1.dns","test2.static:8080"],"name":"ann", "age":16}]}`,
|
||||
config: `{"_rules_":[{"_match_domain_":["*.example.com","www.*","*","www.abc.com"],"name":"john", "age":18},{"_match_route_":["test1","test2"],"name":"ann", "age":16},{"_match_service_":["test1.dns","test2.static:8080"],"name":"ann", "age":16},{"_match_route_prefix_":["api1","api2"],"name":"ann", "age":16}]}`,
|
||||
expected: RuleMatcher[customConfig]{
|
||||
ruleConfig: []RuleConfig[customConfig]{
|
||||
{
|
||||
@@ -252,8 +252,9 @@ func TestParseRuleConfig(t *testing.T) {
|
||||
host: "www.abc.com",
|
||||
},
|
||||
},
|
||||
routes: map[string]struct{}{},
|
||||
services: map[string]struct{}{},
|
||||
routes: map[string]struct{}{},
|
||||
services: map[string]struct{}{},
|
||||
routePrefixs: map[string]struct{}{},
|
||||
config: customConfig{
|
||||
name: "john",
|
||||
age: 18,
|
||||
@@ -265,7 +266,8 @@ func TestParseRuleConfig(t *testing.T) {
|
||||
"test1": {},
|
||||
"test2": {},
|
||||
},
|
||||
services: map[string]struct{}{},
|
||||
services: map[string]struct{}{},
|
||||
routePrefixs: map[string]struct{}{},
|
||||
config: customConfig{
|
||||
name: "ann",
|
||||
age: 16,
|
||||
@@ -273,11 +275,25 @@ func TestParseRuleConfig(t *testing.T) {
|
||||
},
|
||||
{
|
||||
category: Service,
|
||||
routes: map[string]struct{}{},
|
||||
services: map[string]struct{}{
|
||||
"test1.dns": {},
|
||||
"test2.static:8080": {},
|
||||
},
|
||||
routes: map[string]struct{}{},
|
||||
routePrefixs: map[string]struct{}{},
|
||||
config: customConfig{
|
||||
name: "ann",
|
||||
age: 16,
|
||||
},
|
||||
},
|
||||
{
|
||||
category: RoutePrefix,
|
||||
routes: map[string]struct{}{},
|
||||
services: map[string]struct{}{},
|
||||
routePrefixs: map[string]struct{}{
|
||||
"api1": {},
|
||||
"api2": {},
|
||||
},
|
||||
config: customConfig{
|
||||
name: "ann",
|
||||
age: 16,
|
||||
@@ -294,17 +310,17 @@ func TestParseRuleConfig(t *testing.T) {
|
||||
{
|
||||
name: "invalid rule",
|
||||
config: `{"_rules_":[{"_match_domain_":["*"],"_match_route_":["test"]}]}`,
|
||||
errMsg: "there is only one of '_match_route_', '_match_domain_' and '_match_service_' can present in configuration.",
|
||||
errMsg: "there is only one of '_match_route_', '_match_domain_', '_match_service_' and '_match_route_prefix_' can present in configuration.",
|
||||
},
|
||||
{
|
||||
name: "invalid rule",
|
||||
config: `{"_rules_":[{"_match_domain_":["*"],"_match_service_":["test.dns"]}]}`,
|
||||
errMsg: "there is only one of '_match_route_', '_match_domain_' and '_match_service_' can present in configuration.",
|
||||
errMsg: "there is only one of '_match_route_', '_match_domain_', '_match_service_' and '_match_route_prefix_' can present in configuration.",
|
||||
},
|
||||
{
|
||||
name: "invalid rule",
|
||||
config: `{"_rules_":[{"age":16}]}`,
|
||||
errMsg: "there is only one of '_match_route_', '_match_domain_' and '_match_service_' can present in configuration.",
|
||||
errMsg: "there is only one of '_match_route_', '_match_domain_', '_match_service_' and '_match_route_prefix_' can present in configuration.",
|
||||
},
|
||||
}
|
||||
for _, c := range cases {
|
||||
@@ -378,7 +394,8 @@ func TestParseOverrideConfig(t *testing.T) {
|
||||
"r1": {},
|
||||
"r2": {},
|
||||
},
|
||||
services: map[string]struct{}{},
|
||||
services: map[string]struct{}{},
|
||||
routePrefixs: map[string]struct{}{},
|
||||
config: completeConfig{
|
||||
consumers: []string{"c1", "c2", "c3"},
|
||||
allow: []string{"c1", "c3"},
|
||||
|
||||
Reference in New Issue
Block a user