1 package com.atlassian.core.task;
2
3 import junit.framework.TestCase;
4
5
6
7
8
9
10
11
12 public class ErrorQueueTaskQueueTestCase extends TestCase {
13 public void testTaskManager() {
14 final boolean[] task2executed = new boolean[1];
15
16 ErrorQueuedTaskQueue queue = new ErrorQueuedTaskQueue();
17
18 queue.setRetryCount(2);
19 DefaultTaskManager manager = new DefaultTaskManager(queue);
20 Task task1 = new Task() {
21 public void execute() throws Exception {
22 throw new Exception();
23 }
24 };
25
26 Task task2 = new Task() {
27 public void execute() throws Exception {
28 task2executed[0] = true;
29 }
30 };
31
32 manager.addTask(task1);
33 manager.addTask(task2);
34
35 assertNotNull(manager.getTaskQueue());
36 assertEquals(2, manager.getTaskQueue().size());
37 manager.flush();
38 assertEquals(1, queue.size());
39 assertEquals(0, queue.getErrorQueue().size());
40 manager.flush();
41 assertEquals(1, queue.size());
42 assertEquals(0, queue.getErrorQueue().size());
43 manager.flush();
44 assertTrue(task2executed[0]);
45 assertEquals(0, queue.size());
46 assertEquals(1, queue.getErrorQueue().size());
47 }
48 }