@Test public void testSendHeartbeat() throws InterruptedException { ZSession session = createSession("2"); Thread.sleep(1000); WebResource wr = sessionsr.path(session.id); Builder b = wr.accept(MediaType.APPLICATION_JSON); ClientResponse cr = b.put(ClientResponse.class, null); assertEquals(ClientResponse.Status.OK, cr.getClientResponseStatus()); Thread.sleep(1500); assertTrue(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); Thread.sleep(1000); assertFalse(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); }
@Test public void testCreateEphemeralZNode() throws KeeperException, InterruptedException, IOException { ZSession session = createSession("30"); WebResource wr = znodesr.path("/") .queryParam("op", "create") .queryParam("name", "ephemeral-test") .queryParam("ephemeral", "true") .queryParam("session", session.id) .queryParam("null", "true"); Builder b = wr.accept(MediaType.APPLICATION_JSON); ClientResponse cr = b.post(ClientResponse.class); assertEquals(ClientResponse.Status.CREATED, cr.getClientResponseStatus()); Stat stat = new Stat(); zk.getData("/ephemeral-test", false, stat); ZooKeeper sessionZK = ZooKeeperService.getClient(CONTEXT_PATH, session.id); assertEquals(stat.getEphemeralOwner(), sessionZK.getSessionId()); }
@Test public void testSendHeartbeat() throws InterruptedException { ZSession session = createSession("2"); Thread.sleep(1000); WebResource wr = sessionsr.path(session.id); Builder b = wr.accept(MediaType.APPLICATION_JSON); ClientResponse cr = b.put(ClientResponse.class, null); Assert.assertEquals(ClientResponse.Status.OK, cr.getClientResponseStatus()); Thread.sleep(1500); Assert.assertTrue(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); Thread.sleep(1000); Assert.assertFalse(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); }
@Test public void testCreateEphemeralZNode() throws KeeperException, InterruptedException, IOException { ZSession session = createSession("30"); WebResource wr = znodesr.path("/") .queryParam("op", "create") .queryParam("name", "ephemeral-test") .queryParam("ephemeral", "true") .queryParam("session", session.id) .queryParam("null", "true"); Builder b = wr.accept(MediaType.APPLICATION_JSON); ClientResponse cr = b.post(ClientResponse.class); Assert.assertEquals(ClientResponse.Status.CREATED, cr.getClientResponseStatus()); Stat stat = new Stat(); zk.getData("/ephemeral-test", false, stat); ZooKeeper sessionZK = ZooKeeperService.getClient(CONTEXT_PATH, session.id); Assert.assertEquals(stat.getEphemeralOwner(), sessionZK.getSessionId()); }
private ZSession createSession(String expire) { WebResource wr = sessionsr.queryParam("op", "create") .queryParam("expire", expire); Builder b = wr.accept(MediaType.APPLICATION_JSON); ClientResponse cr = b.post(ClientResponse.class, null); assertEquals(ClientResponse.Status.CREATED, cr .getClientResponseStatus()); return cr.getEntity(ZSession.class); }
@Test public void testCreateNewSession() throws JSONException { ZSession session = createSession(); assertEquals(session.id.length(), 36); // use out-of-band method to verify assertTrue(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); }
@Test public void testSessionExpires() throws InterruptedException { ZSession session = createSession("1"); // use out-of-band method to verify assertTrue(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); // wait for the session to be closed Thread.sleep(1500); assertFalse(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); }
@Test public void testDeleteSession() { ZSession session = createSession("30"); WebResource wr = sessionsr.path(session.id); Builder b = wr.accept(MediaType.APPLICATION_JSON); assertTrue(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); ClientResponse cr = b.delete(ClientResponse.class, null); assertEquals(ClientResponse.Status.NO_CONTENT, cr.getClientResponseStatus()); assertFalse(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); }
private ZSession createSession(String expire) { WebResource wr = sessionsr.queryParam("op", "create") .queryParam("expire", expire); Builder b = wr.accept(MediaType.APPLICATION_JSON); ClientResponse cr = b.post(ClientResponse.class, null); Assert.assertEquals(ClientResponse.Status.CREATED, cr .getClientResponseStatus()); return cr.getEntity(ZSession.class); }
@Test public void testCreateNewSession() throws JSONException { ZSession session = createSession(); Assert.assertEquals(session.id.length(), 36); // use out-of-band method to verify Assert.assertTrue(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); }
@Test public void testSessionExpires() throws InterruptedException { ZSession session = createSession("1"); // use out-of-band method to verify Assert.assertTrue(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); // wait for the session to be closed Thread.sleep(1500); Assert.assertFalse(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); }
@Test public void testDeleteSession() { ZSession session = createSession("30"); WebResource wr = sessionsr.path(session.id); Builder b = wr.accept(MediaType.APPLICATION_JSON); Assert.assertTrue(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); ClientResponse cr = b.delete(ClientResponse.class, null); Assert.assertEquals(ClientResponse.Status.NO_CONTENT, cr.getClientResponseStatus()); Assert.assertFalse(ZooKeeperService.isConnected(CONTEXT_PATH, session.id)); }