* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
+import java.net.InetAddress;
import java.net.URI;
+import java.net.UnknownHostException;
import org.junit.Before;
import org.junit.Test;
import org.onap.aaf.cadi.locator.DNSLocator;
public class JU_DNSLocator {
-
+
private PropAccess access;
-
+
@Before
public void setup() {
access = new PropAccess(new PrintStream(new ByteArrayOutputStream()), new String[0]);
URI uri;
dl = new DNSLocator(access, "https", "localhost", "8100-8101");
-
+
item = dl.best();
uri = dl.get(item);
assertThat(uri.toString(), is("https://localhost:8100"));
}
assertThat(dl.hasItems(), is(false));
- // This doesn't actually do anything besides increase coverage
+ // This doesn't actually do anything besides increase coverage
dl.destroy();
}
-
+
@Test
public void constructorTest() throws LocatorException {
// For coverage
new DNSLocator(access, "https://localhost:8000/");
new DNSLocator(access, "https://aaf-locatexx.onapxxx:8095/locate");
try {
- new DNSLocator(access, "https:localhost:8000");
- fail("Invalid URL should not pass");
+ new DNSLocator(access, "https:localhost:8000");
+ fail("Invalid URL should not pass");
} catch (LocatorException e) {
- access.log(Level.DEBUG, "Valid Exception");
-
+ access.log(Level.DEBUG, "Valid Exception");
+
}
}
-
+
@Test
public void refreshTest() throws LocatorException {
- DNSLocator dl = new DNSLocator(access, "https", "bogushost", "8100-8101");
- assertThat(dl.refresh(), is(false));
+ DNSLocator dl = new DNSLocator(access, "https", "bogushost", "8100-8101",
+ // Note: Lambda would be nice but need JDK 1.7 still
+ // PowerMock couldn't do InetAddress
+ new DNSLocator.DNSLookup() {
+ @Override
+ public InetAddress[] getAllByName(String host) throws UnknownHostException {
+ return new InetAddress[0];
+ }
+ }
+ );
+ assertThat(dl.refresh(), is(true));
}
-
+
@Test(expected = LocatorException.class)
public void throws1Test() throws LocatorException {
new DNSLocator(access, null);