public class JU_PropertyLocator {
- @Mock
- Socket socketMock;
+ @Mock
+ Socket socketMock;
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
- when(socketMock.isConnected()).thenReturn(true);
- when(socketMock.isClosed()).thenReturn(true).thenReturn(false);
- }
+ 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));
+ @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"));
+ 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"));
+ URI uri = pl.get(item);
+ assertThat(uri.toString(), is("https://fred.wilma.com:26444"));
- assertThat(pl.get(null), is(nullValue()));
+ assertThat(pl.get(null), is(nullValue()));
- assertThat(pl.hasItems(), is(true));
+ assertThat(pl.hasItems(), is(true));
- assertThat(countItems(pl), is(3));
- pl.invalidate(pl.best());
+ assertThat(countItems(pl), is(3));
+ pl.invalidate(pl.best());
- assertThat(countItems(pl), is(2));
- pl.invalidate(pl.best());
+ assertThat(countItems(pl), is(2));
+ pl.invalidate(pl.best());
- assertThat(countItems(pl), is(1));
+ assertThat(countItems(pl), is(1));
- pl.invalidate(pl.best());
+ pl.invalidate(pl.best());
- assertThat(pl.hasItems(), is(false));
- assertThat(countItems(pl), is(0));
+ assertThat(pl.hasItems(), is(false));
+ assertThat(countItems(pl), is(0));
- pl.refresh();
+ Thread.sleep(20L); // PL checks same milli...
+ pl.refresh();
- assertThat(pl.hasItems(), is(true));
-
- assertThat(pl.next(null), is(nullValue()));
+ assertThat(pl.hasItems(), is(true));
+
+ assertThat(pl.next(null), is(nullValue()));
- // coverage...
- pl.invalidate(null);
- pl.invalidate(null);
- pl.invalidate(null);
- pl.invalidate(null);
+ // coverage...
+ pl.invalidate(null);
+ pl.invalidate(null);
+ pl.invalidate(null);
+ pl.invalidate(null);
- pl.destroy();
+ pl.destroy();
- pl = new PropertyLocator(uris);
- }
+ pl = new PropertyLocator(uris);
+
+ }
- @Test(expected=LocatorException.class)
- public void exceptionTest() throws LocatorException {
- new PropertyLocator(null);
- }
+ @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;
- }
+ private int countItems(PropertyLocator pl) throws LocatorException {
+ int count = 0;
+ for(Item i = pl.first(); i != null; i = pl.next(i)) {
+ ++count;
+ }
+ return count;
+ }
}