@Test public void testPollTaskIdsFirst() throws InterruptedException { ShellBoltMessageQueue queue = new ShellBoltMessageQueue(); // put bolt message first, then put task ids queue.putBoltMsg(new BoltMsg()); ArrayList<Integer> taskIds = Lists.newArrayList(1, 2, 3); queue.putTaskIds(taskIds); Object msg = queue.poll(10, TimeUnit.SECONDS); // task ids should be pulled first assertTrue(msg instanceof List<?>); assertEquals(msg, taskIds); }