1   package com.atlassian.core.task;
2   
3   import junit.framework.TestCase;
4   import com.atlassian.core.task.*;
5   
6   /**
7    * Created by IntelliJ IDEA.
8    * User: ROSS
9    * Date: 25/03/2004
10   * Time: 17:41:32
11   * To change this template use File | Settings | File Templates.
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  }