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