use of org.apache.sling.distribution.queue.DistributionQueueStatus in project sling by apache.
the class AsyncDeliveryDispatchingStrategyTest method testAddWithOneItemInRunningQueues.
@Test
public void testAddWithOneItemInRunningQueues() throws Exception {
Map<String, String> deliveryMappings = new HashMap<String, String>();
String queue1 = "queue1";
deliveryMappings.put(queue1, "delivery1");
String queue2 = "queue2";
deliveryMappings.put(queue2, "delivery2");
AsyncDeliveryDispatchingStrategy asyncDeliveryDispatchingStrategy = new AsyncDeliveryDispatchingStrategy(deliveryMappings);
// setup package
SharedDistributionPackage distributionPackage = mock(SharedDistributionPackage.class);
when(distributionPackage.getId()).thenReturn("1221312");
DistributionPackageInfo info = new DistributionPackageInfo("dummy", new HashMap<String, Object>());
when(distributionPackage.getInfo()).thenReturn(info);
// setup queues
DistributionQueueProvider queueProvider = mock(DistributionQueueProvider.class);
DistributionQueue dq1 = mock(DistributionQueue.class);
DistributionQueueItemStatus status = mock(DistributionQueueItemStatus.class);
DistributionQueueEntry entry = new DistributionQueueEntry("1242112", new DistributionQueueItem(distributionPackage.getId(), new HashMap<String, Object>()), status);
when(dq1.add(any(DistributionQueueItem.class))).thenReturn(entry);
DistributionQueueStatus status1 = new DistributionQueueStatus(1, DistributionQueueState.RUNNING);
when(dq1.getStatus()).thenReturn(status1);
when(queueProvider.getQueue(queue1)).thenReturn(dq1);
DistributionQueue dq2 = mock(DistributionQueue.class);
when(dq2.add(any(DistributionQueueItem.class))).thenReturn(entry);
DistributionQueueStatus status2 = new DistributionQueueStatus(1, DistributionQueueState.RUNNING);
when(dq2.getStatus()).thenReturn(status2);
when(queueProvider.getQueue(queue2)).thenReturn(dq2);
Iterable<DistributionQueueItemStatus> statuses = asyncDeliveryDispatchingStrategy.add(distributionPackage, queueProvider);
assertNotNull(statuses);
}
Aggregations