Improve coverage of Cadi
[aaf/authz.git] / cadi / client / src / test / java / org / onap / aaf / cadi / locator / test / JU_PropertyLocator.java
index 5b13d27..b7558c0 100644 (file)
 
 package org.onap.aaf.cadi.locator.test;
 
+import static org.junit.Assert.*;
+import static org.hamcrest.CoreMatchers.*;
+import static org.mockito.Mockito.*;
+import org.junit.*;
+import org.mockito.*;
+
+import java.net.Socket;
 import java.net.URI;
 
-import org.junit.AfterClass;
-import org.junit.Test;
 import org.onap.aaf.cadi.Locator.Item;
+import org.onap.aaf.cadi.LocatorException;
 import org.onap.aaf.cadi.locator.PropertyLocator;
 
-import static org.junit.Assert.*;
-
 public class JU_PropertyLocator {
 
-       @AfterClass
-       public static void tearDownAfterClass() throws Exception {
+       @Mock
+       Socket socketMock;
+
+       @Before
+       public void setup() {
+               MockitoAnnotations.initMocks(this);
+
+               when(socketMock.isConnected()).thenReturn(true);
+               when(socketMock.isClosed()).thenReturn(true).thenReturn(false);
        }
 
        @Test
        public void test() throws Exception {
+               String uris = "https://fred.wilma.com:26444,https://tom.jerry.com:[534-535]";
+               PropertyLocator pl = new PropertyLocator(uris, 0L, 1000*60*20L) {
+                       @Override protected Socket createSocket() { return socketMock; }
+               };
+               String str = pl.toString();
+               assertThat(str.contains("https://fred.wilma.com:26444"), is(true));
+               assertThat(str.contains("https://tom.jerry.com:534"), is(true));
+               assertThat(str.contains("https://tom.jerry.com:535"), is(true));
+
+               Item item = pl.first();
+               assertThat(item.toString(), is("Item: 0 order: 0"));
+
+               URI uri = pl.get(item);
+               assertThat(uri.toString(), is("https://fred.wilma.com:26444"));
+
+               assertThat(pl.get(null), is(nullValue()));
+
+               assertThat(pl.hasItems(), is(true));
+
+               assertThat(countItems(pl), is(3));
+               pl.invalidate(pl.best());
 
-               // TODO: Ian - Fix this test
-               assertTrue(true);
+               assertThat(countItems(pl), is(2));
+               pl.invalidate(pl.best());
 
-               // PropertyLocator pl = new PropertyLocator("https://localhost:2345,https://fred.wilma.com:26444,https://tom.jerry.com:534");
+               assertThat(countItems(pl), is(1));
+
+               pl.invalidate(pl.best());
+
+               assertThat(pl.hasItems(), is(false));
+               assertThat(countItems(pl), is(0));
+
+               pl.refresh();
+
+               assertThat(pl.hasItems(), is(true));
                
-               // Item i;
-               // int count;
-               // boolean print = false;
-               // for(int j=0;j<900000;++j) {
-               //      count = 0;
-               //      for(i = pl.first();i!=null;i=pl.next(i)) {
-               //              URI loc = pl.get(i);
-               //              if(print)System.out.println(loc.toString());
-               //              ++count;
-               //      }
-               //      assertEquals(3,count);
-               //      assertTrue(pl.hasItems());
-               //      if(print)System.out.println("---");
-               //      pl.invalidate(pl.best());
-                       
-               //      count = 0;
-               //      for(i = pl.first();i!=null;i=pl.next(i)) {
-               //              URI loc = pl.get(i);
-               //              if(print)System.out.println(loc.toString());
-               //              ++count;
-               //      }
-       
-               //      assertEquals(2,count);
-               //      assertTrue(pl.hasItems());
-               //      if(print)System.out.println("---");
-               //      pl.invalidate(pl.best());
-                       
-               //      count = 0;
-               //      for(i = pl.first();i!=null;i=pl.next(i)) {
-               //              URI loc = pl.get(i);
-               //              if(print)System.out.println(loc.toString());
-               //              ++count;
-               //      }
-       
-               //      assertEquals(1,count);
-               //      assertTrue(pl.hasItems());
-               //      if(print)System.out.println("---");
-               //      pl.invalidate(pl.best());
-                       
-               //      count = 0;
-               //      for(i = pl.first();i!=null;i=pl.next(i)) {
-               //              URI loc = pl.get(i);
-               //              if(print)System.out.println(loc.toString());
-               //              ++count;
-               //      }
-       
-               //      assertEquals(0,count);
-               //      assertFalse(pl.hasItems());
-                       
-               //      pl.refresh();
-               // }
+               assertThat(pl.next(null), is(nullValue()));
+
+               // coverage...
+               pl.invalidate(null);
+               pl.invalidate(null);
+               pl.invalidate(null);
+               pl.invalidate(null);
+
+               pl.destroy();
+
+               pl = new PropertyLocator(uris);
+       }
+
+       @Test(expected=LocatorException.class)
+       public void exceptionTest() throws LocatorException {
+               new PropertyLocator(null);
+       }
+
+       private int countItems(PropertyLocator pl) throws LocatorException {
+               int count = 0;
+               for(Item i = pl.first(); i != null; i = pl.next(i)) {
+                       ++count;
+               }
+               return count;
        }
 
 }