package com.rabbitmq.client.test;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.DnsRecordIpAddressResolver;
import org.junit.Test;
import java.io.IOException;
import java.net.UnknownHostException;
import java.util.concurrent.TimeoutException;
import static org.junit.Assert.fail;
/**
*
*/
public class DnsRecordIpAddressResolverTests extends BrokerTestCase {
@Test public void localhostResolution() throws IOException, TimeoutException {
DnsRecordIpAddressResolver addressResolver = new DnsRecordIpAddressResolver("localhost");
ConnectionFactory connectionFactory = newConnectionFactory();
Connection connection = connectionFactory.newConnection(addressResolver);
try {
connection.createChannel();
} finally {
connection.abort();
}
}
@Test public void loopbackInterfaceResolution() throws IOException, TimeoutException {
DnsRecordIpAddressResolver addressResolver = new DnsRecordIpAddressResolver("127.0.0.1");
ConnectionFactory connectionFactory = newConnectionFactory();
Connection connection = connectionFactory.newConnection(addressResolver);
try {
connection.createChannel();
} finally {
connection.abort();
}
}
@Test public void resolutionFails() throws IOException, TimeoutException {
DnsRecordIpAddressResolver addressResolver = new DnsRecordIpAddressResolver(
"afancyandunlikelyhostname"
);
try {
connectionFactory.newConnection(addressResolver);
fail("The host resolution should have failed");
} catch (UnknownHostException e) {
// expected
}
}
}