pekko/akka-docs/src/test/java/jdocs/discovery/DnsDiscoveryDocTest.java
2022-11-30 16:45:15 +01:00

56 lines
1.5 KiB
Java

/*
* Copyright (C) 2020-2022 Lightbend Inc. <https://www.lightbend.com>
*/
package jdocs.discovery;
import org.apache.pekko.actor.ActorSystem;
// #lookup-dns
import org.apache.pekko.discovery.Discovery;
import org.apache.pekko.discovery.ServiceDiscovery;
// #lookup-dns
import org.apache.pekko.testkit.javadsl.TestKit;
import docs.discovery.DnsDiscoveryDocSpec;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.scalatestplus.junit.JUnitSuite;
import java.time.Duration;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;
@SuppressWarnings("unused")
public class DnsDiscoveryDocTest extends JUnitSuite {
private static ActorSystem system;
@BeforeClass
public static void setup() {
system = ActorSystem.create("DnsDiscoveryDocTest", DnsDiscoveryDocSpec.config());
}
@AfterClass
public static void teardown() {
TestKit.shutdownActorSystem(system);
system = null;
}
@Test
public void dnsDiscoveryShouldResolveAkkaIo() throws Exception {
try {
// #lookup-dns
ServiceDiscovery discovery = Discovery.get(system).discovery();
// ...
CompletionStage<ServiceDiscovery.Resolved> result =
discovery.lookup("foo", Duration.ofSeconds(3));
// #lookup-dns
result.toCompletableFuture().get(5, TimeUnit.SECONDS);
} catch (Exception e) {
system.log().warning("Failed lookup akka.io, but ignoring: " + e);
// don't fail this test
}
}
}