@Test public void testResolveCNAME() throws Exception { final String cname = "cname.vertx.io"; dnsServer.testResolveCNAME(cname); DnsClient dns = prepareDns(); dns.resolveCNAME("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); String record = result.get(0); assertFalse(record.isEmpty()); assertEquals(cname, record); testComplete(); })); await(); }
@Test public void testResolveAAAA() throws Exception { dnsServer.testResolveAAAA("::1"); DnsClient dns = prepareDns(); dns.resolveAAAA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals("0:0:0:0:0:0:0:1", result.get(0)); testComplete(); })); await(); }
@Test public void testResolveNS() throws Exception { final String ns = "ns.vertx.io"; dnsServer.testResolveNS(ns); DnsClient dns = prepareDns(); dns.resolveNS("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ns, result.get(0)); testComplete(); })); await(); }
@Test public void testResolveTXT() throws Exception { final String txt = "vertx is awesome"; dnsServer.testResolveTXT(txt); DnsClient dns = prepareDns(); dns.resolveTXT("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(txt, result.get(0)); testComplete(); })); await(); }
@Test public void testDoNotLogActivity() throws Exception { TestLoggerFactory factory = testLogging(new DnsClientOptions().setLogActivity(false)); assertFalse(factory.hasName("io.netty.handler.logging.LoggingHandler")); }
@Test public void testRecursionNotDesired() throws Exception { final String ip = "10.0.0.1"; dnsServer.testResolveA(ip); DnsClient dns = prepareDns(new DnsClientOptions().setRecursionDesired(false)); dns.resolveA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ip, result.get(0)); DnsMessage msg = dnsServer.pollMessage(); assertFalse(msg.isRecursionDesired()); ((DnsClientImpl) dns).inProgressQueries(num -> { assertEquals(0, (int)num); testComplete(); }); })); await(); }
@Test public void testResolveA() throws Exception { final String ip = "10.0.0.1"; dnsServer.testResolveA(ip); DnsClient dns = prepareDns(); dns.resolveA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ip, result.get(0)); ((DnsClientImpl) dns).inProgressQueries(num -> { assertEquals(0, (int)num); testComplete(); }); })); await(); }
@Test public void testResolveAIpV6() throws Exception { final String ip = "10.0.0.1"; dnsServer.testResolveA(ip).ipAddress("::1"); // force the fake dns server to Ipv6 DnsClient dns = prepareDns(); dns.resolveA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ip, result.get(0)); ((DnsClientImpl) dns).inProgressQueries(num -> { assertEquals(0, (int)num); testComplete(); }); })); await(); }
@Test public void testResolveMX() throws Exception { final String mxRecord = "mail.vertx.io"; final int prio = 10; dnsServer.testResolveMX(prio, mxRecord); DnsClient dns = prepareDns(); dns.resolveMX("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); MxRecord record = result.get(0); assertEquals(prio, record.priority()); assertEquals(record.name(), mxRecord); testComplete(); })); await(); }
@Test public void testResolveSRV() throws Exception { final int priority = 10; final int weight = 1; final int port = 80; final String target = "vertx.io"; dnsServer.testResolveSRV(priority, weight, port, target); DnsClient dns = prepareDns(); dns.resolveSRV("vertx.io", ar -> { List<SrvRecord> result = ar.result(); assertNotNull(result); assertFalse(result.isEmpty()); assertEquals(1, result.size()); SrvRecord record = result.get(0); assertEquals(priority, record.priority()); assertEquals(weight, record.weight()); assertEquals(port, record.port()); assertEquals(target, record.target()); testComplete(); }); await(); }
@Test public void testRecursionDesired() throws Exception { final String ip = "10.0.0.1"; dnsServer.testResolveA(ip); DnsClient dns = prepareDns(new DnsClientOptions().setRecursionDesired(true)); dns.resolveA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ip, result.get(0)); DnsMessage msg = dnsServer.pollMessage(); assertTrue(msg.isRecursionDesired()); ((DnsClientImpl) dns).inProgressQueries(num -> { assertEquals(0, (int)num); testComplete(); }); })); await(); }
@Test public void testResolveCNAME() throws Exception { final String cname = "cname.vertx.io"; dnsServer.testResolveCNAME(cname); DnsClient dns = prepareDns(); dns.resolveCNAME("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); String record = result.get(0); assertFalse(record.isEmpty()); assertEquals(cname, record); testComplete(); })); await(); }
@Test public void testResolveAAAA() throws Exception { dnsServer.testResolveAAAA("::1"); DnsClient dns = prepareDns(); dns.resolveAAAA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals("0:0:0:0:0:0:0:1", result.get(0)); testComplete(); })); await(); }
@Test public void testResolveTXT() throws Exception { final String txt = "vertx is awesome"; dnsServer.testResolveTXT(txt); DnsClient dns = prepareDns(); dns.resolveTXT("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(txt, result.get(0)); testComplete(); })); await(); }
@Test public void testResolveNS() throws Exception { final String ns = "ns.vertx.io"; dnsServer.testResolveNS(ns); DnsClient dns = prepareDns(); dns.resolveNS("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ns, result.get(0)); testComplete(); })); await(); }
@Test public void testDoNotLogActivity() throws Exception { TestLoggerFactory factory = testLogging(new DnsClientOptions().setLogActivity(false)); assertFalse(factory.hasName("io.netty.handler.logging.LoggingHandler")); }
@Test public void testResolveA() throws Exception { final String ip = "10.0.0.1"; dnsServer.testResolveA(ip); DnsClient dns = prepareDns(); dns.resolveA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ip, result.get(0)); ((DnsClientImpl) dns).inProgressQueries(num -> { assertEquals(0, (int)num); testComplete(); }); })); await(); }
@Test public void testResolveMX() throws Exception { final String mxRecord = "mail.vertx.io"; final int prio = 10; dnsServer.testResolveMX(prio, mxRecord); DnsClient dns = prepareDns(); dns.resolveMX("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); MxRecord record = result.get(0); assertEquals(prio, record.priority()); assertEquals(record.name(), mxRecord); testComplete(); })); await(); }
@Test public void testResolveAIpV6() throws Exception { final String ip = "10.0.0.1"; dnsServer.testResolveA(ip).ipAddress("::1"); // force the fake dns server to Ipv6 DnsClient dns = prepareDns(); dns.resolveA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ip, result.get(0)); ((DnsClientImpl) dns).inProgressQueries(num -> { assertEquals(0, (int)num); testComplete(); }); })); await(); }
@Test public void testRecursionDesired() throws Exception { final String ip = "10.0.0.1"; dnsServer.testResolveA(ip); DnsClient dns = prepareDns(new DnsClientOptions().setRecursionDesired(true)); dns.resolveA("vertx.io", onSuccess(result -> { assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(ip, result.get(0)); DnsMessage msg = dnsServer.pollMessage(); assertTrue(msg.isRecursionDesired()); ((DnsClientImpl) dns).inProgressQueries(num -> { assertEquals(0, (int)num); testComplete(); }); })); await(); }