Signed-off-by: Eric Zhao <sczyh16@gmail.com>master
@@ -62,10 +62,10 @@ public class GatewayParamParser<T> { | |||
hasNonParamRule = true; | |||
} | |||
} | |||
if (gatewayRules.isEmpty()) { | |||
if (!hasNonParamRule && gatewayRules.isEmpty()) { | |||
return new Object[0]; | |||
} | |||
if (predSet.size() != 1 || predSet.contains(false)) { | |||
if (predSet.size() > 1 || predSet.contains(false)) { | |||
return new Object[0]; | |||
} | |||
int size = hasNonParamRule ? gatewayRules.size() + 1 : gatewayRules.size(); | |||
@@ -70,10 +70,15 @@ public class GatewayParamParserTest { | |||
.setCount(5) | |||
.setIntervalSec(1) | |||
); | |||
rules.add(new GatewayFlowRule(routeId1) | |||
.setCount(10) | |||
.setControlBehavior(2) | |||
.setMaxQueueingTimeoutMs(1000) | |||
); | |||
GatewayRuleManager.loadRules(rules); | |||
Object[] params = parser.parseParameterFor(routeId1, request, routeIdPredicate); | |||
assertThat(params.length).isZero(); | |||
assertThat(params.length).isEqualTo(1); | |||
} | |||
@Test | |||
@@ -67,7 +67,7 @@ public class SpringCloudGatewayParamParserTest { | |||
Object[] params = paramParser.parseParameterFor(routeId1, exchange, | |||
e -> e.getResourceMode() == 0); | |||
assertThat(params.length).isZero(); | |||
assertThat(params.length).isEqualTo(1); | |||
} | |||
@Test | |||