diff --git a/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/tps/DefaultTPSLimiterTest.java b/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/tps/DefaultTPSLimiterTest.java index 6633f587a9c9..046cfd7cce91 100644 --- a/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/tps/DefaultTPSLimiterTest.java +++ b/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/tps/DefaultTPSLimiterTest.java @@ -29,6 +29,7 @@ public class DefaultTPSLimiterTest { + private static final int TEST_LIMIT_RATE = 2; private DefaultTPSLimiter defaultTPSLimiter = new DefaultTPSLimiter(); @Test @@ -36,9 +37,9 @@ public void testIsAllowable() throws Exception { Invocation invocation = new MockInvocation(); URL url = URL.valueOf("test://test"); url = url.addParameter(INTERFACE_KEY, "org.apache.dubbo.rpc.file.TpsService"); - url = url.addParameter(TPS_LIMIT_RATE_KEY, 2); + url = url.addParameter(TPS_LIMIT_RATE_KEY, TEST_LIMIT_RATE); url = url.addParameter(TPS_LIMIT_INTERVAL_KEY, 1000); - for (int i = 0; i < 3; i++) { + for (int i = 1; i <= TEST_LIMIT_RATE; i++) { Assertions.assertTrue(defaultTPSLimiter.isAllowable(url, invocation)); } } @@ -48,10 +49,10 @@ public void testIsNotAllowable() throws Exception { Invocation invocation = new MockInvocation(); URL url = URL.valueOf("test://test"); url = url.addParameter(INTERFACE_KEY, "org.apache.dubbo.rpc.file.TpsService"); - url = url.addParameter(TPS_LIMIT_RATE_KEY, 2); + url = url.addParameter(TPS_LIMIT_RATE_KEY, TEST_LIMIT_RATE); url = url.addParameter(TPS_LIMIT_INTERVAL_KEY, 1000); - for (int i = 0; i < 4; i++) { - if (i == 3) { + for (int i = 1; i <= TEST_LIMIT_RATE + 1; i++) { + if (i == TEST_LIMIT_RATE + 1) { Assertions.assertFalse(defaultTPSLimiter.isAllowable(url, invocation)); } else { Assertions.assertTrue(defaultTPSLimiter.isAllowable(url, invocation)); @@ -65,14 +66,17 @@ public void testConfigChange() throws Exception { Invocation invocation = new MockInvocation(); URL url = URL.valueOf("test://test"); url = url.addParameter(INTERFACE_KEY, "org.apache.dubbo.rpc.file.TpsService"); - url = url.addParameter(TPS_LIMIT_RATE_KEY, 2); + url = url.addParameter(TPS_LIMIT_RATE_KEY, TEST_LIMIT_RATE); url = url.addParameter(TPS_LIMIT_INTERVAL_KEY, 1000); - for (int i = 0; i < 3; i++) { + for (int i = 1; i <= 2; i++) { Assertions.assertTrue(defaultTPSLimiter.isAllowable(url, invocation)); } - url = url.addParameter(TPS_LIMIT_RATE_KEY, 2000); - for (int i = 0; i < 3; i++) { + final int tenTimesLimitRate = TEST_LIMIT_RATE * 10; + url = url.addParameter(TPS_LIMIT_RATE_KEY, tenTimesLimitRate); + for (int i = 1; i <= tenTimesLimitRate; i++) { Assertions.assertTrue(defaultTPSLimiter.isAllowable(url, invocation)); } + + Assertions.assertFalse(defaultTPSLimiter.isAllowable(url, invocation)); } }