This is an automated email from the ASF dual-hosted git repository.

xiaoyu 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 e00273464 [type:fix] fixed AbstractShenyuPluginTest:increase 
independence of testing and accuracy of test (#4150)
e00273464 is described below

commit e00273464dfaacab837a3b0a6f0f9e43e51d6c65
Author: 愿凌飞 <[email protected]>
AuthorDate: Tue Nov 1 10:58:05 2022 +0800

    [type:fix] fixed AbstractShenyuPluginTest:increase independence of testing 
and accuracy of test (#4150)
    
    Co-authored-by: xiaoyu <[email protected]>
---
 .../shenyu/plugin/base/AbstractShenyuPluginTest.java    | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

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 2dfbbd64f..6213fb146 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
@@ -39,6 +39,8 @@ import java.util.Collections;
 import java.util.List;
 
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 /**
@@ -75,9 +77,10 @@ public final class AbstractShenyuPluginTest {
         this.pluginData = 
PluginData.builder().name("SHENYU").enabled(true).build();
         this.selectorData = SelectorData.builder().id("1").pluginName("SHENYU")
                 
.enabled(true).type(SelectorTypeEnum.CUSTOM_FLOW.getCode()).build();
-        this.testShenyuPlugin = new TestShenyuPlugin();
+        this.testShenyuPlugin = spy(new TestShenyuPlugin());
         this.exchange = 
MockServerWebExchange.from(MockServerHttpRequest.get("/http/SHENYU/SHENYU")
                 .build());
+        clearCache();
         when(shenyuPluginChain.execute(exchange)).thenReturn(Mono.empty());
     }
 
@@ -87,6 +90,7 @@ public final class AbstractShenyuPluginTest {
     @Test
     public void executePluginIsNullTest() {
         StepVerifier.create(testShenyuPlugin.execute(exchange, 
shenyuPluginChain)).expectSubscription().verifyComplete();
+        verify(shenyuPluginChain).execute(exchange);
     }
 
     /**
@@ -96,6 +100,7 @@ public final class AbstractShenyuPluginTest {
     public void executeSelectorIsNullTest() {
         BaseDataCache.getInstance().cachePluginData(pluginData);
         StepVerifier.create(testShenyuPlugin.execute(exchange, 
shenyuPluginChain)).expectSubscription().verifyComplete();
+        verify(shenyuPluginChain).execute(exchange);
     }
 
     /**
@@ -106,6 +111,7 @@ public final class AbstractShenyuPluginTest {
         BaseDataCache.getInstance().cachePluginData(pluginData);
         BaseDataCache.getInstance().cacheSelectData(selectorData);
         StepVerifier.create(testShenyuPlugin.execute(exchange, 
shenyuPluginChain)).expectSubscription().verifyComplete();
+        verify(shenyuPluginChain).execute(exchange);
     }
 
     /**
@@ -120,6 +126,7 @@ public final class AbstractShenyuPluginTest {
         BaseDataCache.getInstance().cachePluginData(pluginData);
         BaseDataCache.getInstance().cacheSelectData(selectorData);
         StepVerifier.create(testShenyuPlugin.execute(exchange, 
shenyuPluginChain)).expectSubscription().verifyComplete();
+        verify(shenyuPluginChain).execute(exchange);
     }
 
     /**
@@ -137,6 +144,7 @@ public final class AbstractShenyuPluginTest {
         BaseDataCache.getInstance().cacheSelectData(selectorData);
         BaseDataCache.getInstance().cacheRuleData(ruleData);
         StepVerifier.create(testShenyuPlugin.execute(exchange, 
shenyuPluginChain)).expectSubscription().verifyComplete();
+        verify(testShenyuPlugin).doExecute(exchange, shenyuPluginChain, 
selectorData, ruleData);
     }
 
     /**
@@ -155,6 +163,7 @@ public final class AbstractShenyuPluginTest {
         BaseDataCache.getInstance().cacheSelectData(selectorData);
         BaseDataCache.getInstance().cacheRuleData(ruleData);
         StepVerifier.create(testShenyuPlugin.execute(exchange, 
shenyuPluginChain)).expectSubscription().verifyComplete();
+        verify(testShenyuPlugin).doExecute(exchange, shenyuPluginChain, 
selectorData, ruleData);
     }
 
     private void mockShenyuConfig() {
@@ -163,6 +172,12 @@ public final class AbstractShenyuPluginTest {
         SpringBeanUtils.getInstance().setApplicationContext(context);
     }
 
+    private void clearCache() {
+        BaseDataCache.getInstance().cleanPluginData();
+        BaseDataCache.getInstance().cleanSelectorData();
+        BaseDataCache.getInstance().cleanRuleData();
+    }
+
     static class TestShenyuPlugin extends AbstractShenyuPlugin {
 
         @Override

Reply via email to