@Override public void run() { reregister(); } }, timeout, TimeUnit.MILLISECONDS);
@Override public void run() { reregister(); } }, timeout, TimeUnit.MILLISECONDS);
@Override public void run() { System.out.println("re-reg"); for (CoapObserveRelation rel : watching) { rel.reregister(); } } };
@Test(expected = IllegalStateException.class) public void testObserveClientReregisterAfterReject() throws Exception { resourceX.setObserveType(Type.NON); resourceX.rejectNextGet(); CoapClient client = new CoapClient(uriX); CountingHandler handler = new CountingHandler(); CoapObserveRelation rel = client.observeAndWait(handler); assertTrue("Not rejected", rel.isCanceled()); rel.reregister(); }
@Test(expected = IllegalStateException.class) public void testObserveClientReregisterAfterTimeout() throws Exception { resourceX.setObserveType(Type.NON); resourceX.delayNextGet(100); CoapClient client = new CoapClient(uriX); long timeout = client.getTimeout(); client.setTimeout(1); CountingHandler handler = new CountingHandler(); CoapObserveRelation rel = client.observeAndWait(handler); assertTrue("No timeout", rel.isCanceled()); client.setTimeout(timeout); rel.reregister(); }
@Test public void testObserveClientReregisterAfterReregister() throws Exception { resourceX.setObserveType(Type.NON); CoapClient client = new CoapClient(uriX); CountingHandler handler = new CountingHandler(); CoapObserveRelation rel = client.observeAndWait(handler); assertFalse("Response not received", rel.isCanceled()); assertTrue(handler.waitForLoadCalls(1, 1000, TimeUnit.MILLISECONDS)); resourceX.delayNextGet(100); // one more onLoad call assertTrue("reregister not triggered", rel.reregister()); // one more onLoad call assertFalse("reregister not ignored", rel.reregister()); assertTrue(handler.waitForLoadCalls(2, 1000, TimeUnit.MILLISECONDS)); // one more onLoad call resourceX.changed("client"); // assert notify received assertTrue(handler.waitForLoadCalls(3, 1000, TimeUnit.MILLISECONDS)); assertFalse("Response not received", rel.isCanceled()); }
@Test public void testObserveClientReregisterBeforeTimeout() throws Exception { resourceX.setObserveType(Type.NON); resourceX.delayNextGet(100); CoapClient client = new CoapClient(uriX); CountingHandler handler = new CountingHandler(); CoapObserveRelation rel = client.observe(handler); assertFalse("Timeout", rel.isCanceled()); assertFalse("reregister not ignored", rel.reregister()); assertTrue(handler.waitForLoadCalls(1, 1000, TimeUnit.MILLISECONDS)); resourceX.changed("client"); // assert notify received assertTrue(handler.waitForLoadCalls(2, 1000, TimeUnit.MILLISECONDS)); assertFalse("Response not received", rel.isCanceled()); }
assertEquals("\"resX says client for the 2 time\"", rel.getCurrent().getResponseText()); rel.reregister(); assertFalse(rel.isCanceled());