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