private void printQueueElements(ElementsTrackingQueue queue) { System.out.println("Queued: "); int count = Iterators.size(queue.getQueued()); System.out.println("# of queued: " + count); Iterator<QueuedElement> beingConsumed = queue.getBeingConsumed(); System.out.println("Being Consumed:"); while (beingConsumed.hasNext()) { QueuedElement entry = beingConsumed.next(); System.out.println(entry.getConsumerId() + ": " + entry.getElement().toString()); } System.out.println("# of being consumed: " + Iterators.size(beingConsumed)); } }
@Test public void testBasics() throws Exception { // "list" command executed below primarily for eye-balling ;) queue.add(new Element("elem1", "data1")); queue.add(new Element("elem2", "data2")); queue.add(new Element("elem3", "data3")); queue.take("consumer1"); Assert.assertEquals(2, getQueuedCount(queue)); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); String qOpts = " --zk-connection " + zkServer.getConnectionStr() + " --queue-name " + queueName; ElementsTrackingQueueCliTool.main(("list" + qOpts).split(" ")); ElementsTrackingQueueCliTool.main(("remove --element elem1" + qOpts).split(" ")); Assert.assertEquals(2, getQueuedCount(queue)); Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); ElementsTrackingQueueCliTool.main(("list " + qOpts).split(" ")); // moving elem3 to top of the queue Assert.assertEquals("elem2", queue.getQueued().next().getElement().getId()); ElementsTrackingQueueCliTool.main(("promote --element elem3" + qOpts).split(" ")); Assert.assertEquals("elem3", queue.getQueued().next().getElement().getId()); ElementsTrackingQueueCliTool.main(("list " + qOpts).split(" ")); ElementsTrackingQueueCliTool.main(("remove --element elem2" + qOpts).split(" ")); Assert.assertEquals(1, getQueuedCount(queue)); Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); ElementsTrackingQueueCliTool.main(("list " + qOpts).split(" ")); ElementsTrackingQueueCliTool.main(("remove_all" + qOpts).split(" ")); Assert.assertEquals(0, getQueuedCount(queue)); Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); ElementsTrackingQueueCliTool.main(("list " + qOpts).split(" ")); }
Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); Assert.assertTrue(producedCount > 0); Assert.assertTrue(producedSum > 0);
Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); Iterator<QueuedElement> elems = queue.getQueued(); Assert.assertEquals(taken1.getId(), "work1"); Assert.assertEquals(1, getQueuedCount(queue)); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); Assert.assertEquals("work1", queue.getBeingConsumed().next().getElement().getId()); Assert.assertEquals(2, Iterators.size(queue.getBeingConsumed())); TrackingQueue.ConsumingStatus.FAILED, null)); Assert.assertEquals(2, getQueuedCount(queue)); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); Assert.assertEquals(TrackingQueue.PossessionState.NOT_POSSESSES, queue.recordProgress("worker2", taken2.getId(), TrackingQueue.ConsumingStatus.IN_PROGRESS, null)); Assert.assertEquals(2, getQueuedCount(queue)); Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); Element taken5 = queue.take("worker1"); Assert.assertEquals(2, getQueuedCount(queue)); Assert.assertEquals(2, Iterators.size(queue.getBeingConsumed())); Assert.assertEquals(2, Iterators.size(queue.getBeingConsumed()));