1 4 package com.tctest.spring.integrationtests.tests; 5 6 import com.tctest.spring.bean.ISingleton; 7 import com.tctest.spring.integrationtests.framework.AbstractTwoServerDeploymentTest; 8 import com.tctest.spring.integrationtests.framework.DeploymentBuilder; 9 10 import junit.extensions.TestSetup; 11 import junit.framework.Test; 12 13 19 public class SingletonFromAnotherContextTest extends AbstractTwoServerDeploymentTest { 20 21 private static final String REMOTE_SERVICE_NAME = "Singleton"; 22 private static final String ANOTHER_REMOTE_SERVICE_NAME = "AnotherSingleton"; 23 private static final String BEAN_DEFINITION_FILE_FOR_TEST = "classpath:/com/tctest/spring/beanfactory-another.xml"; 24 private static final String CONFIG_FILE_FOR_TEST = "/tc-config-files/anothersingleton-tc-config.xml"; 25 26 private static ISingleton singleton1N1; 27 private static ISingleton singleton2N1; 28 29 private static ISingleton singleton1N2; 30 private static ISingleton singleton2N2; 31 32 public void testSingletonFromAnotherContext() throws Exception { 33 34 logger.debug("testing singleton from another context"); 35 36 assertEquals(0, singleton1N1.getCounter()); 38 assertEquals(0, singleton1N2.getCounter()); 39 40 assertEquals(0, singleton2N1.getCounter()); 41 assertEquals(0, singleton2N2.getCounter()); 42 43 singleton1N1.incrementCounter(); 44 singleton1N2.incrementCounter(); 45 46 assertEquals(2, singleton1N1.getCounter()); 48 assertEquals(2, singleton1N2.getCounter()); 49 50 assertEquals(0, singleton2N1.getCounter()); 51 assertEquals(0, singleton2N2.getCounter()); 52 53 singleton2N1.incrementCounter(); 54 singleton2N2.incrementCounter(); 55 56 assertEquals(2, singleton2N1.getCounter()); 58 assertEquals(2, singleton2N2.getCounter()); 59 60 assertEquals(2, singleton1N1.getCounter()); 61 assertEquals(2, singleton1N2.getCounter()); 62 63 logger.debug("!!!! Asserts passed !!!"); 64 } 65 66 private static class InnerTestSetup extends TwoSvrSetup { 67 private InnerTestSetup() { 68 super(SingletonFromAnotherContextTest.class, CONFIG_FILE_FOR_TEST, "test-anothersingleton"); 69 } 70 71 protected void setUp() throws Exception { 72 super.setUp(); 73 74 singleton1N1 = (ISingleton) server1.getProxy(ISingleton.class, REMOTE_SERVICE_NAME); 75 singleton2N1 = (ISingleton) server1.getProxy(ISingleton.class, ANOTHER_REMOTE_SERVICE_NAME); 76 77 singleton1N2 = (ISingleton) server2.getProxy(ISingleton.class, REMOTE_SERVICE_NAME); 78 singleton2N2 = (ISingleton) server2.getProxy(ISingleton.class, ANOTHER_REMOTE_SERVICE_NAME); 79 } 80 81 protected void configureWar(DeploymentBuilder builder) { 82 builder.addBeanDefinitionFile(BEAN_DEFINITION_FILE_FOR_TEST); 83 builder.addRemoteService(REMOTE_SERVICE_NAME, "singleton", ISingleton.class); 84 builder.addRemoteService(ANOTHER_REMOTE_SERVICE_NAME, "anotherSingleton", ISingleton.class); 85 } 86 } 87 88 91 public static Test suite() { 92 TestSetup setup = new InnerTestSetup(); 93 return setup; 94 } 95 } 96 | Popular Tags |