@Test public void testNested() throws Exception { final TestHandler account = new TestHandler("account"); final Router accounts = new Router().add("/{id}", account); final Router root = new Router().add("/accounts", accounts); assertEquals(accounts, root.route(new TestRequest(null, "/accounts/1234", null)).handler); assertEquals(account, accounts.route(new TestRequest(null, "/1234", null)).handler); }
@Test public void testTime() { int connections = 5; List<Integer> opIds = new ArrayList<>(); // Build a router for (int i = 0; i < connections; i++) { opIds.add(i); } Router r = RouterFactory.buildRouterFor(opIds, false); // Try router // Try router int iter = 10000000; long start = System.nanoTime(); for (int i = 0; i < iter; i++) { int opId = r.route(); } long stop = System.nanoTime(); long totalMillis = (stop - start) / 1000000; System.out.println( "Time to route: " + iter + " to " + connections + " downstreams is: " + totalMillis + " ms"); assert (true); }
@Test public void testFlat() throws Exception { final TestHandler root = new TestHandler("root"); final TestHandler account = new TestHandler("account"); final TestHandler permissions = new TestHandler("permissions"); final TestHandler prefix = new TestHandler("prefix"); final TestHandler permission = new TestHandler("permission"); final Router router = new Router() .add("/", root) // .add("/{id}", account) // .add("/{id}/permissions", permissions) // .add("/{id}/permissions/{prefix}", prefix) // .add("/{id}/permission/{token}", permission); assertEquals(root, router.route(new TestRequest(null, "/", null)).handler); assertEquals(account, router.route(new TestRequest(null, "/1234", null)).handler); assertEquals(account, router.route(new TestRequest(null, "/acds", null)).handler); assertEquals(account, router.route(new TestRequest(null, "/acds/", null)).handler); assertEquals(account, router.route(new TestRequest(null, "/acds/x", null)).handler); assertEquals( permissions, router.route(new TestRequest(null, "/1234/permissions", null)).handler); assertEquals( prefix, router.route(new TestRequest(null, "/1234/permissions/com.barchart.feed", null)).handler); assertEquals( permission, router.route( new TestRequest(null, "/1234/permission/com.barchart.feed.stream.symbols", null)) .handler); }
@Test public void test() { int connections = 100; List<Integer> opIds = new ArrayList<>(); // Build a router for (int i = 0; i < connections; i++) { opIds.add(i); } Router r = RouterFactory.buildRouterFor(opIds, false); // Try router int iter = 1000; for (int i = 0; i < iter; i++) { int opId = r.route(); System.out.println("route-to: " + opId); } assert (true); }
private List<RouteNodeInfo> testRoute( RouteRuleOp ruleOp, String ruleParamValue, String destination, String[] availHosts) { RouteInfo route = new RouteInfo(); RouteRuleInfo rule = new RouteRuleInfo(); rule.setType(RouteRuleType.HOST); rule.setSrcOp(ruleOp); rule.setSrcValue(ruleParamValue); rule.setDestination(destination); route.getRules().add(rule); for (String host : availHosts) { RouteNodeInfo node = new RouteNodeInfo(); node.setHost(host); route.getNodes().add(node); } return router.route(rule, route.getNodes(), null); }
public ResponseWaiter route(final Message message) { return router.route(message); }
@Test public void canHandleNull() { router.route(null); }