KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tctest > spring > integrationtests > tests > DistributedEventsTest


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright
3  * notice. All rights reserved.
4  */

5 package com.tctest.spring.integrationtests.tests;
6
7 import com.tctest.spring.bean.EventManager;
8 import com.tctest.spring.integrationtests.framework.AbstractTwoServerDeploymentTest;
9 import com.tctest.spring.integrationtests.framework.DeploymentBuilder;
10 import com.tctest.spring.integrationtests.framework.TestCallback;
11
12 import junit.framework.Test;
13
14
15 public class DistributedEventsTest extends AbstractTwoServerDeploymentTest {
16
17   private static final String JavaDoc REMOTE_SERVICE_NAME = "EventManager";
18
19   private static EventManager eventManager1;
20   private static EventManager eventManager2;
21
22 // public DistributedEventsTest() {
23
// disableAllUntil("2007-02-27");
24
// }
25

26   protected void setUp() throws Exception JavaDoc {
27     super.setUp();
28     eventManager1.clear();
29     eventManager2.clear();
30     assertEquals(0, eventManager1.size());
31     assertEquals(0, eventManager2.size());
32   }
33
34   public void testDistributedEvent() throws Throwable JavaDoc {
35     eventManager1.publishEvents("foo1", "bar1", 3);
36     eventManager1.publishEvents("foo1", "bar2", 4);
37
38     waitForSuccess(60 * 3, new TestCallback() {
39       public void check() {
40         assertEquals("Got local", 7, eventManager1.size());
41         assertEquals("Should be distributed", 7, eventManager2.size());
42       }
43     });
44   }
45   
46   public void testNonDistributedEvent() throws Throwable JavaDoc {
47     eventManager1.publishLocalEvent("foo2", "bar1");
48     Thread.sleep(1000L * 5);
49     assertEquals("Got local", 1, eventManager1.size());
50     assertEquals("Should not be distributed", 0, eventManager2.size());
51   }
52   
53   private static class SingletonTestSetup extends TwoSvrSetup {
54
55     private SingletonTestSetup() {
56       super(DistributedEventsTest.class, "/tc-config-files/event-tc-config.xml", "distributed-events");
57     }
58
59     protected void setUp() throws Exception JavaDoc {
60       super.setUp();
61
62       eventManager1 = (EventManager) server1.getProxy(EventManager.class, REMOTE_SERVICE_NAME);
63       eventManager2 = (EventManager) server2.getProxy(EventManager.class, REMOTE_SERVICE_NAME);
64     }
65
66     protected void configureWar(DeploymentBuilder builder) {
67       builder.addBeanDefinitionFile("classpath:/com/tctest/spring/distributedevents.xml");
68       builder.addRemoteService(REMOTE_SERVICE_NAME, "eventManager", EventManager.class);
69     }
70
71   }
72
73   public static Test suite() {
74     return new SingletonTestSetup();
75   }
76 }
77
Popular Tags