1
0
mirror of synced 2026-08-31 22:46:02 +00:00

Expand Contacts sample application to use Hessian and Burlap remoting.

This commit is contained in:
Ben Alex
2004-04-11 12:15:00 +00:00
parent f1abf780b5
commit 66e8d741ca
16 changed files with 549 additions and 127 deletions
+15 -1
View File
@@ -21,6 +21,7 @@
<fileset dir="${httpunit.lib.dir}">
<include name="**/*.jar"/>
</fileset>
<fileset file="${contacts.client.jar}"/>
</path>
<path id="antcontrib-classpath">
@@ -49,6 +50,7 @@ Among the available targets are:
clean --> deletes output directories
unzip --> unzips each container into file system
tests --> unzips each container and runs all tests
tests-all --> runs all tests (does not unzip each container)
tests-jetty --> runs the integration tests with Jetty
tests-jboss --> runs the integration tests with JBoss
tests-catalina --> runs the integration tests with Catalina
@@ -94,7 +96,10 @@ Each tests-xxxx target assumes the container is unzipped
</jalopy>
</target>
<target name="tests" depends="clean,unzip,tests-jetty,tests-catalina,tests-jboss"
<target name="tests" depends="clean,unzip,tests-all">
</target>
<target name="tests-all" depends="tests-jetty,tests-catalina,tests-jboss"
description="Run all integration tests">
<condition property="anyerrors" value="true">
<or>
@@ -217,6 +222,9 @@ Tomcat ${tomcat-5.version}:&#9;Run: ${jakarta-tomcat-5.run}&#9;Errored: ${jakart
<copy file="${dist.lib.dir}/acegi-security-jetty-ext.jar" todir="${tmp.dir}/jetty-${jetty.version}/ext" overwrite="true"/>
<copy file="${lib.dir}/aop-alliance/aopalliance.jar" todir="${tmp.dir}/jetty-${jetty.version}/ext" overwrite="true"/>
<copy file="${lib.dir}/jakarta-commons/commons-logging.jar" todir="${tmp.dir}/jetty-${jetty.version}/ext" overwrite="true"/>
<copy file="${lib.dir}/jakarta-commons/commons-codec.jar" todir="${tmp.dir}/jetty-${jetty.version}/ext" overwrite="true"/>
<copy file="${lib.dir}/caucho/burlap.jar" todir="${tmp.dir}/jetty-${jetty.version}/ext" overwrite="true"/>
<copy file="${lib.dir}/caucho/hessian.jar" todir="${tmp.dir}/jetty-${jetty.version}/ext" overwrite="true"/>
<copy file="${lib.dir}/spring/spring.jar" todir="${tmp.dir}/jetty-${jetty.version}/ext" overwrite="true"/>
<copy file="${contacts.ca.war}" todir="${tmp.dir}/jetty-${jetty.version}/webapps" overwrite="true"/>
<antcallback target="-perform-test-jetty" return="jetty-${jetty.version}.errored, jetty-${jetty.version}.failed">
@@ -287,6 +295,9 @@ Tomcat ${tomcat-5.version}:&#9;Run: ${jakarta-tomcat-5.run}&#9;Errored: ${jakart
<copy file="${dist.lib.dir}/acegi-security-catalina-common.jar" todir="${tmp.dir}/jakarta-tomcat-${tomcat.version}/common/lib" overwrite="true"/>
<copy file="${lib.dir}/aop-alliance/aopalliance.jar" todir="${tmp.dir}/jakarta-tomcat-${tomcat.version}/common/lib" overwrite="true"/>
<copy file="${lib.dir}/spring/spring.jar" todir="${tmp.dir}/jakarta-tomcat-${tomcat.version}/common/lib" overwrite="true"/>
<copy file="${lib.dir}/jakarta-commons/commons-codec.jar" todir="${tmp.dir}/jakarta-tomcat-${tomcat.version}/common/lib" overwrite="true"/>
<copy file="${lib.dir}/caucho/burlap.jar" todir="${tmp.dir}/jakarta-tomcat-${tomcat.version}/common/lib" overwrite="true"/>
<copy file="${lib.dir}/caucho/hessian.jar" todir="${tmp.dir}/jakarta-tomcat-${tomcat.version}/common/lib" overwrite="true"/>
<copy file="${contacts.ca.war}" todir="${tmp.dir}/jakarta-tomcat-${tomcat.version}/webapps" overwrite="true"/>
<delete dir="${tmp.dir}/jakarta-tomcat-${tomcat.version}/webapps/contacts-container-adapter"/>
<antcallback target="-perform-test-catalina" return="jakarta-tomcat-${tomcat.version}.errored, jakarta-tomcat-${tomcat.version}.failed">
@@ -349,6 +360,9 @@ Tomcat ${tomcat-5.version}:&#9;Run: ${jakarta-tomcat-5.run}&#9;Errored: ${jakart
<copy file="${dist.lib.dir}/acegi-security-jboss-lib.jar" todir="${tmp.dir}/jboss-${jboss.version}/server/default/lib" overwrite="true"/>
<copy file="${lib.dir}/aop-alliance/aopalliance.jar" todir="${tmp.dir}/jboss-${jboss.version}/server/default/lib" overwrite="true"/>
<copy file="${lib.dir}/spring/spring.jar" todir="${tmp.dir}/jboss-${jboss.version}/server/default/lib" overwrite="true"/>
<copy file="${lib.dir}/jakarta-commons/commons-codec.jar" todir="${tmp.dir}/jboss-${jboss.version}/server/default/lib" overwrite="true"/>
<copy file="${lib.dir}/caucho/burlap.jar" todir="${tmp.dir}/jboss-${jboss.version}/server/default/lib" overwrite="true"/>
<copy file="${lib.dir}/caucho/hessian.jar" todir="${tmp.dir}/jboss-${jboss.version}/server/default/lib" overwrite="true"/>
<copy file="${contacts.ca.war}" todir="${tmp.dir}/jboss-${jboss.version}/server/default/deploy" overwrite="true"/>
<antcallback target="-perform-test-jboss" return="jboss-${jboss.version}.errored, jboss-${jboss.version}.failed">
<param name="test.includes" value="**/ContainerAdapterContactsTests.class"/>
+1
View File
@@ -16,6 +16,7 @@ lib.dir=${basedir}/../lib
dist.lib.dir=${basedir}/../dist
contacts.ca.war=${basedir}/../samples/contacts/dist/contacts-container-adapter.war
contacts.filter.war=${basedir}/../samples/contacts/dist/contacts.war
contacts.client.jar=${basedir}/../samples/contacts/client/contacts.jar
acegisecurity.xml=../src/net/sf/acegisecurity/adapters/acegisecurity.xml
jalopy.xml=${basedir}/../jalopy.xml
@@ -24,8 +24,17 @@ import com.meterware.httpunit.WebResponse;
import junit.framework.TestCase;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader;
import org.springframework.remoting.RemoteAccessException;
import sample.contact.ContactManager;
import java.net.URL;
import java.util.Properties;
/**
* Tests the Contacts sample application from a HTTP user's perspective.
@@ -63,6 +72,54 @@ public abstract class AbstractContactsTests extends TestCase {
assertTrue(response.getText().lastIndexOf("sample.contact.Contact@") != -1);
}
public void testHessianFailsWithIncorrectCredentials() {
String PREFIX = "beans.";
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
Properties p = new Properties();
p.setProperty(PREFIX + "hessianProxy.class",
"org.springframework.remoting.caucho.HessianProxyFactoryBean");
p.setProperty(PREFIX + "hessianProxy.serviceInterface",
"sample.contact.ContactManager");
p.setProperty(PREFIX + "hessianProxy.serviceUrl",
getBaseUrl() + "/caucho/ContactManager-hessian");
p.setProperty(PREFIX + "hessianProxy.username", "marissa");
p.setProperty(PREFIX + "hessianProxy.password", "WRONG_PASSWORD");
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p,
PREFIX);
ContactManager contactManager = (ContactManager) lbf.getBean(
"hessianProxy");
try {
contactManager.getRandomContact();
fail("Should have thrown RemoteAccessException");
} catch (RemoteAccessException exception) {
assertTrue(true);
}
}
public void testHessianOperational() {
String PREFIX = "beans.";
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
Properties p = new Properties();
p.setProperty(PREFIX + "hessianProxy.class",
"org.springframework.remoting.caucho.HessianProxyFactoryBean");
p.setProperty(PREFIX + "hessianProxy.serviceInterface",
"sample.contact.ContactManager");
p.setProperty(PREFIX + "hessianProxy.serviceUrl",
getBaseUrl() + "/caucho/ContactManager-hessian");
p.setProperty(PREFIX + "hessianProxy.username", "marissa");
p.setProperty(PREFIX + "hessianProxy.password", "koala");
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p,
PREFIX);
ContactManager contactManager = (ContactManager) lbf.getBean(
"hessianProxy");
assertTrue(contactManager.getRandomContact() != null);
}
public void testLoginNameCaseSensitive() throws Exception {
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest(getBaseUrl());