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/incubator-shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new 22f84012a [type: optimize] shenyu-common test cases (#3389)
22f84012a is described below

commit 22f84012ae7607240d9802b55602746720a059d0
Author: Codd <[email protected]>
AuthorDate: Fri May 6 18:47:07 2022 +0800

    [type: optimize] shenyu-common test cases (#3389)
    
    * [type: optimize] add shenyu-common enums test cases
    
    * [type: optimize] add shenyu-common utils test cases
    
    * [type: optimize] add shenyu-common utils test cases
---
 ...EventEnums.java => PluginHandlerEventEnum.java} |  2 +-
 .../convert/rule/RuleHandleTest.java}              | 35 +++++++--------
 .../enums/AdminDataPermissionTypeEnumTest.java}    | 29 ++++---------
 .../common/enums/AdminDataSourceEnumTest.java}     | 31 +++++---------
 .../shenyu/common/enums/OperatorEnumTest.java      |  7 +++
 .../apache/shenyu/common/enums/PluginEnumTest.java | 12 ++++++
 .../common/enums/PluginHandlerEventEnumTest.java}  | 29 ++++---------
 .../{PluginEnumTest.java => RetryEnumTest.java}    | 26 +++++------
 .../ContextPathUtilsTest.java}                     | 31 ++++++--------
 .../shenyu/common/utils/FreshBeanHolderTest.java   | 50 ++++++++++++++++++++++
 .../ObjectTypeUtilsTest.java}                      | 41 ++++++++----------
 .../PluginNameAdapterTest.java}                    | 29 +++++--------
 .../apache/shenyu/common/utils/SingletonTest.java} | 33 +++++---------
 .../base/cache/CommonPluginDataSubscriber.java     | 10 ++---
 .../plugin/base/cache/PluginHandlerEvent.java      | 12 +++---
 .../shenyu/web/handler/ShenyuWebHandler.java       |  4 +-
 .../shenyu/web/handler/ShenyuWebHandlerTest.java   | 14 +++---
 17 files changed, 196 insertions(+), 199 deletions(-)

diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
 
b/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnum.java
similarity index 96%
copy from 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
copy to 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnum.java
index eb06b6a6e..0d13d6c6f 100644
--- 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
+++ 
b/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnum.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.common.enums;
 /**
  * plugin handler event.
  */
