1 4 package com.tctest.spring.integrationtests.tests; 5 6 import com.tctest.spring.bean.IMasterBean; 7 import com.tctest.spring.integrationtests.framework.AbstractTwoServerDeploymentTest; 8 import com.tctest.spring.integrationtests.framework.DeploymentBuilder; 9 10 import java.util.List ; 11 12 import junit.extensions.TestSetup; 13 import junit.framework.Test; 14 15 23 public class MultipleBeanDefsTest extends AbstractTwoServerDeploymentTest { 24 25 private static final String REMOTE_SERVICE_NAME = "MasterService"; 26 private static final String BEAN_DEFINITION_FILE_FOR_TEST = "classpath:/com/tctest/spring/beanfactory.xml \n classpath:/com/tctest/spring/beanfactory-master.xml"; 27 private static final String CONFIG_FILE_FOR_TEST = "/tc-config-files/multibeandef-tc-config.xml"; 28 29 private static IMasterBean masterBean1; 30 private static IMasterBean masterBean2; 31 32 35 public void testBeanFromMultipleContexts() throws Exception { 36 List values1 = masterBean1.getValues(); 37 List values2 = masterBean2.getValues(); 38 39 assertEquals("Pre-condition checking failed" + values1, 0, values1.size()); 40 assertEquals("Pre-condition checking failed" + values2, 0, values2.size()); 41 42 masterBean1.addValue("masterBean1"); 43 masterBean2.addValue("masterBean2"); 44 45 values1 = masterBean1.getValues(); 46 values2 = masterBean2.getValues(); 47 48 assertEquals("Not shared correctly" + values1, 2, values1.size()); 49 assertEquals("Not shared correctly" + values2, 2, values2.size()); 50 51 assertTrue(values1.contains("masterBean1")); 52 assertTrue(values1.contains("masterBean2")); 53 assertTrue(values2.contains("masterBean1")); 54 assertTrue(values2.contains("masterBean2")); 55 } 56 57 60 public void testUsingSharedBeanReferenceAcrossCluster() throws Exception { 61 assertTrue("After a round trip, failed the check for ==", masterBean1.isTheSameSingletonReferenceUsed()); 62 assertTrue("After a round trip, failed the check for ==", masterBean2.isTheSameSingletonReferenceUsed()); 63 } 64 65 private static class MultipleBeanDefsTestSetup extends TwoSvrSetup { 66 67 private MultipleBeanDefsTestSetup() { 68 super(MultipleBeanDefsTest.class, CONFIG_FILE_FOR_TEST, "test-multibeandef"); 69 } 70 71 protected void setUp() throws Exception { 72 super.setUp(); 73 masterBean1 = (IMasterBean) server1.getProxy(IMasterBean.class, REMOTE_SERVICE_NAME); 74 masterBean2 = (IMasterBean) server2.getProxy(IMasterBean.class, REMOTE_SERVICE_NAME); 75 } 76 77 protected void configureWar(DeploymentBuilder builder) { 78 builder.addBeanDefinitionFile(BEAN_DEFINITION_FILE_FOR_TEST); 79 builder.addRemoteService(REMOTE_SERVICE_NAME, "distributedMasterBean", IMasterBean.class); 80 } 81 } 82 83 86 public static Test suite() { 87 TestSetup setup = new MultipleBeanDefsTestSetup(); 88 return setup; 89 } 90 91 } 92 | Popular Tags |