Fix CADI Connection to Remote DNS AAF servers on proxied network
[aaf/authz.git] / cadi / client / src / test / java / org / onap / aaf / cadi / locator / test / JU_DNSLocator.java
index e2c8f82..69632e5 100644 (file)
 package org.onap.aaf.cadi.locator.test;
 
 import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.anyOf;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
 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;
@@ -56,9 +59,9 @@ public class JU_DNSLocator {
 
         item = dl.best();
         uri = dl.get(item);
-        assertThat(uri.toString(), is("https://localhost:8100"));
+        assertThat(uri.toString(), anyOf(is("https://localhost:8100"), is("https://127.0.0.1:8100")));
         item = dl.best();
-        assertThat(uri.toString(), is("https://localhost:8100"));
+        assertThat(uri.toString(), anyOf(is("https://localhost:8100"), is("https://127.0.0.1:8100")));
 
         assertThat(dl.hasItems(), is(true));
         for (item = dl.first(); item != null; item = dl.next(item)) {
@@ -94,8 +97,17 @@ public class JU_DNSLocator {
 
     @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)