-public enum PluginHandlerEventEnums {
+public enum PluginHandlerEventEnum {
 
     /**
      * plugin enabled.
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/RuleHandleTest.java
similarity index 58%
copy from 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
copy to 
shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/RuleHandleTest.java
index 1dc8ac385..e69272388 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/RuleHandleTest.java
@@ -15,34 +15,31 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.enums;
+package org.apache.shenyu.common.dto.convert.rule;
 
+import org.apache.shenyu.common.utils.GsonUtils;
 import org.junit.jupiter.api.Test;
 
-import java.util.Arrays;
-import java.util.List;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-/**
- * Test Cases for PluginEnum.
- */
-public final class PluginEnumTest {
+public class RuleHandleTest {
 
     @Test
-    public void testGetPluginEnumByName() {
-        Arrays.stream(PluginEnum.values())
-                .forEach(pluginEnum -> assertEquals(pluginEnum, 
PluginEnum.getPluginEnumByName(pluginEnum.getName())));
+    public void testToJson() {
+        assertNotNull(new RuleTest().toJson());
+        assertEquals(GsonUtils.getInstance().toJson(new RuleTest()), new 
RuleTest().toJson());
     }
 
-    @Test
-    public void testGetPluginEnumByNameInvalid() {
-        assertEquals(PluginEnum.GLOBAL, 
PluginEnum.getPluginEnumByName("invalidName"));
-    }
+    static class RuleTest implements RuleHandle {
 
-    @Test
-    public void testGetUpstreamNames() {
-        List<String> list = PluginEnum.getUpstreamNames();
-        assert list.size() > 0;
+        private final String id = "1";
+
+        private final String name = "rule-handle";
+
+        @Override
+        public String toJson() {
+            return RuleHandle.super.toJson();
+        }
     }
 }
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/AdminDataPermissionTypeEnumTest.java
similarity index 68%
copy from 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
copy to 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/AdminDataPermissionTypeEnumTest.java
index eb06b6a6e..4a073521e 100644
--- 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/AdminDataPermissionTypeEnumTest.java
@@ -17,28 +17,17 @@
 
 package org.apache.shenyu.common.enums;
 
-/**
- * plugin handler event.
- */
-public enum PluginHandlerEventEnums {
+import org.junit.jupiter.api.Test;
 
-    /**
-     * plugin enabled.
-     */
-    ENABLED,
+import java.util.Arrays;
 
-    /**
-     * plugin disabled.
-     */
-    DISABLED,
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-    /**
-     * plugin deleted.
-     */
-    DELETE,
+public class AdminDataPermissionTypeEnumTest {
 
-    /**
-     * plugin sorted.
-     */
-    SORTED;
+    @Test
+    public void testEvent() {
+        Arrays.stream(AdminDataPermissionTypeEnum.values())
+                .forEach(adminData -> assertEquals(adminData, 
AdminDataPermissionTypeEnum.valueOf(adminData.name())));
+    }
 }
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/AdminDataSourceEnumTest.java
similarity index 64%
copy from 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
copy to 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/AdminDataSourceEnumTest.java
index eb06b6a6e..4b546702f 100644
--- 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/AdminDataSourceEnumTest.java
@@ -17,28 +17,17 @@
 
 package org.apache.shenyu.common.enums;
 
-/**
- * plugin handler event.
- */
-public enum PluginHandlerEventEnums {
-
-    /**
-     * plugin enabled.
-     */
-    ENABLED,
+import org.junit.jupiter.api.Test;
 
-    /**
-     * plugin disabled.
-     */
-    DISABLED,
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-    /**
-     * plugin deleted.
-     */
-    DELETE,
+public class AdminDataSourceEnumTest {
 
-    /**
-     * plugin sorted.
-     */
-    SORTED;
+    @Test
+    public void testName() {
+        assertEquals("h2", AdminDataSourceEnum.H2.getValue());
+        assertEquals("mysql", AdminDataSourceEnum.MYSQL.getValue());
+        assertEquals("postgresql", AdminDataSourceEnum.POSTGRESQL.getValue());
+        assertEquals("oracle", AdminDataSourceEnum.ORACLE.getValue());
+    }
 }
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/OperatorEnumTest.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/OperatorEnumTest.java
index d9b3f96dc..996196ffe 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/OperatorEnumTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/OperatorEnumTest.java
@@ -19,6 +19,7 @@ package org.apache.shenyu.common.enums;
 
 import org.junit.jupiter.api.Test;
 
+import java.util.Arrays;
 import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -55,4 +56,10 @@ public final class OperatorEnumTest {
         assertEquals(OperatorEnum.REGEX, 
OperatorEnum.getOperatorEnumByAlias("regex"));
         assertEquals(OperatorEnum.CONTAINS, 
OperatorEnum.getOperatorEnumByAlias("contains"));
     }
+
+    @Test
+    public void testGetSupport() {
+        Arrays.stream(OperatorEnum.values())
+                .forEach(operatorEnum -> 
assertEquals(operatorEnum.getSupport(), 
OperatorEnum.valueOf(operatorEnum.name()).getSupport()));
+    }
 }
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
index 1dc8ac385..516ba9ac1 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
@@ -45,4 +45,16 @@ public final class PluginEnumTest {
         List<String> list = PluginEnum.getUpstreamNames();
         assert list.size() > 0;
     }
+
+    @Test
+    public void testGetCode() {
+        Arrays.stream(PluginEnum.values())
+                .forEach(pluginEnum -> assertEquals(pluginEnum.getCode(), 
PluginEnum.getPluginEnumByName(pluginEnum.getName()).getCode()));
+    }
+
+    @Test
+    public void testGetRole() {
+        Arrays.stream(PluginEnum.values())
+                .forEach(pluginEnum -> assertEquals(pluginEnum.getRole(), 
PluginEnum.getPluginEnumByName(pluginEnum.getName()).getRole()));
+    }
 }
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginHandlerEventEnumTest.java
similarity index 68%
copy from 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
copy to 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginHandlerEventEnumTest.java
index eb06b6a6e..a3a7f63e3 100644
--- 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginHandlerEventEnumTest.java
@@ -17,28 +17,17 @@
 
 package org.apache.shenyu.common.enums;
 
-/**
- * plugin handler event.
- */
-public enum PluginHandlerEventEnums {
+import org.junit.jupiter.api.Test;
 
-    /**
-     * plugin enabled.
-     */
-    ENABLED,
+import java.util.Arrays;
 
-    /**
-     * plugin disabled.
-     */
-    DISABLED,
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-    /**
-     * plugin deleted.
-     */
-    DELETE,
+public class PluginHandlerEventEnumTest {
 
-    /**
-     * plugin sorted.
-     */
-    SORTED;
+    @Test
+    public void testEvent() {
+        Arrays.stream(PluginHandlerEventEnum.values())
+                .forEach(pluginHandler -> assertEquals(pluginHandler, 
PluginHandlerEventEnum.valueOf(pluginHandler.name())));
+    }
 }
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
 b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/RetryEnumTest.java
similarity index 62%
copy from 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
copy to 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/RetryEnumTest.java
index 1dc8ac385..49f894c7d 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/enums/RetryEnumTest.java
@@ -19,30 +19,26 @@ package org.apache.shenyu.common.enums;
 
 import org.junit.jupiter.api.Test;
 
-import java.util.Arrays;
-import java.util.List;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-/**
- * Test Cases for PluginEnum.
- */
-public final class PluginEnumTest {
+public class RetryEnumTest {
 
     @Test
-    public void testGetPluginEnumByName() {
-        Arrays.stream(PluginEnum.values())
-                .forEach(pluginEnum -> assertEquals(pluginEnum, 
PluginEnum.getPluginEnumByName(pluginEnum.getName())));
+    public void testRetryCode() {
+        assertEquals(1, RetryEnum.CURRENT.getCode());
+        assertEquals(2, RetryEnum.FAILOVER.getCode());
     }
 
     @Test
-    public void testGetPluginEnumByNameInvalid() {
-        assertEquals(PluginEnum.GLOBAL, 
PluginEnum.getPluginEnumByName("invalidName"));
+    public void testRetryName() {
+        assertEquals("current", RetryEnum.CURRENT.getName());
+        assertEquals("failover", RetryEnum.FAILOVER.getName());
     }
 
     @Test
-    public void testGetUpstreamNames() {
-        List<String> list = PluginEnum.getUpstreamNames();
-        assert list.size() > 0;
+    public void testSupport() {
+        assertTrue(RetryEnum.CURRENT.isSupport());
+        assertTrue(RetryEnum.FAILOVER.isSupport());
     }
 }
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/ContextPathUtilsTest.java
similarity index 58%
copy from 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
copy to 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/ContextPathUtilsTest.java
index 1dc8ac385..180f18473 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/ContextPathUtilsTest.java
@@ -15,34 +15,27 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.enums;
+package org.apache.shenyu.common.utils;
 
 import org.junit.jupiter.api.Test;
 
-import java.util.Arrays;
-import java.util.List;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-/**
- * Test Cases for PluginEnum.
- */
-public final class PluginEnumTest {
-
-    @Test
-    public void testGetPluginEnumByName() {
-        Arrays.stream(PluginEnum.values())
-                .forEach(pluginEnum -> assertEquals(pluginEnum, 
PluginEnum.getPluginEnumByName(pluginEnum.getName())));
-    }
+public class ContextPathUtilsTest {
 
     @Test
-    public void testGetPluginEnumByNameInvalid() {
-        assertEquals(PluginEnum.GLOBAL, 
PluginEnum.getPluginEnumByName("invalidName"));
+    public void testBuildContextPath() {
+        final String url = "/contextPath/service";
+        final String appName = "/app";
+        assertEquals(url, ContextPathUtils.buildContextPath(url, appName));
+        assertEquals(appName, ContextPathUtils.buildContextPath("", appName));
     }
 
     @Test
-    public void testGetUpstreamNames() {
-        List<String> list = PluginEnum.getUpstreamNames();
-        assert list.size() > 0;
+    public void testBuildRealNode() {
+        final String url = "/contextPath/service";
+        final String appName = "/app";
+        assertEquals(url.substring(1), ContextPathUtils.buildRealNode(url, 
appName));
+        assertEquals(appName.substring(1), ContextPathUtils.buildRealNode("", 
appName));
     }
 }
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/utils/FreshBeanHolderTest.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/FreshBeanHolderTest.java
new file mode 100644
index 000000000..e6b550d0d
--- /dev/null
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/FreshBeanHolderTest.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shenyu.common.utils;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.function.Function;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class FreshBeanHolderTest {
+
+    @Test
+    public void testApply() {
+        Function<String, String> function = Function.identity();
+        FreshBeanHolder<String, String> freshBeanHolder = new 
FreshBeanHolder<>(function);
+        assertEquals("hello", freshBeanHolder.apply("hello"));
+    }
+
+    @Test
+    public void testDoFresh() {
+        Function<String, String> function = Function.identity();
+        FreshBeanHolder<String, String> freshBeanHolder = new 
FreshBeanHolder<>(function);
+        freshBeanHolder.doFresh("hello world");
+        assertEquals("hello world", freshBeanHolder.apply("hello"));
+    }
+
+    @Test
+    public void testInit() {
+        Function<String, String> function = Function.identity();
+        FreshBeanHolder<String, String> freshBeanHolder = new 
FreshBeanHolder<>(function);
+        freshBeanHolder.init("hello world");
+        assertEquals("hello world", freshBeanHolder.init("hello"));
+    }
+}
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/ObjectTypeUtilsTest.java
similarity index 53%
copy from 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
copy to 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/ObjectTypeUtilsTest.java
index 1dc8ac385..d71f8af8e 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/ObjectTypeUtilsTest.java
@@ -15,34 +15,29 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.enums;
+package org.apache.shenyu.common.utils;
 
 import org.junit.jupiter.api.Test;
 
-import java.util.Arrays;
-import java.util.List;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Test Cases for PluginEnum.
- */
-public final class PluginEnumTest {
-
-    @Test
-    public void testGetPluginEnumByName() {
-        Arrays.stream(PluginEnum.values())
-                .forEach(pluginEnum -> assertEquals(pluginEnum, 
PluginEnum.getPluginEnumByName(pluginEnum.getName())));
-    }
-
-    @Test
-    public void testGetPluginEnumByNameInvalid() {
-        assertEquals(PluginEnum.GLOBAL, 
PluginEnum.getPluginEnumByName("invalidName"));
-    }
+public class ObjectTypeUtilsTest {
 
     @Test
-    public void testGetUpstreamNames() {
-        List<String> list = PluginEnum.getUpstreamNames();
-        assert list.size() > 0;
+    public void testIsBasicType() {
+        Object o = 1;
+        assertTrue(ObjectTypeUtils.isBasicType(o));
+        o = new Short("1");
+        assertTrue(ObjectTypeUtils.isBasicType(o));
+        o = new Long("1");
+        assertTrue(ObjectTypeUtils.isBasicType(o));
+        o = new Double("1");
+        assertTrue(ObjectTypeUtils.isBasicType(o));
+        o = new Float("1");
+        assertTrue(ObjectTypeUtils.isBasicType(o));
+        o = Boolean.TRUE;
+        assertTrue(ObjectTypeUtils.isBasicType(o));
+        CharSequence str = "hello world";
+        assertTrue(ObjectTypeUtils.isBasicType(str));
     }
 }
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/PluginNameAdapterTest.java
similarity index 58%
copy from 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
copy to 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/PluginNameAdapterTest.java
index 1dc8ac385..2b83082e4 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/enums/PluginEnumTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/PluginNameAdapterTest.java
@@ -15,34 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.enums;
+package org.apache.shenyu.common.utils;
 
+import org.apache.shenyu.common.enums.PluginEnum;
+import org.apache.shenyu.common.enums.RpcTypeEnum;
 import org.junit.jupiter.api.Test;
 
 import java.util.Arrays;
-import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-/**
- * Test Cases for PluginEnum.
- */
-public final class PluginEnumTest {
-
-    @Test
-    public void testGetPluginEnumByName() {
-        Arrays.stream(PluginEnum.values())
-                .forEach(pluginEnum -> assertEquals(pluginEnum, 
PluginEnum.getPluginEnumByName(pluginEnum.getName())));
-    }
+public class PluginNameAdapterTest {
 
     @Test
-    public void testGetPluginEnumByNameInvalid() {
-        assertEquals(PluginEnum.GLOBAL, 
PluginEnum.getPluginEnumByName("invalidName"));
-    }
+    public void testRpcTypeAdapter() {
+        Arrays.stream(RpcTypeEnum.values())
+                .filter(rpcTypeEnum -> 
!RpcTypeEnum.HTTP.getName().equals(rpcTypeEnum.getName()))
+                .forEach(rpcTypeEnum -> 
assertEquals(PluginNameAdapter.rpcTypeAdapter(rpcTypeEnum.getName()),
+                        
PluginEnum.getPluginEnumByName(rpcTypeEnum.getName()).getName()));
 
-    @Test
-    public void testGetUpstreamNames() {
-        List<String> list = PluginEnum.getUpstreamNames();
-        assert list.size() > 0;
+        
assertEquals(PluginNameAdapter.rpcTypeAdapter(RpcTypeEnum.HTTP.getName()), 
PluginEnum.DIVIDE.getName());
     }
 }
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
 b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/SingletonTest.java
similarity index 64%
rename from 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
rename to 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/SingletonTest.java
index eb06b6a6e..68a117928 100644
--- 
a/shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnums.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/SingletonTest.java
@@ -15,30 +15,19 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.enums;
+package org.apache.shenyu.common.utils;
 
-/**
- * plugin handler event.
- */
-public enum PluginHandlerEventEnums {
-
-    /**
-     * plugin enabled.
-     */
-    ENABLED,
+import org.junit.jupiter.api.Test;
 
-    /**
-     * plugin disabled.
-     */
-    DISABLED,
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-    /**
-     * plugin deleted.
-     */
-    DELETE,
+public class SingletonTest {
 
-    /**
-     * plugin sorted.
-     */
-    SORTED;
+    @Test
+    public void testSingle() {
+        Singleton.INST.single(this.getClass(), this);
+        assertNotNull(Singleton.INST.get(this.getClass()));
+        assertEquals(this, Singleton.INST.get(this.getClass()));
+    }
 }
diff --git 
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/CommonPluginDataSubscriber.java
 
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/CommonPluginDataSubscriber.java
index f166c6933..9a4c7831a 100644
--- 
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/CommonPluginDataSubscriber.java
+++ 
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/CommonPluginDataSubscriber.java
@@ -22,7 +22,7 @@ import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
 import org.apache.shenyu.common.enums.DataEventTypeEnum;
-import org.apache.shenyu.common.enums.PluginHandlerEventEnums;
+import org.apache.shenyu.common.enums.PluginHandlerEventEnum;
 import org.apache.shenyu.plugin.base.handler.PluginDataHandler;
 import org.apache.shenyu.sync.data.api.PluginDataSubscriber;
 import org.slf4j.Logger;
@@ -180,8 +180,8 @@ public class CommonPluginDataSubscriber implements 
PluginDataSubscriber {
                     .ifPresent(handler -> handler.handlerPlugin(pluginData));
 
             // update enabled plugins
-            PluginHandlerEventEnums state = 
Boolean.TRUE.equals(pluginData.getEnabled())
-                    ? PluginHandlerEventEnums.ENABLED : 
PluginHandlerEventEnums.DISABLED;
+            PluginHandlerEventEnum state = 
Boolean.TRUE.equals(pluginData.getEnabled())
+                    ? PluginHandlerEventEnum.ENABLED : 
PluginHandlerEventEnum.DISABLED;
             eventPublisher.publishEvent(new PluginHandlerEvent(state, 
pluginData));
 
             // sorted plugin
@@ -213,7 +213,7 @@ public class CommonPluginDataSubscriber implements 
PluginDataSubscriber {
         }
         if (Objects.isNull(oldPluginData) || 
Objects.isNull(oldPluginData.getSort())
                 || (!Objects.equals(oldPluginData.getSort(), 
pluginData.getSort()))) {
-            eventPublisher.publishEvent(new 
PluginHandlerEvent(PluginHandlerEventEnums.SORTED, pluginData));
+            eventPublisher.publishEvent(new 
PluginHandlerEvent(PluginHandlerEventEnum.SORTED, pluginData));
         }
     }
 
@@ -229,7 +229,7 @@ public class CommonPluginDataSubscriber implements 
PluginDataSubscriber {
             BaseDataCache.getInstance().removePluginData(pluginData);
             Optional.ofNullable(handlerMap.get(pluginData.getName()))
                     .ifPresent(handler -> handler.removePlugin(pluginData));
-            eventPublisher.publishEvent(new 
PluginHandlerEvent(PluginHandlerEventEnums.DELETE, pluginData));
+            eventPublisher.publishEvent(new 
PluginHandlerEvent(PluginHandlerEventEnum.DELETE, pluginData));
         } else if (data instanceof SelectorData) {
             SelectorData selectorData = (SelectorData) data;
             BaseDataCache.getInstance().removeSelectData(selectorData);
diff --git 
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/PluginHandlerEvent.java
 
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/PluginHandlerEvent.java
index d73e664b7..acd3b4c65 100644
--- 
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/PluginHandlerEvent.java
+++ 
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/PluginHandlerEvent.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.base.cache;
 
 import org.apache.shenyu.common.dto.PluginData;
-import org.apache.shenyu.common.enums.PluginHandlerEventEnums;
+import org.apache.shenyu.common.enums.PluginHandlerEventEnum;
 import org.springframework.context.ApplicationEvent;
 
 /**
@@ -26,18 +26,18 @@ import org.springframework.context.ApplicationEvent;
  */
 public class PluginHandlerEvent extends ApplicationEvent {
 
-    private final PluginHandlerEventEnums pluginHandlerEventEnums;
+    private final PluginHandlerEventEnum pluginHandlerEventEnum;
 
-    public PluginHandlerEvent(final PluginHandlerEventEnums 
pluginHandlerEventEnums, final PluginData source) {
+    public PluginHandlerEvent(final PluginHandlerEventEnum 
pluginHandlerEventEnum, final PluginData source) {
         super(source);
-        this.pluginHandlerEventEnums = pluginHandlerEventEnums;
+        this.pluginHandlerEventEnum = pluginHandlerEventEnum;
     }
 
     /**
      * get plugin handler.
      * @return plugin handler event
      */
-    public PluginHandlerEventEnums getPluginStateEnums() {
-        return pluginHandlerEventEnums;
+    public PluginHandlerEventEnum getPluginStateEnums() {
+        return pluginHandlerEventEnum;
     }
 }
diff --git 
a/shenyu-web/src/main/java/org/apache/shenyu/web/handler/ShenyuWebHandler.java 
b/shenyu-web/src/main/java/org/apache/shenyu/web/handler/ShenyuWebHandler.java
index efb413203..d7966e0af 100644
--- 
a/shenyu-web/src/main/java/org/apache/shenyu/web/handler/ShenyuWebHandler.java
+++ 
b/shenyu-web/src/main/java/org/apache/shenyu/web/handler/ShenyuWebHandler.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.web.handler;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.shenyu.common.config.ShenyuConfig;
 import org.apache.shenyu.common.dto.PluginData;
-import org.apache.shenyu.common.enums.PluginHandlerEventEnums;
+import org.apache.shenyu.common.enums.PluginHandlerEventEnum;
 import org.apache.shenyu.plugin.api.ShenyuPlugin;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.base.cache.BaseDataCache;
@@ -126,7 +126,7 @@ public final class ShenyuWebHandler implements WebHandler, 
ApplicationListener<P
      */
     @Override
     public void onApplicationEvent(final PluginHandlerEvent event) {
-        PluginHandlerEventEnums stateEnums = event.getPluginStateEnums();
+        PluginHandlerEventEnum stateEnums = event.getPluginStateEnums();
         PluginData pluginData = (PluginData) event.getSource();
         switch (stateEnums) {
             case ENABLED:
diff --git 
a/shenyu-web/src/test/java/org/apache/shenyu/web/handler/ShenyuWebHandlerTest.java
 
b/shenyu-web/src/test/java/org/apache/shenyu/web/handler/ShenyuWebHandlerTest.java
index 8bd4e63e6..5136bfb66 100644
--- 
a/shenyu-web/src/test/java/org/apache/shenyu/web/handler/ShenyuWebHandlerTest.java
+++ 
b/shenyu-web/src/test/java/org/apache/shenyu/web/handler/ShenyuWebHandlerTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.web.handler;
 import org.apache.shenyu.common.config.ShenyuConfig;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.PluginData;
-import org.apache.shenyu.common.enums.PluginHandlerEventEnums;
+import org.apache.shenyu.common.enums.PluginHandlerEventEnum;
 import org.apache.shenyu.plugin.api.ShenyuPlugin;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.api.context.ShenyuContext;
@@ -96,14 +96,14 @@ public final class ShenyuWebHandlerTest {
                 .role("test")
                 .sort(60)
                 .build();
-        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnums.ENABLED, pluginData1));
-        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnums.DISABLED, pluginData2));
+        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnum.ENABLED, pluginData1));
+        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnum.DISABLED, pluginData2));
         List<ShenyuPlugin> plugins = (List<ShenyuPlugin>) 
ReflectionTestUtils.getField(shenyuWebHandler, "plugins");
         assertNotNull(plugins);
         assertTrue(plugins.contains(plugin1) && !plugins.contains(plugin2));
 
-        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnums.ENABLED, pluginData1));
-        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnums.DELETE, pluginData2));
+        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnum.ENABLED, pluginData1));
+        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnum.DELETE, pluginData2));
         List<ShenyuPlugin> pluginDelete = (List<ShenyuPlugin>) 
ReflectionTestUtils.getField(shenyuWebHandler, "plugins");
         assertNotNull(pluginDelete);
         assertTrue(pluginDelete.contains(plugin1) && 
!pluginDelete.contains(plugin2));
@@ -112,8 +112,8 @@ public final class ShenyuWebHandlerTest {
         pluginData2.setEnabled(true);
         BaseDataCache.getInstance().cachePluginData(pluginData1);
         BaseDataCache.getInstance().cachePluginData(pluginData2);
-        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnums.ENABLED, pluginData1));
-        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnums.ENABLED, pluginData2));
+        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnum.ENABLED, pluginData1));
+        shenyuWebHandler.onApplicationEvent(new 
PluginHandlerEvent(PluginHandlerEventEnum.ENABLED, pluginData2));
         List<ShenyuPlugin> pluginDataSorted = (List<ShenyuPlugin>) 
ReflectionTestUtils.getField(shenyuWebHandler, "plugins");
         assertNotNull(pluginDataSorted);
         assertEquals(pluginDataSorted.get(0), plugin2);

Reply via email to