1 package com.atlassian.core.task;
2
3 import junit.framework.TestCase;
4
5 import java.util.HashMap;
6 import java.util.Map;
7
8
9
10
11
12
13
14
15 public class MultiQueueTaskManagerTestCase extends TestCase {
16 public void testTaskManager() {
17 final boolean[] task1executed = new boolean[1];
18 final boolean[] task2executed = new boolean[1];
19 final boolean[] task3executed = new boolean[1];
20
21 TaskQueue queue1 = new DefaultTaskQueue();
22 TaskQueue queue2 = new DefaultTaskQueue();
23 Map<String, TaskQueue> queues = new HashMap<String, TaskQueue>();
24 queues.put("queue1", queue1);
25 queues.put("queue2", queue2);
26
27 DefaultMultiQueueTaskManager manager = new DefaultMultiQueueTaskManager(queues);
28 Task task1 = new Task() {
29 public void execute() throws Exception {
30 task1executed[0] = true;
31 }
32 };
33
34 Task task2 = new Task() {
35 public void execute() throws Exception {
36 task2executed[0] = true;
37 }
38 };
39
40 Task task3 = new Task() {
41 public void execute() throws Exception {
42 task3executed[0] = true;
43 }
44 };
45
46 manager.addTask("queue1", task1);
47 manager.addTask("queue1", task2);
48 manager.addTask("queue2", task3);
49
50 assertNotNull(manager.getTaskQueue("queue1"));
51 assertNotNull(manager.getTaskQueue("queue2"));
52 assertEquals(2, manager.getTaskQueue("queue1").size());
53 assertEquals(1, manager.getTaskQueue("queue2").size());
54 manager.flush();
55
56 assertTrue(task1executed[0]);
57 assertTrue(task2executed[0]);
58 assertTrue(task3executed[0]);
59
60 }
61 }