use of org.apache.sling.distribution.queue.DistributionQueueProcessor in project sling by apache.
the class SimpleDistributionQueueProviderTest method testEnableQueueProcessingWithCheckpointRecovery.
@Test
public void testEnableQueueProcessingWithCheckpointRecovery() throws Exception {
File checkpointDirectory = new File("dummy-agent-simple-queues-checkpoints");
File file = new File(getClass().getResource("/dummy-agent-checkpoint").getFile());
FileUtils.copyFileToDirectory(file, checkpointDirectory);
Scheduler scheduler = mock(Scheduler.class);
ScheduleOptions options = mock(ScheduleOptions.class);
when(scheduler.NOW(-1, 1)).thenReturn(options);
when(scheduler.NOW(-1, 15)).thenReturn(options);
when(options.canRunConcurrently(false)).thenReturn(options);
when(options.name(any(String.class))).thenReturn(options);
String name = "dummy-agent";
try {
SimpleDistributionQueueProvider simpledistributionQueueProvider = new SimpleDistributionQueueProvider(scheduler, name, true);
DistributionQueueProcessor processor = mock(DistributionQueueProcessor.class);
simpledistributionQueueProvider.enableQueueProcessing(processor, name);
DistributionQueue queue = simpledistributionQueueProvider.getQueue(name);
assertNotNull(queue);
assertEquals(1, queue.getStatus().getItemsCount());
DistributionQueueEntry head = queue.getHead();
assertNotNull(head);
DistributionQueueItem item = head.getItem();
assertNotNull(item);
String packageId = item.getPackageId();
assertNotNull(packageId);
assertEquals("DSTRQ1", item.get("internal.request.id"));
assertArrayEquals(new String[] { "/foo", "bar" }, (String[]) item.get("request.paths"));
assertArrayEquals(new String[] { "/foo" }, (String[]) item.get("request.deepPaths"));
assertEquals("admin", item.get("internal.request.user"));
assertEquals("ADD", item.get("request.type"));
assertEquals("default", item.get("package.type"));
assertEquals("1464090250095", item.get("internal.request.startTime"));
} finally {
FileUtils.deleteDirectory(new File(name + "-simple-queues-checkpoints"));
}
}
use of org.apache.sling.distribution.queue.DistributionQueueProcessor in project sling by apache.
the class DistributionAgentJobConsumerTest method testJobWithSuccessfulAgent.
@Test
public void testJobWithSuccessfulAgent() throws Exception {
DistributionQueueProcessor queueProcessor = mock(DistributionQueueProcessor.class);
when(queueProcessor.process(anyString(), any(DistributionQueueEntry.class))).thenReturn(true);
DistributionAgentJobConsumer distributionAgentJobConsumer = new DistributionAgentJobConsumer(queueProcessor);
Job job = mock(Job.class);
JobConsumer.JobResult jobResult = distributionAgentJobConsumer.process(job);
assertEquals(JobConsumer.JobResult.OK, jobResult);
}
use of org.apache.sling.distribution.queue.DistributionQueueProcessor in project sling by apache.
the class DistributionAgentJobConsumerTest method testJobWithUnsuccessfulAgent.
@Test
public void testJobWithUnsuccessfulAgent() throws Exception {
DistributionQueueProcessor queueProcessor = mock(DistributionQueueProcessor.class);
when(queueProcessor.process(anyString(), any(DistributionQueueEntry.class))).thenReturn(false);
DistributionAgentJobConsumer distributionAgentJobConsumer = new DistributionAgentJobConsumer(queueProcessor);
Job job = mock(Job.class);
JobConsumer.JobResult jobResult = distributionAgentJobConsumer.process(job);
assertEquals(JobConsumer.JobResult.FAILED, jobResult);
}
use of org.apache.sling.distribution.queue.DistributionQueueProcessor in project sling by apache.
the class JobHandlingDistributionQueueProviderTest method testEnableQueueProcessing.
@Test
public void testEnableQueueProcessing() throws Exception {
JobManager jobManager = mock(JobManager.class);
ConfigurationAdmin configAdmin = mock(ConfigurationAdmin.class);
Configuration config = mock(Configuration.class);
when(configAdmin.createFactoryConfiguration(QueueConfiguration.class.getName(), null)).thenReturn(config);
BundleContext context = mock(BundleContext.class);
JobHandlingDistributionQueueProvider jobHandlingdistributionQueueProvider = new JobHandlingDistributionQueueProvider("dummy-agent", jobManager, context);
DistributionQueueProcessor queueProcessor = mock(DistributionQueueProcessor.class);
jobHandlingdistributionQueueProvider.enableQueueProcessing(queueProcessor);
}
Aggregations