@Test(expected = IncompleteClusterException.class) public void testNoHost() throws Exception { new Expression(new HostServiceEvaluator("svc3", null), null, null).evaluate(cluster, clusterNodes, node1); }
@Test public void testFormatOnly() throws Exception { Assert.assertEquals( "oof:2181,owt:2181", new Expression(new HostServiceEvaluator("svc2", null), "$:2181", null).evaluate(cluster, clusterNodes, node1)); }
@Test public void testJoinOnly() throws Exception { Assert.assertEquals( "rab-oof-eno", new Expression(new HostServiceEvaluator("svc1", null), null, "-").evaluate(cluster, clusterNodes, node1)); }
String service = Type.HOST_OF_SERVICE.stripPrefix(macroName); checkService(service); return new HostServiceEvaluator(service, instanceNum); } else if (macroName.startsWith(Type.NUM_OF_NODES_WITH_SERVICE.prefix)) { String service = Type.NUM_OF_NODES_WITH_SERVICE.stripPrefix(macroName);
@Test public void testFormatJoin() throws Exception { Assert.assertEquals( "oof:2181++owt:2181", new Expression(new HostServiceEvaluator("svc2", null), "$:2181", "++").evaluate(cluster, clusterNodes, node1)); }
@Test public void testServiceInstanceHost() throws Exception { Assert.assertEquals( node1.getProperties().getHostname(), new Expression(new HostServiceEvaluator("svc1", 0), null, null).evaluate(cluster, clusterNodes, node1)); Assert.assertEquals( node2.getProperties().getHostname(), new Expression(new HostServiceEvaluator("svc1", 1), null, null).evaluate(cluster, clusterNodes, node1)); }
@Test public void testParseMacroName() throws SyntaxException { Assert.assertEquals(new HostServiceEvaluator("abc", null), Evaluators.evaluatorFor("host.service.abc", null)); Assert.assertEquals(new IPServiceEvaluator("abc", "access_v4", null), Evaluators.evaluatorFor("ip.access_v4.service.abc", null)); Assert.assertEquals(new IPServiceEvaluator("abc", "bind_v4", null), Evaluators.evaluatorFor("ip.service.abc", null)); Assert.assertTrue(Evaluators.evaluatorFor("cluster.owner", null) instanceof ClusterOwnerEvaluator); for (String macro : ImmutableList.of("", "host.service.", "IP_OF_SERVICE.abc", "SERVICE_BULLSHIT_abc")) { try { Evaluators.evaluatorFor(macro, null); Assert.fail("'" + macro + "' should have thrown syntax exception."); } catch (SyntaxException e) { // expected } } } }
@Test public void testParseOK() throws SyntaxException { assertEquals(new Expression(new HostServiceEvaluator("abc", null), null, null), new Parser("host.service.abc").parse()); assertEquals(new Expression(new IPServiceEvaluator("namenode", "access_v4", null), null, null), new Parser("join(ip.access.service.nn,\"\n\")").parse()); assertEquals(new Expression(new HostServiceEvaluator("nn", null), "$:2181", ","), new Parser("join(map(host.service.abc,'$:2181'),',')").parse()); assertEquals(new Expression(new HostServiceEvaluator("abc", 1), null, null), new Parser("host.service.abc[1]").parse()); assertEquals(new Expression(new IPServiceEvaluator("abc", "access", 0), null, null),