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