|
|
@@ -8,6 +8,8 @@ import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; |
|
|
|
import org.testng.*; |
|
|
|
import org.testng.annotations.*; |
|
|
|
|
|
|
|
import java.util.concurrent.ExecutorService; |
|
|
|
import java.util.concurrent.Executors; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
/** |
|
|
@@ -67,9 +69,23 @@ public class WxMpMessageRouterTest { |
|
|
|
prepare(true, sb, router); |
|
|
|
router.route(message); |
|
|
|
Thread.sleep(500); |
|
|
|
router.shutDownExecutorService(); |
|
|
|
Assert.assertEquals(sb.toString(), expected); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(dataProvider = "messages-1") |
|
|
|
public void testExternalExcutorService(WxMpXmlMessage message, String expected) throws InterruptedException { |
|
|
|
StringBuffer sb = new StringBuffer(); |
|
|
|
ExecutorService executorService = Executors.newFixedThreadPool(100); |
|
|
|
WxMpMessageRouter router = new WxMpMessageRouter(null, executorService); |
|
|
|
prepare(true, sb, router); |
|
|
|
router.route(message); |
|
|
|
Thread.sleep(500); |
|
|
|
executorService.shutdown(); |
|
|
|
Assert.assertEquals(sb.toString(), expected); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void testConcurrency() throws InterruptedException { |
|
|
|
final WxMpMessageRouter router = new WxMpMessageRouter(null); |
|
|
|
router.rule().handler(new WxMpMessageHandler() { |
|
|
|