summaryrefslogtreecommitdiffstats
path: root/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test
diff options
context:
space:
mode:
Diffstat (limited to 'rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test')
-rw-r--r--rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/build.xml120
-rw-r--r--rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/conf/jkstatus.xml31
-rw-r--r--rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/conf/log4j.xml76
-rw-r--r--rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java63
4 files changed, 290 insertions, 0 deletions
diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/build.xml b/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/build.xml
new file mode 100644
index 00000000..8725ba19
--- /dev/null
+++ b/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/build.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- @author Peter Rossbach -->
+<project name="JkStatusTestcases" basedir="." default="test">
+ <property file="../../../../build/build.properties" />
+ <property file="../../../../build/build.properties.default" />
+ <property name="test.report.logs" value="logs/reports" />
+ <property name="test.results" value="logs/test-results" />
+
+ <property name="compile.optimize" value="true" />
+ <property name="compile.debug" value="true" />
+ <property name="compile.source" value="1.4" />
+ <property name="compile.deprecation" value="true" />
+ <property name="compile.nowarn" value="off" />
+ <property name="compile.encoding" value="ISO-8859-1" />
+ <property name="build.dir" value="build/test" />
+ <property name="src.dir" value="src/share" />
+ <property name="catalina.home" value="../../../../build/build" />
+
+ <!-- Build the classpath -->
+ <path id="project.classpath">
+ <pathelement location="../build/classes" />
+ <pathelement location="${jmx.jar}" />
+ <pathelement location="${commons-logging.jar}" />
+ <pathelement location="${log4j.jar}" />
+ <fileset dir="${catalina.home}/common/endorsed">
+ <include name="*.jar" />
+ </fileset>
+ <fileset dir="${catalina.home}/common/lib">
+ <include name="*.jar" />
+ </fileset>
+ <fileset dir="${catalina.home}/server/lib">
+ <include name="*.jar" />
+ </fileset>
+ </path>
+
+ <target name="build-prepare">
+ <mkdir dir="${build.dir}" />
+ </target>
+
+ <target name="info" description="Shows a information about this ant script">
+ <echo>
+ This ant script implements some testcases to verify the key functions of tomcat apache mod_jk jkstatus module.
+ You find this script at: ${ant.file}
+ </echo>
+ </target>
+
+ <!-- This target compiles all sources out of the
+ projects source tree -->
+ <target name="compile" depends="build-prepare" description="This target compiles all sources out of the projects source tree">
+
+ <!-- Copies the static resources out of the src tree
+ to the build/classes dir -->
+ <copy todir="${build.dir}/classes">
+ <fileset dir="${src.dir}">
+ <include name="**" />
+ <exclude name="**/*.java" />
+ </fileset>
+ </copy>
+
+ <!-- Compiles all sources -->
+ <javac destdir="${build.dir}/classes" srcdir="${src.dir}" includes="**/*.java" excludes="**/.svn/**" deprecation="${compile.deprecation}" debug="${compile.debug}" source="${compile.source}" optimize="${compile.optimize}" nowarn="${compile.nowarn}" encoding="${compile.encoding}">
+ <classpath>
+ <path refid="project.classpath" />
+ </classpath>
+ </javac>
+ </target>
+
+ <target name="test" depends="compile" description="Run unit tests">
+ <delete dir="${test.results}" />
+ <mkdir dir="${test.results}" />
+ <junit fork="yes" failureProperty="test.failure">
+ <jvmarg value="-Dcatalina.base=${basedir}" />
+ <jvmarg value="-Dcatalina.home=${catalina.home}" />
+ <jvmarg value="-Dlog4j.configuration=file:conf/log4j.xml" />
+ <classpath>
+ <pathelement location="${build.dir}/classes" />
+ <path refid="project.classpath" />
+ </classpath>
+ <formatter type="plain" usefile="false" />
+ <formatter type="xml" />
+ <batchtest todir="${test.results}">
+ <fileset dir="${build.dir}/classes" includes="**/*Test.class" />
+ </batchtest>
+ </junit>
+ <mkdir dir="${test.report.logs}" />
+ <junitreport todir="${test.report.logs}">
+ <fileset dir="${test.results}" />
+ <report format="frames" todir="${test.report.logs}" />
+ </junitreport>
+ <antcall target="checktest" />
+ </target>
+
+ <target name="checktest" if="test.failure">
+ <fail message="some test failed" />
+ </target>
+
+ <target name="clean">
+ <delete dir="${build}/dir" />
+ <delete dir="build" />
+ <delete dir="${test.report.logs}" />
+ <delete dir="${test.results}" />
+ <delete dir="logs" />
+ </target>
+</project>
diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/conf/jkstatus.xml b/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/conf/jkstatus.xml
new file mode 100644
index 00000000..e658b76d
--- /dev/null
+++ b/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/conf/jkstatus.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<jk:status xmlns:jk="http://jakarta.apache.org">
+ <jk:server name="localhost" port="80" software="Apache/2.0.54 (Win32) mod_ssl/2.0.54 OpenSSL/0.9.7g mod_jk/1.2.15" version="1.2.15" />
+ <jk:balancers>
+ <jk:balancer id="0" name="lb" type="lb" sticky="True" stickyforce="False" retries="3" recover="60" >
+ <jk:member id="0" name="node1" type="ajp13" host="localhost" port="9012" address="127.0.0.1:9012" status="OK" lbfactor="1" lbvalue="1" elected="0" readed="0" transferred="0" errors="0" busy="0" />
+ <jk:member id="1" name="node2" type="ajp13" host="localhost" port="9022" address="127.0.0.1:9022" status="OK" lbfactor="1" lbvalue="1" elected="0" readed="0" transferred="0" errors="0" busy="0" />
+ <jk:map type="Wildchar" uri="/ClusterTest/*" context="/ClusterTest/*" />
+ <jk:map type="Exact" uri="/ClusterTest" context="/ClusterTest" />
+ <jk:map type="Wildchar" uri="/myapps/*" context="/myapps/*" />
+ <jk:map type="Exact" uri="/myapps" context="/myapps" />
+ </jk:balancer>
+ </jk:balancers>
+</jk:status>
+
diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/conf/log4j.xml b/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/conf/log4j.xml
new file mode 100644
index 00000000..c31ba8ee
--- /dev/null
+++ b/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/conf/log4j.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+<!-- $Id: log4j.xml 572120 2007-09-02 19:32:11Z markt $ -->
+<!--
+| For more configuration infromation and examples see the Jakarta Log4j
+| owebsite: http://jakarta.apache.org/log4j
+-->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+<!-- ============================== -->
+<!-- Append messages to the console -->
+<!-- ==============================-->
+
+<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+<param name="Target" value="System.out"/>
+<layout class="org.apache.log4j.PatternLayout">
+<!--The default pattern: Date Priority [Category] Message\n-->
+<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+</layout>
+</appender>
+
+
+<category name="org.apache.jk.status"
+ additivity="false">
+ <priority value="info" />
+ <appender-ref ref="CONSOLE" />
+</category>
+
+<category name="org.apache.catalina"
+ additivity="false">
+ <priority value="info" />
+ <appender-ref ref="CONSOLE" />
+</category>
+<category name="org.apache.tomcat"
+ additivity="false">
+ <priority value="error" />
+ <appender-ref ref="CONSOLE" />
+</category>
+<category name="org.apache.naming"
+ additivity="false">
+ <priority value="info" />
+ <appender-ref ref="CONSOLE" />
+</category>
+<category name="org.apache.commons"
+ additivity="false">
+ <priority value="info" />
+ <appender-ref ref="CONSOLE" />
+</category>
+
+<!-- Setup the Root c -->
+<root>
+<appender-ref ref="CONSOLE"/>
+</root>
+</log4j:configuration>
+
diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java b/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java
new file mode 100644
index 00000000..3f7fc081
--- /dev/null
+++ b/rubbos/app/tomcat-connectors-1.2.32-src/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java
@@ -0,0 +1,63 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jk.status;
+
+import java.io.IOException;
+import java.io.StringReader;
+
+import junit.framework.TestCase;
+
+import org.apache.tomcat.util.digester.Digester;
+import org.xml.sax.SAXException;
+
+/**
+ * @author Peter Rossbach
+ *
+ */
+public class JkStatusParserTest extends TestCase {
+
+ public void testDigester() throws IOException, SAXException {
+ Digester digester = JkStatusParser.createDigester();
+ String example = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
+ + "<jk:status xmlns:jk=\"http://tomcat.apache.org\">"
+ + "<jk:server name=\"localhost\" port=\"80\" software=\"Apache/2.0.58 (Unix) mod_jk/1.2.19\" version=\"1.2.19\" />"
+ + "<jk:balancers>"
+ + "<jk:balancer id=\"0\" name=\"loadbalancer\" type=\"lb\" sticky=\"True\" stickyforce=\"False\" retries=\"2\" recover=\"60\" >"
+ + "<jk:member id=\"0\" name=\"node1\" type=\"ajp13\" host=\"localhost\" port=\"9012\" address=\"127.0.0.1:9012\" activation=\"ACT\" state=\"OK/IDLE\" distance=\"0\" lbfactor=\"1\" lbmult=\"1\" lbvalue=\"0\" elected=\"0\" errors=\"0\" transferred=\"0\" readed=\"0\" busy=\"0\" maxbusy=\"0\" jvm_route=\"node1\" />"
+ + "<jk:member id=\"0\" name=\"node2\" type=\"ajp13\" host=\"localhost\" port=\"9022\" address=\"127.0.0.1:9022\" activation=\"ACT\" state=\"OK/IDLE\" distance=\"0\" lbfactor=\"1\" lbmult=\"1\" lbvalue=\"0\" elected=\"0\" errors=\"0\" transferred=\"0\" readed=\"0\" busy=\"0\" maxbusy=\"0\" jvm_route=\"node2\" />"
+ + "<jk:map type=\"Wildchar\" uri=\"/ClusterTest/*\" context=\"/ClusterTest/*\" />"
+ + "<jk:map type=\"Exact\" uri=\"/ClusterTest\" context=\"/ClusterTest\" />"
+ + "<jk:map type=\"Wildchar\" uri=\"/myapps/*\" context=\"/myapps/*\" />"
+ + "<jk:map type=\"Exact\" uri=\"/myapps\" context=\"/myapps\" />"
+ + "</jk:balancer>"
+ + "</jk:balancers>"
+ + "</jk:status>" ;
+
+ StringReader reader = new StringReader(example);
+ JkStatus status = (JkStatus) digester
+ .parse(reader);
+ assertNotNull(status);
+ assertNotNull(status.getServer());
+ assertEquals(1,status.getBalancers().size());
+ JkBalancer balancer = (JkBalancer)status.getBalancers().get(0);
+ assertEquals(2,balancer.getBalancerMembers().size());
+ assertEquals("node1",((JkBalancerMember)balancer.getBalancerMembers().get(0)).getName());
+ assertEquals("node2",((JkBalancerMember)balancer.getBalancerMembers().get(1)).getName());
+ assertEquals(4,balancer.getBalancerMappings().size());
+ }
+
+}