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);