This is an automated email from the ASF dual-hosted git repository.
likeguo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new caaf50c00 Perfect AbstractShenyuPluginTest (#4434)
caaf50c00 is described below
commit caaf50c00c610a4c54b83d0bcedba28100056c3a
Author: iwangjie <[email protected]>
AuthorDate: Sun Mar 12 20:21:19 2023 +0800
Perfect AbstractShenyuPluginTest (#4434)
Co-authored-by: dragon-zhang <[email protected]>
Co-authored-by: xiaoyu <[email protected]>
---
.../plugin/base/AbstractShenyuPluginTest.java | 58 ++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git
a/shenyu-plugin/shenyu-plugin-base/src/test/java/org/apache/shenyu/plugin/base/AbstractShenyuPluginTest.java
b/shenyu-plugin/shenyu-plugin-base/src/test/java/org/apache/shenyu/plugin/base/AbstractShenyuPluginTest.java
index 0ea30a92b..1165a68d7 100644
---
a/shenyu-plugin/shenyu-plugin-base/src/test/java/org/apache/shenyu/plugin/base/AbstractShenyuPluginTest.java
+++
b/shenyu-plugin/shenyu-plugin-base/src/test/java/org/apache/shenyu/plugin/base/AbstractShenyuPluginTest.java
@@ -157,6 +157,64 @@ public final class AbstractShenyuPluginTest {
verify(testShenyuPlugin).doExecute(exchange, shenyuPluginChain,
selectorData, ruleData);
}
+ @Test
+ public void executeSelectorManyMatch() {
+ List<ConditionData> conditionDataList =
Collections.singletonList(conditionData);
+ this.ruleData.setConditionDataList(conditionDataList);
+ this.ruleData.setMatchMode(0);
+ this.selectorData.setSort(1);
+ this.selectorData.setMatchMode(0);
+ this.selectorData.setLogged(true);
+ this.selectorData.setConditionList(conditionDataList);
+ BaseDataCache.getInstance().cachePluginData(pluginData);
+ BaseDataCache.getInstance().cacheSelectData(selectorData);
+ BaseDataCache.getInstance().cacheSelectData(SelectorData.builder()
+ .id("2").pluginName("SHENYU")
+ .enabled(true)
+ .matchMode(0)
+ .logged(true)
+ .sort(2)
+ .conditionList(conditionDataList)
+ .type(SelectorTypeEnum.CUSTOM_FLOW.getCode()).build());
+ BaseDataCache.getInstance().cacheRuleData(ruleData);
+ StepVerifier.create(testShenyuPlugin.execute(exchange,
shenyuPluginChain)).expectSubscription().verifyComplete();
+ verify(testShenyuPlugin).doExecute(exchange, shenyuPluginChain,
selectorData, ruleData);
+ }
+
+ @Test
+ public void executeRuleManyMatch() {
+ List<ConditionData> conditionDataList =
Collections.singletonList(conditionData);
+ this.ruleData.setConditionDataList(conditionDataList);
+ this.ruleData.setMatchMode(0);
+ this.selectorData.setMatchMode(0);
+ this.selectorData.setLogged(true);
+ this.selectorData.setConditionList(conditionDataList);
+ BaseDataCache.getInstance().cachePluginData(pluginData);
+ BaseDataCache.getInstance().cacheSelectData(selectorData);
+
+ BaseDataCache.getInstance().cacheRuleData(RuleData.builder()
+ .id("1")
+ .pluginName("SHENYU")
+ .selectorId("1")
+ .enabled(true)
+ .loged(true)
+ .matchMode(0)
+ .conditionDataList(Collections.singletonList(conditionData))
+ .sort(1).build());
+
+ BaseDataCache.getInstance().cacheRuleData(RuleData.builder()
+ .id("2")
+ .pluginName("SHENYU")
+ .selectorId("1")
+ .enabled(true)
+ .loged(true)
+ .matchMode(0)
+ .conditionDataList(Collections.singletonList(conditionData))
+ .sort(1).build());
+ StepVerifier.create(testShenyuPlugin.execute(exchange,
shenyuPluginChain)).expectSubscription().verifyComplete();
+ verify(testShenyuPlugin).doExecute(exchange, shenyuPluginChain,
selectorData, ruleData);
+ }
+
/**
* The rule is full test.
*/