Removing accidental add of copy of old test-jetty-osgi
This commit is contained in:
parent
8dd2272bd1
commit
07e878bda1
|
@ -1,399 +0,0 @@
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
||||||
<parent>
|
|
||||||
<groupId>org.eclipse.jetty.osgi</groupId>
|
|
||||||
<artifactId>jetty-osgi-project</artifactId>
|
|
||||||
<version>9.0.0-SNAPSHOT</version>
|
|
||||||
<relativePath>../pom.xml</relativePath>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<artifactId>test-jetty-osgi</artifactId>
|
|
||||||
<name>Jetty :: OSGi :: Test</name>
|
|
||||||
<description>Jetty OSGi Integration tests</description>
|
|
||||||
<properties>
|
|
||||||
<bundle-symbolic-name>${project.groupId}.boot.test.spdy</bundle-symbolic-name>
|
|
||||||
<jetty-orbit-url>http://download.eclipse.org/jetty/orbit/</jetty-orbit-url>
|
|
||||||
<assembly-directory>target/distribution</assembly-directory>
|
|
||||||
<exam.version>2.6.0</exam.version>
|
|
||||||
<url.version>1.4.0</url.version>
|
|
||||||
<paxswissbox.version>1.5.1</paxswissbox.version>
|
|
||||||
<felixversion>4.0.3</felixversion>
|
|
||||||
<injection.bundle.version>1.0</injection.bundle.version>
|
|
||||||
<runner.version>1.7.6</runner.version>
|
|
||||||
<npn-version>1.1.0.v20120525</npn-version>
|
|
||||||
</properties>
|
|
||||||
<dependencies>
|
|
||||||
<!-- Pax Exam Dependencies -->
|
|
||||||
<!-- OPS4J Swissbox Dependencies -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.swissbox</groupId>
|
|
||||||
<artifactId>pax-swissbox-core</artifactId>
|
|
||||||
<version>${paxswissbox.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.swissbox</groupId>
|
|
||||||
<artifactId>pax-swissbox-extender</artifactId>
|
|
||||||
<version>${paxswissbox.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.swissbox</groupId>
|
|
||||||
<artifactId>pax-swissbox-lifecycle</artifactId>
|
|
||||||
<version>${paxswissbox.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.swissbox</groupId>
|
|
||||||
<artifactId>pax-swissbox-framework</artifactId>
|
|
||||||
<version>${paxswissbox.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.exam</groupId>
|
|
||||||
<artifactId>pax-exam</artifactId>
|
|
||||||
<version>${exam.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.geronimo.specs</groupId>
|
|
||||||
<artifactId>geronimo-atinject_1.0_spec</artifactId>
|
|
||||||
<version>${injection.bundle.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.exam</groupId>
|
|
||||||
<artifactId>pax-exam-inject</artifactId>
|
|
||||||
<version>${exam.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- Don't use the native container for now. Observed limitations:
|
|
||||||
- single test with a single configuration
|
|
||||||
- does not read the versions of the dependencies from the pom.xml
|
|
||||||
and hence hardcode the bundles versions in the source code instead
|
|
||||||
- no support for most configuration options for the OSGi container. -->
|
|
||||||
<!--dependency>
|
|
||||||
<groupId>org.ops4j.pax.exam</groupId>
|
|
||||||
<artifactId>pax-exam-container-native</artifactId>
|
|
||||||
<version>${exam.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency-->
|
|
||||||
|
|
||||||
<!-- container is not bad but not enough config parameters yet
|
|
||||||
can't pass the VMOption for npn-boot
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.exam</groupId>
|
|
||||||
<artifactId>pax-exam-container-forked</artifactId>
|
|
||||||
<version>${exam.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.exam</groupId>
|
|
||||||
<artifactId>pax-exam-container-paxrunner</artifactId>
|
|
||||||
<version>${exam.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.runner</groupId>
|
|
||||||
<artifactId>pax-runner-no-jcl</artifactId>
|
|
||||||
<version>${runner.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.exam</groupId>
|
|
||||||
<artifactId>pax-exam-junit4</artifactId>
|
|
||||||
<version>${exam.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>junit</groupId>
|
|
||||||
<artifactId>junit</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.exam</groupId>
|
|
||||||
<artifactId>pax-exam-link-mvn</artifactId>
|
|
||||||
<version>${exam.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.url</groupId>
|
|
||||||
<artifactId>pax-url-aether</artifactId>
|
|
||||||
<version>${url.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<!-- OSGi R4 frameworks -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.felix</groupId>
|
|
||||||
<artifactId>org.apache.felix.framework</artifactId>
|
|
||||||
<version>${felixversion}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.ops4j.pax.exam</groupId>
|
|
||||||
<artifactId>pax-exam-testforge</artifactId>
|
|
||||||
<version>${exam.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<!-- For sane logging -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>slf4j-simple</artifactId>
|
|
||||||
<version>1.6.1</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<!-- Orbit Servlet Deps -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.orbit</groupId>
|
|
||||||
<artifactId>javax.servlet</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<!-- Orbit JSP Deps -->
|
|
||||||
<!-- OSGi Deps -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.osgi</groupId>
|
|
||||||
<artifactId>jetty-osgi-boot</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.osgi</groupId>
|
|
||||||
<artifactId>jetty-osgi-boot-jsp</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.osgi</groupId>
|
|
||||||
<artifactId>jetty-httpservice</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<!-- Jetty Deps -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-webapp</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-deploy</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-server</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-servlet</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-servlets</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-security</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-xml</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-jmx</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-util</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-client</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.websocket</groupId>
|
|
||||||
<artifactId>websocket-api</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.websocket</groupId>
|
|
||||||
<artifactId>websocket-common</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.websocket</groupId>
|
|
||||||
<artifactId>websocket-client</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.websocket</groupId>
|
|
||||||
<artifactId>websocket-servlet</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.websocket</groupId>
|
|
||||||
<artifactId>websocket-server</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.spdy</groupId>
|
|
||||||
<artifactId>spdy-core</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.spdy</groupId>
|
|
||||||
<artifactId>spdy-server</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.spdy</groupId>
|
|
||||||
<artifactId>spdy-http-server</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.spdy</groupId>
|
|
||||||
<artifactId>spdy-client</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.mortbay.jetty.npn</groupId>
|
|
||||||
<artifactId>npn-boot</artifactId>
|
|
||||||
<version>${npn-version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>jetty-plus</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<!-- Eclipse OSGi Deps -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.osgi</groupId>
|
|
||||||
<artifactId>org.eclipse.osgi</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.osgi</groupId>
|
|
||||||
<artifactId>org.eclipse.osgi.services</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<!-- we use the servlet jar from orbit -->
|
|
||||||
<groupId>javax.servlet</groupId>
|
|
||||||
<artifactId>servlet-api</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.equinox.http</groupId>
|
|
||||||
<artifactId>servlet</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
|
||||||
<artifactId>test-jetty-webapp</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<classifier>webbundle</classifier>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.eclipse.jetty.toolchain</groupId>
|
|
||||||
<artifactId>jetty-test-helper</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<!-- No point defining -Xbootclasspath as the actual OSGi VM is run as a forked process by pax-exam -->
|
|
||||||
<!--argLine>-Xbootclasspath/p:${settings.localRepository}/org/mortbay/jetty/npn/npn-boot/${npn-version}/npn-boot-${npn-version}.jar</argLine-->
|
|
||||||
<!-- But we do pass the sys property of the npn-boot jar -->
|
|
||||||
<argLine>-Dmortbay-npn-boot=${settings.localRepository}/org/mortbay/jetty/npn/npn-boot/${npn-version}/npn-boot-${npn-version}.jar</argLine>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
<version>2.5.1</version>
|
|
||||||
<configuration>
|
|
||||||
<source>1.7</source>
|
|
||||||
<target>1.7</target>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.servicemix.tooling</groupId>
|
|
||||||
<artifactId>depends-maven-plugin</artifactId>
|
|
||||||
<version>1.2</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>generate-depends-file</id>
|
|
||||||
<goals>
|
|
||||||
<goal>generate-depends-file</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
<pluginManagement>
|
|
||||||
<plugins>
|
|
||||||
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.eclipse.m2e</groupId>
|
|
||||||
<artifactId>lifecycle-mapping</artifactId>
|
|
||||||
<version>1.0.0</version>
|
|
||||||
<configuration>
|
|
||||||
<lifecycleMappingMetadata>
|
|
||||||
<pluginExecutions>
|
|
||||||
<pluginExecution>
|
|
||||||
<pluginExecutionFilter>
|
|
||||||
<groupId>org.apache.servicemix.tooling</groupId>
|
|
||||||
<artifactId>depends-maven-plugin</artifactId>
|
|
||||||
<versionRange>[1.2,)</versionRange>
|
|
||||||
<goals>
|
|
||||||
<goal>generate-depends-file</goal>
|
|
||||||
</goals>
|
|
||||||
</pluginExecutionFilter>
|
|
||||||
<action>
|
|
||||||
<ignore />
|
|
||||||
</action>
|
|
||||||
</pluginExecution>
|
|
||||||
</pluginExecutions>
|
|
||||||
</lifecycleMappingMetadata>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</pluginManagement>
|
|
||||||
</build>
|
|
||||||
</project>
|
|
|
@ -1,2 +0,0 @@
|
||||||
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
|
|
||||||
org.eclipse.jetty.spdy.LEVEL=WARN
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,40 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
|
||||||
|
|
||||||
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Configure the deployment manager -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<Call name="addBean">
|
|
||||||
<Arg>
|
|
||||||
<New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
|
|
||||||
<Set name="contexts">
|
|
||||||
<Ref refid="Contexts" />
|
|
||||||
</Set>
|
|
||||||
<Call name="setContextAttribute">
|
|
||||||
<Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
|
|
||||||
<Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
|
|
||||||
</Call>
|
|
||||||
<!-- Providers of OSGi Apps -->
|
|
||||||
<Call name="addAppProvider">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.osgi.boot.OSGiAppProvider">
|
|
||||||
<!--
|
|
||||||
<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
|
|
||||||
-->
|
|
||||||
<Set name="scanInterval">0</Set>
|
|
||||||
<Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
|
|
||||||
<!-- comma separated list of bundle symbolic names that contain custom tag libraries (*.tld files) -->
|
|
||||||
<!-- if those bundles don't exist or can't be loaded no errors or warning will be issued! -->
|
|
||||||
<!-- This default value plugs in the tld files of the reference implementation of JSF -->
|
|
||||||
<Set name="tldBundles"><Property name="org.eclipse.jetty.osgi.tldbundles" default="javax.faces.jsf-impl" /></Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
|
|
||||||
</Configure>
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
|
||||||
|
|
||||||
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
|
||||||
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Add connector -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
|
|
||||||
<Call name="addConnector">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.server.ServerConnector">
|
|
||||||
<Arg><Ref refid="Server" /></Arg>
|
|
||||||
<Set name="host"><Property name="jetty.host" /></Set>
|
|
||||||
<Set name="port"><Property name="jetty.port" default="8080"/></Set>
|
|
||||||
<Set name="idleTimeout">300000</Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
|
|
||||||
</Configure>
|
|
|
@ -1,157 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
|
||||||
|
|
||||||
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- HttpChannel Configuration -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
|
|
||||||
<Set name="secureScheme">https</Set>
|
|
||||||
<Set name="securePort">
|
|
||||||
<SystemProperty name="jetty.spdy.port" default="8443"/>
|
|
||||||
</Set>
|
|
||||||
<Set name="outputBufferSize">32768</Set>
|
|
||||||
<Set name="requestHeaderSize">8192</Set>
|
|
||||||
<Set name="responseHeaderSize">8192</Set>
|
|
||||||
<Call name="addCustomizer">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
</New>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Setup a SSL Context factory -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
|
|
||||||
<Set name="KeyStorePath"><Property name="jetty.home" default="."/>/etc/keystore
|
|
||||||
</Set>
|
|
||||||
<Set name="KeyStorePassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
|
|
||||||
<Set name="KeyManagerPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
|
|
||||||
<Set name="TrustStorePath"><Property name="jetty.home" default="."/>/etc/keystore
|
|
||||||
</Set>
|
|
||||||
<Set name="TrustStorePassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
|
|
||||||
</New>
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Add HTTP Customizer for Secure request -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<Ref refid="httpConfig">
|
|
||||||
<Call name="addCustomizer">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.server.SecureRequestCustomizer"/>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
</Ref>
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Create a push strategy which can be used by reference by -->
|
|
||||||
<!-- individual connection factories below. -->
|
|
||||||
<!-- -->
|
|
||||||
<!-- Consult the javadoc of o.e.j.spdy.server.http.ReferrerPushStrategy -->
|
|
||||||
<!-- for all configuration that may be set here. -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<New id="pushStrategy" class="org.eclipse.jetty.spdy.server.http.ReferrerPushStrategy">
|
|
||||||
<!-- Uncomment to blacklist browsers for this push strategy. If one of the blacklisted Strings occurs in the
|
|
||||||
user-agent header sent by the client, push will be disabled for this browser. This is case insensitive" -->
|
|
||||||
<!--
|
|
||||||
<Set name="UserAgentBlacklist">
|
|
||||||
<Array type="String">
|
|
||||||
<Item>.*(?i)firefox/14.*</Item>
|
|
||||||
<Item>.*(?i)firefox/15.*</Item>
|
|
||||||
<Item>.*(?i)firefox/16.*</Item>
|
|
||||||
</Array>
|
|
||||||
</Set>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Uncomment to override default file extensions to push -->
|
|
||||||
<!--
|
|
||||||
<Set name="PushRegexps">
|
|
||||||
<Array type="String">
|
|
||||||
<Item>.*\.css</Item>
|
|
||||||
<Item>.*\.js</Item>
|
|
||||||
<Item>.*\.png</Item>
|
|
||||||
<Item>.*\.jpg</Item>
|
|
||||||
<Item>.*\.gif</Item>
|
|
||||||
</Array>
|
|
||||||
</Set>
|
|
||||||
-->
|
|
||||||
<Set name="referrerPushPeriod">5000</Set>
|
|
||||||
<Set name="maxAssociatedResources">32</Set>
|
|
||||||
</New>
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Set connectors -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<Call id="sslConnector" name="addConnector">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.server.ServerConnector">
|
|
||||||
<Arg name="server">
|
|
||||||
<Ref refid="Server"/>
|
|
||||||
</Arg>
|
|
||||||
<Arg name="factories">
|
|
||||||
<Array type="org.eclipse.jetty.server.ConnectionFactory">
|
|
||||||
<Item>
|
|
||||||
<New class="org.eclipse.jetty.server.SslConnectionFactory">
|
|
||||||
<Arg name="next">npn</Arg>
|
|
||||||
<Arg name="sslContextFactory">
|
|
||||||
<Ref refid="sslContextFactory"/>
|
|
||||||
</Arg>
|
|
||||||
</New>
|
|
||||||
</Item>
|
|
||||||
|
|
||||||
<Item>
|
|
||||||
<New class="org.eclipse.jetty.spdy.server.NPNServerConnectionFactory">
|
|
||||||
<Arg name="protocols">
|
|
||||||
<Array type="String">
|
|
||||||
<Item>spdy/3</Item>
|
|
||||||
<Item>spdy/2</Item>
|
|
||||||
<Item>http/1.1</Item>
|
|
||||||
</Array>
|
|
||||||
</Arg>
|
|
||||||
<Set name="defaultProtocol">http/1.1</Set>
|
|
||||||
</New>
|
|
||||||
</Item>
|
|
||||||
|
|
||||||
<Item>
|
|
||||||
<New class="org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory">
|
|
||||||
<Arg name="version" type="int">3</Arg>
|
|
||||||
<Arg name="config">
|
|
||||||
<Ref refid="httpConfig"/>
|
|
||||||
</Arg>
|
|
||||||
<!-- <Arg name="pushStrategy"><Ref refid="pushStrategy"/></Arg> -->
|
|
||||||
</New>
|
|
||||||
</Item>
|
|
||||||
|
|
||||||
<Item>
|
|
||||||
<New class="org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory">
|
|
||||||
<Arg name="version" type="int">2</Arg>
|
|
||||||
<Arg name="config">
|
|
||||||
<Ref refid="httpConfig"/>
|
|
||||||
</Arg>
|
|
||||||
</New>
|
|
||||||
</Item>
|
|
||||||
|
|
||||||
<Item>
|
|
||||||
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
|
|
||||||
<Arg name="config">
|
|
||||||
<Ref refid="httpConfig"/>
|
|
||||||
</Arg>
|
|
||||||
</New>
|
|
||||||
</Item>
|
|
||||||
</Array>
|
|
||||||
</Arg>
|
|
||||||
<Set name="host">
|
|
||||||
<Property name="jetty.host"/>
|
|
||||||
</Set>
|
|
||||||
<Set name="port">
|
|
||||||
<SystemProperty name="jetty.spdy.port" default="8443"/>
|
|
||||||
</Set>
|
|
||||||
<Set name="idleTimeout">30000</Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
|
|
||||||
</Configure>
|
|
|
@ -1,20 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE Configure PUBLIC "-" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
|
||||||
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Configure Authentication Login Service -->
|
|
||||||
<!-- Realms may be configured for the entire server here, or -->
|
|
||||||
<!-- they can be configured for a specific web app in a context -->
|
|
||||||
<!-- configuration (see $(jetty.home)/webapps/test.xml for an -->
|
|
||||||
<!-- example). -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<Call name="addBean">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.security.HashLoginService">
|
|
||||||
<Set name="name">Test Realm</Set>
|
|
||||||
<Set name="config"><Property name="jetty.home" default="src/test/config"/>realm.properties</Set>
|
|
||||||
<Set name="refreshInterval">0</Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
</Configure>
|
|
|
@ -1,69 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
|
||||||
|
|
||||||
|
|
||||||
<!-- =============================================================== -->
|
|
||||||
<!-- Configure the Jetty Server -->
|
|
||||||
<!-- -->
|
|
||||||
<!-- Documentation of this file format can be found at: -->
|
|
||||||
<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax -->
|
|
||||||
<!-- =============================================================== -->
|
|
||||||
|
|
||||||
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Server Thread Pool -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<Arg name="threadPool">
|
|
||||||
<!-- Default queued blocking threadpool -->
|
|
||||||
<New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
|
|
||||||
<Set name="minThreads">10</Set>
|
|
||||||
<Set name="maxThreads">200</Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- Set handler Collection Structure -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<Set name="handler">
|
|
||||||
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
|
|
||||||
<Set name="handlers">
|
|
||||||
<Array type="org.eclipse.jetty.server.Handler">
|
|
||||||
<Item>
|
|
||||||
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
|
|
||||||
</Item>
|
|
||||||
<Item>
|
|
||||||
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
|
|
||||||
</Item>
|
|
||||||
<Item>
|
|
||||||
<New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
|
|
||||||
</Item>
|
|
||||||
</Array>
|
|
||||||
</Set>
|
|
||||||
</New>
|
|
||||||
</Set>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- extra options -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<Set name="stopAtShutdown">true</Set>
|
|
||||||
<Set name="stopTimeout">1000</Set>
|
|
||||||
<Set name="dumpAfterStart">false</Set>
|
|
||||||
<Set name="dumpBeforeStop">false</Set>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<!-- jetty-jndi by default -->
|
|
||||||
<!-- =========================================================== -->
|
|
||||||
<Call class="java.lang.System" name="setProperty">
|
|
||||||
<Arg>java.naming.factory.initial</Arg>
|
|
||||||
<Arg><Property name="java.naming.factory.initial" default="org.eclipse.jetty.jndi.InitialContextFactory"/></Arg>
|
|
||||||
</Call>
|
|
||||||
<Call class="java.lang.System" name="setProperty">
|
|
||||||
<Arg>java.naming.factory.url.pkgs</Arg>
|
|
||||||
<Arg><Property name="java.naming.factory.url.pkgs" default="org.eclipse.jetty.jndi"/></Arg>
|
|
||||||
</Call>
|
|
||||||
|
|
||||||
</Configure>
|
|
Binary file not shown.
|
@ -1,21 +0,0 @@
|
||||||
#
|
|
||||||
# This file defines users passwords and roles for a HashUserRealm
|
|
||||||
#
|
|
||||||
# The format is
|
|
||||||
# <username>: <password>[,<rolename> ...]
|
|
||||||
#
|
|
||||||
# Passwords may be clear text, obfuscated or checksummed. The class
|
|
||||||
# org.eclipse.util.Password should be used to generate obfuscated
|
|
||||||
# passwords or password checksums
|
|
||||||
#
|
|
||||||
# If DIGEST Authentication is used, the password must be in a recoverable
|
|
||||||
# format, either plain text or OBF:.
|
|
||||||
#
|
|
||||||
jetty: MD5:164c88b302622e17050af52c89945d44,user
|
|
||||||
admin: CRYPT:adpexzg3FUZAk,server-administrator,content-administrator,admin
|
|
||||||
other: OBF:1xmk1w261u9r1w1c1xmq,user
|
|
||||||
plain: plain,user
|
|
||||||
user: password,user
|
|
||||||
|
|
||||||
# This entry is for digest auth. The credential is a MD5 hash of username:realmname:password
|
|
||||||
digest: MD5:6e120743ad67abfbc385bc2bb754e297,user
|
|
|
@ -1,195 +0,0 @@
|
||||||
//
|
|
||||||
// ========================================================================
|
|
||||||
// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
|
|
||||||
// ------------------------------------------------------------------------
|
|
||||||
// All rights reserved. This program and the accompanying materials
|
|
||||||
// are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
// and Apache License v2.0 which accompanies this distribution.
|
|
||||||
//
|
|
||||||
// The Eclipse Public License is available at
|
|
||||||
// http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
//
|
|
||||||
// The Apache License v2.0 is available at
|
|
||||||
// http://www.opensource.org/licenses/apache2.0.php
|
|
||||||
//
|
|
||||||
// You may elect to redistribute this code under either of these licenses.
|
|
||||||
// ========================================================================
|
|
||||||
//
|
|
||||||
|
|
||||||
package org.eclipse.jetty.osgi.test;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.servlet.ServletException;
|
|
||||||
import javax.servlet.http.HttpServlet;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
|
||||||
import org.eclipse.jetty.client.api.ContentResponse;
|
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
|
||||||
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
|
||||||
import org.junit.Assert;
|
|
||||||
import org.ops4j.pax.exam.CoreOptions;
|
|
||||||
import org.ops4j.pax.exam.Option;
|
|
||||||
import org.osgi.framework.Bundle;
|
|
||||||
import org.osgi.framework.BundleContext;
|
|
||||||
import org.osgi.framework.ServiceReference;
|
|
||||||
import org.osgi.service.http.HttpService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper methods for pax-exam tests
|
|
||||||
*/
|
|
||||||
public class AbstractTestOSGi
|
|
||||||
{
|
|
||||||
|
|
||||||
private Map<String,Bundle> _bundles;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Note: this will run many more tests.
|
|
||||||
* TODO: find a better way to control this and use non-deprecated methods.
|
|
||||||
* @param options
|
|
||||||
*/
|
|
||||||
protected static void addMoreOSGiContainers(List<Option> options)
|
|
||||||
{
|
|
||||||
options.add(CoreOptions.equinox().version("3.6.1"));
|
|
||||||
options.add(CoreOptions.equinox().version("3.7.0"));
|
|
||||||
options.add(CoreOptions.felix().version("3.2.2"));
|
|
||||||
options.add(CoreOptions.felix().version("4.0.2"));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Bundle getBundle(BundleContext bundleContext, String symbolicName)
|
|
||||||
{
|
|
||||||
if (_bundles == null)
|
|
||||||
{
|
|
||||||
_bundles = new HashMap<String,Bundle>();
|
|
||||||
for (Bundle b : bundleContext.getBundles())
|
|
||||||
{
|
|
||||||
Bundle prevBundle = _bundles.put(b.getSymbolicName(), b);
|
|
||||||
String err = prevBundle != null ? "2 versions of the bundle " + b.getSymbolicName() +
|
|
||||||
" " + b.getHeaders().get("Bundle-Version") +
|
|
||||||
" and " + prevBundle.getHeaders().get("Bundle-Version")
|
|
||||||
: "";
|
|
||||||
Assert.assertNull(err, prevBundle);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return _bundles.get(symbolicName);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void assertActiveBundle(BundleContext bundleContext, String symbolicName) throws Exception
|
|
||||||
{
|
|
||||||
Bundle b = getBundle(bundleContext, symbolicName);
|
|
||||||
Assert.assertNotNull(b);
|
|
||||||
Assert.assertEquals(b.getSymbolicName()+" must be active.", Bundle.ACTIVE, b.getState());
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void assertActiveOrResolvedBundle(BundleContext bundleContext, String symbolicName) throws Exception
|
|
||||||
{
|
|
||||||
Bundle b = getBundle(bundleContext, symbolicName);
|
|
||||||
Assert.assertNotNull(b);
|
|
||||||
if (b.getHeaders().get("Fragment-Host") == null) diagnoseNonActiveOrNonResolvedBundle(b);
|
|
||||||
Assert.assertTrue(b.getSymbolicName()+" must be active or resolved. It was "+b.getState(),
|
|
||||||
b.getState() == Bundle.ACTIVE || b.getState() == Bundle.RESOLVED);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void assertAllBundlesActiveOrResolved(BundleContext bundleContext)
|
|
||||||
{
|
|
||||||
for (Bundle b : bundleContext.getBundles())
|
|
||||||
{
|
|
||||||
if (b.getState() == Bundle.INSTALLED)
|
|
||||||
{
|
|
||||||
diagnoseNonActiveOrNonResolvedBundle(b);
|
|
||||||
}
|
|
||||||
Assert.assertTrue("Bundle: " + b + " (state should be " +
|
|
||||||
"ACTIVE[" + Bundle.ACTIVE + "] or RESOLVED[" + Bundle.RESOLVED + "]" +
|
|
||||||
", but was [" + b.getState() + "])",
|
|
||||||
(b.getState() == Bundle.ACTIVE) || (b.getState() == Bundle.RESOLVED));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected boolean diagnoseNonActiveOrNonResolvedBundle(Bundle b)
|
|
||||||
{
|
|
||||||
if (b.getState() != Bundle.ACTIVE && b.getHeaders().get("Fragment-Host") == null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
System.err.println("Trying to start the bundle "+b.getSymbolicName()+
|
|
||||||
" that was supposed to be active or resolved.");
|
|
||||||
b.start();
|
|
||||||
System.err.println(b.getSymbolicName() + " did start");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (Throwable t)
|
|
||||||
{
|
|
||||||
System.err.println(b.getSymbolicName() + " failed to start");
|
|
||||||
t.printStackTrace(System.err);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
System.err.println(b.getSymbolicName() + " was already started");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void debugBundles(BundleContext bundleContext)
|
|
||||||
{
|
|
||||||
Map<String,Bundle> bundlesIndexedBySymbolicName = new HashMap<String, Bundle>();
|
|
||||||
System.err.println("Active " + Bundle.ACTIVE);
|
|
||||||
System.err.println("RESOLVED " + Bundle.RESOLVED);
|
|
||||||
System.err.println("INSTALLED " + Bundle.INSTALLED);
|
|
||||||
for( Bundle b : bundleContext.getBundles() )
|
|
||||||
{
|
|
||||||
bundlesIndexedBySymbolicName.put(b.getSymbolicName(), b);
|
|
||||||
System.err.println(" " + b.getSymbolicName() + " " + b.getState());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected SslContextFactory getSslContextFactory()
|
|
||||||
{
|
|
||||||
SslContextFactory sslContextFactory = new SslContextFactory(true);
|
|
||||||
sslContextFactory.setEndpointIdentificationAlgorithm("");
|
|
||||||
return sslContextFactory;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void testHttpServiceGreetings(BundleContext bundleContext, String protocol, int port) throws Exception
|
|
||||||
{
|
|
||||||
assertActiveBundle(bundleContext, "org.eclipse.jetty.osgi.boot");
|
|
||||||
|
|
||||||
assertActiveBundle(bundleContext, "org.eclipse.jetty.osgi.httpservice");
|
|
||||||
assertActiveBundle(bundleContext, "org.eclipse.equinox.http.servlet");
|
|
||||||
|
|
||||||
//in the OSGi world this would be bad code and we should use a bundle tracker.
|
|
||||||
//here we purposely want to make sure that the httpService is actually ready.
|
|
||||||
ServiceReference sr = bundleContext.getServiceReference(HttpService.class.getName());
|
|
||||||
Assert.assertNotNull("The httpServiceOSGiBundle is started and should " +
|
|
||||||
"have deployed a service reference for HttpService" ,sr);
|
|
||||||
HttpService http = (HttpService)bundleContext.getService(sr);
|
|
||||||
http.registerServlet("/greetings", new HttpServlet() {
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
@Override
|
|
||||||
protected void doGet(HttpServletRequest req,
|
|
||||||
HttpServletResponse resp) throws ServletException,
|
|
||||||
IOException {
|
|
||||||
resp.getWriter().write("Hello");
|
|
||||||
}
|
|
||||||
}, null, null);
|
|
||||||
|
|
||||||
//now test the servlet
|
|
||||||
HttpClient client = protocol.equals("https") ? new HttpClient(getSslContextFactory()) : new HttpClient();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
client.start();
|
|
||||||
ContentResponse response = client.GET(protocol+"://127.0.0.1:"+port+"/greetings");
|
|
||||||
Assert.assertEquals(HttpStatus.OK_200, response.getStatus());
|
|
||||||
|
|
||||||
String content = new String(response.getContent());
|
|
||||||
Assert.assertEquals("Hello", content);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
client.stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,122 +0,0 @@
|
||||||
//
|
|
||||||
// ========================================================================
|
|
||||||
// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
|
|
||||||
// ------------------------------------------------------------------------
|
|
||||||
// All rights reserved. This program and the accompanying materials
|
|
||||||
// are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
// and Apache License v2.0 which accompanies this distribution.
|
|
||||||
//
|
|
||||||
// The Eclipse Public License is available at
|
|
||||||
// http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
//
|
|
||||||
// The Apache License v2.0 is available at
|
|
||||||
// http://www.opensource.org/licenses/apache2.0.php
|
|
||||||
//
|
|
||||||
// You may elect to redistribute this code under either of these licenses.
|
|
||||||
// ========================================================================
|
|
||||||
//
|
|
||||||
|
|
||||||
package org.eclipse.jetty.osgi.test;
|
|
||||||
|
|
||||||
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.ops4j.pax.exam.CoreOptions;
|
|
||||||
import org.ops4j.pax.exam.Option;
|
|
||||||
import org.ops4j.pax.exam.junit.Configuration;
|
|
||||||
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
|
|
||||||
import org.osgi.framework.BundleContext;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Default OSGi setup integration test
|
|
||||||
*/
|
|
||||||
@RunWith( JUnit4TestRunner.class )
|
|
||||||
public class TestJettyOSGiBootCore extends AbstractTestOSGi {
|
|
||||||
|
|
||||||
public static int DEFAULT_JETTY_HTTP_PORT = 9876;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
private BundleContext bundleContext;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
public Option[] config()
|
|
||||||
{
|
|
||||||
ArrayList<Option> options = new ArrayList<Option>();
|
|
||||||
addMoreOSGiContainers(options);
|
|
||||||
options.addAll(provisionCoreJetty());
|
|
||||||
options.add(CoreOptions.junitBundles());
|
|
||||||
options.addAll(httpServiceJetty());
|
|
||||||
return options.toArray(new Option[options.size()]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Option> provisionCoreJetty()
|
|
||||||
{
|
|
||||||
List<Option> res = new ArrayList<Option>();
|
|
||||||
// get the jetty home config from the osgi boot bundle.
|
|
||||||
res.add(CoreOptions.systemProperty("jetty.port").value(String.valueOf(DEFAULT_JETTY_HTTP_PORT)));
|
|
||||||
res.add(CoreOptions.systemProperty("jetty.home.bundle").value("org.eclipse.jetty.osgi.boot"));
|
|
||||||
res.addAll(coreJettyDependencies());
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static List<Option> coreJettyDependencies()
|
|
||||||
{
|
|
||||||
List<Option> res = new ArrayList<Option>();
|
|
||||||
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.osgi" ).artifactId( "jetty-osgi-boot" ).versionAsInProject().start());
|
|
||||||
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "javax.servlet" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-deploy" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-server" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-servlet" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-util" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-http" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-xml" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-webapp" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-io" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-continuation" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-security" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-servlets" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-client" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-api" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-common" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-servlet" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-server" ).versionAsInProject().noStart());
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Option> httpServiceJetty()
|
|
||||||
{
|
|
||||||
List<Option> res = new ArrayList<Option>();
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.osgi" ).artifactId( "jetty-httpservice" ).versionAsInProject().start());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.equinox.http" ).artifactId( "servlet" ).versionAsInProject().start());
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void assertAllBundlesActiveOrResolved()
|
|
||||||
{
|
|
||||||
assertAllBundlesActiveOrResolved(bundleContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* You will get a list of bundles installed by default
|
|
||||||
* plus your testcase, wrapped into a bundle called pax-exam-probe
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testHttpService() throws Exception
|
|
||||||
{
|
|
||||||
testHttpServiceGreetings(bundleContext, "http", DEFAULT_JETTY_HTTP_PORT);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,122 +0,0 @@
|
||||||
//
|
|
||||||
// ========================================================================
|
|
||||||
// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
|
|
||||||
// ------------------------------------------------------------------------
|
|
||||||
// All rights reserved. This program and the accompanying materials
|
|
||||||
// are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
// and Apache License v2.0 which accompanies this distribution.
|
|
||||||
//
|
|
||||||
// The Eclipse Public License is available at
|
|
||||||
// http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
//
|
|
||||||
// The Apache License v2.0 is available at
|
|
||||||
// http://www.opensource.org/licenses/apache2.0.php
|
|
||||||
//
|
|
||||||
// You may elect to redistribute this code under either of these licenses.
|
|
||||||
// ========================================================================
|
|
||||||
//
|
|
||||||
|
|
||||||
package org.eclipse.jetty.osgi.test;
|
|
||||||
|
|
||||||
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import org.junit.Assert;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.ops4j.pax.exam.CoreOptions;
|
|
||||||
import org.ops4j.pax.exam.Option;
|
|
||||||
import org.ops4j.pax.exam.junit.Configuration;
|
|
||||||
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
|
|
||||||
import org.osgi.framework.BundleContext;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SPDY setup.
|
|
||||||
*/
|
|
||||||
@RunWith( JUnit4TestRunner.class )
|
|
||||||
public class TestJettyOSGiBootSpdy extends AbstractTestOSGi {
|
|
||||||
|
|
||||||
private static final String JETTY_SPDY_PORT = "jetty.spdy.port";
|
|
||||||
private static final int DEFAULT_JETTY_SPDY_PORT = 9877;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
private BundleContext bundleContext;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
public Option[] config()
|
|
||||||
{
|
|
||||||
ArrayList<Option> options = new ArrayList<Option>();
|
|
||||||
|
|
||||||
addMoreOSGiContainers(options);
|
|
||||||
|
|
||||||
options.addAll(TestJettyOSGiBootCore.provisionCoreJetty());
|
|
||||||
options.addAll(TestJettyOSGiBootWithJsp.configureJettyHomeAndPort("jetty-spdy.xml"));
|
|
||||||
options.add(CoreOptions.junitBundles());
|
|
||||||
options.addAll(TestJettyOSGiBootCore.httpServiceJetty());
|
|
||||||
options.addAll(spdyJettyDependencies());
|
|
||||||
return options.toArray(new Option[options.size()]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Option> spdyJettyDependencies()
|
|
||||||
{
|
|
||||||
List<Option> res = new ArrayList<Option>();
|
|
||||||
res.add(CoreOptions.systemProperty(JETTY_SPDY_PORT).value(String.valueOf(DEFAULT_JETTY_SPDY_PORT)));
|
|
||||||
//java -Xbootclasspath/p:${settings.localRepository}/org/mortbay/jetty/npn/npn-boot/${npn-version}/npn-boot-${npn-version}.jar
|
|
||||||
// res.add(CoreOptions.vmOptions("-Xbootclasspath/p:"+System.getenv("HOME")+"/.m2/repository/org/mortbay/jetty/npn/npn-boot/"+npnBootVersion+"/npn-boot-"+npnBootVersion+".jar"));
|
|
||||||
String npnBoot = System.getProperty("mortbay-npn-boot");
|
|
||||||
if (npnBoot == null)
|
|
||||||
{
|
|
||||||
throw new IllegalStateException("Please define the path to the npn boot jar as the sys property -Dmortbay-npn-boot");
|
|
||||||
//are we trying to be too nice? this kinds of work outside of maven maybe
|
|
||||||
// String npnBootUrl = mavenBundle().groupId( "org.mortbay.jetty.npn" ).artifactId( "npn-boot" ).versionAsInProject().getURL();
|
|
||||||
// String npnBootVersion = npnBootUrl.split("\\/")[2];
|
|
||||||
// if (!Character.isDigit(npnBootVersion.charAt(0)))
|
|
||||||
// {
|
|
||||||
// throw new IllegalArgumentException(npnBootUrl + " - " + npnBootVersion);
|
|
||||||
// }
|
|
||||||
// npnBoot = System.getenv("HOME")+"/.m2/repository/org/mortbay/jetty/npn/npn-boot/"+npnBootVersion+"/npn-boot-"+npnBootVersion+".jar";
|
|
||||||
}
|
|
||||||
File checkNpnBoot = new File(npnBoot);
|
|
||||||
if (!checkNpnBoot.exists())
|
|
||||||
{
|
|
||||||
throw new IllegalStateException("Unable to find the npn boot jar here: " + npnBoot);
|
|
||||||
}
|
|
||||||
|
|
||||||
res.add(CoreOptions.vmOptions("-Xbootclasspath/p:"+npnBoot));
|
|
||||||
res.add(CoreOptions.bootDelegationPackages("org.eclipse.jetty.npn"));
|
|
||||||
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.spdy" ).artifactId( "spdy-core" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.spdy" ).artifactId( "spdy-server" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.spdy" ).artifactId( "spdy-http-server" ).versionAsInProject().noStart());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.spdy" ).artifactId( "spdy-client" ).versionAsInProject().noStart());
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void checkNpnBootOnBootstrapClasspath() throws Exception
|
|
||||||
{
|
|
||||||
Class<?> npn = Thread.currentThread().getContextClassLoader()
|
|
||||||
.loadClass("org.eclipse.jetty.npn.NextProtoNego");
|
|
||||||
Assert.assertNotNull(npn);
|
|
||||||
Assert.assertNull(npn.getClassLoader());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void assertAllBundlesActiveOrResolved()
|
|
||||||
{
|
|
||||||
assertAllBundlesActiveOrResolved(bundleContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testSpdyOnHttpService() throws Exception
|
|
||||||
{
|
|
||||||
testHttpServiceGreetings(bundleContext, "https", DEFAULT_JETTY_SPDY_PORT);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,177 +0,0 @@
|
||||||
//
|
|
||||||
// ========================================================================
|
|
||||||
// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
|
|
||||||
// ------------------------------------------------------------------------
|
|
||||||
// All rights reserved. This program and the accompanying materials
|
|
||||||
// are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
// and Apache License v2.0 which accompanies this distribution.
|
|
||||||
//
|
|
||||||
// The Eclipse Public License is available at
|
|
||||||
// http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
//
|
|
||||||
// The Apache License v2.0 is available at
|
|
||||||
// http://www.opensource.org/licenses/apache2.0.php
|
|
||||||
//
|
|
||||||
// You may elect to redistribute this code under either of these licenses.
|
|
||||||
// ========================================================================
|
|
||||||
//
|
|
||||||
|
|
||||||
package org.eclipse.jetty.osgi.test;
|
|
||||||
|
|
||||||
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
|
|
||||||
import static org.ops4j.pax.exam.CoreOptions.options;
|
|
||||||
import static org.ops4j.pax.exam.CoreOptions.systemProperty;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
|
||||||
|
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
|
||||||
import org.eclipse.jetty.client.api.ContentResponse;
|
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
|
||||||
import org.eclipse.jetty.osgi.boot.OSGiServerConstants;
|
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.ops4j.pax.exam.CoreOptions;
|
|
||||||
import org.ops4j.pax.exam.Option;
|
|
||||||
import org.ops4j.pax.exam.junit.Configuration;
|
|
||||||
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
|
|
||||||
import org.osgi.framework.BundleContext;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Pax-Exam to make sure the jetty-osgi-boot can be started along with the httpservice web-bundle.
|
|
||||||
* Then make sure we can deploy an OSGi service on the top of this.
|
|
||||||
*/
|
|
||||||
@RunWith( JUnit4TestRunner.class )
|
|
||||||
public class TestJettyOSGiBootWithJsp extends AbstractTestOSGi
|
|
||||||
{
|
|
||||||
private static final boolean LOGGING_ENABLED = true;
|
|
||||||
private static final boolean REMOTE_DEBUGGING = false;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
BundleContext bundleContext = null;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
public static Option[] configure()
|
|
||||||
{
|
|
||||||
|
|
||||||
ArrayList<Option> options = new ArrayList<Option>();
|
|
||||||
|
|
||||||
addMoreOSGiContainers(options);
|
|
||||||
|
|
||||||
options.add(CoreOptions.junitBundles());
|
|
||||||
options.addAll(configureJettyHomeAndPort("jetty-selector.xml"));
|
|
||||||
options.add(CoreOptions.bootDelegationPackages("org.xml.sax", "org.xml.*",
|
|
||||||
"org.w3c.*", "javax.xml.*"));
|
|
||||||
options.addAll(TestJettyOSGiBootCore.coreJettyDependencies());
|
|
||||||
|
|
||||||
// Enable Logging
|
|
||||||
if(LOGGING_ENABLED) {
|
|
||||||
options.addAll(Arrays.asList(options(
|
|
||||||
// install log service using pax runners profile abstraction (there are more profiles, like DS)
|
|
||||||
// logProfile(),
|
|
||||||
// this is how you set the default log level when using pax logging (logProfile)
|
|
||||||
systemProperty( "org.ops4j.pax.logging.DefaultServiceLog.level" ).value( "INFO" )
|
|
||||||
)));
|
|
||||||
}
|
|
||||||
|
|
||||||
options.addAll(jspDependencies());
|
|
||||||
|
|
||||||
// Remote JDWP Debugging, this won't work with the forked container.
|
|
||||||
// if(REMOTE_DEBUGGING) {
|
|
||||||
// options.addAll(Arrays.asList(options(
|
|
||||||
// // this just adds all what you write here to java vm argumenents of the (new) osgi process.
|
|
||||||
// PaxRunnerOptions.vmOption( "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006" )
|
|
||||||
// )));
|
|
||||||
// }
|
|
||||||
|
|
||||||
//bug at the moment: this would make the httpservice catch all
|
|
||||||
//requests and prevent the webapp at the root context to catch any of them.
|
|
||||||
//options.addAll(TestJettyOSGiBootCore.httpServiceJetty());
|
|
||||||
|
|
||||||
return options.toArray(new Option[options.size()]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Option> configureJettyHomeAndPort(String jettySelectorFileName)
|
|
||||||
{
|
|
||||||
File etcFolder = new File("src/test/config/etc");
|
|
||||||
String etc = "file://" + etcFolder.getAbsolutePath();
|
|
||||||
List<Option> options = new ArrayList<Option>();
|
|
||||||
options.add(systemProperty(OSGiServerConstants.MANAGED_JETTY_XML_CONFIG_URLS)
|
|
||||||
.value(etc + "/jetty.xml;" +
|
|
||||||
etc + "/" + jettySelectorFileName + ";" +
|
|
||||||
etc + "/jetty-deployer.xml;" +
|
|
||||||
etc + "/jetty-testrealm.xml"));
|
|
||||||
options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT)));
|
|
||||||
options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath()));
|
|
||||||
return options;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Option> jspDependencies() {
|
|
||||||
List<Option> res = new ArrayList<Option>();
|
|
||||||
/* orbit deps */
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "javax.servlet.jsp" ).versionAsInProject());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "javax.servlet.jsp.jstl" ).versionAsInProject());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "javax.el" ).versionAsInProject());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "com.sun.el" ).versionAsInProject());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "org.apache.jasper.glassfish" ).versionAsInProject());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "org.apache.taglibs.standard.glassfish" ).versionAsInProject());
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "org.eclipse.jdt.core" ).versionAsInProject());
|
|
||||||
|
|
||||||
/* jetty-osgi deps */
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty.osgi" ).artifactId( "jetty-osgi-boot-jsp" ).versionAsInProject().noStart());
|
|
||||||
|
|
||||||
res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "test-jetty-webapp" ).classifier("webbundle").versionAsInProject());
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void assertAllBundlesActiveOrResolved()
|
|
||||||
{
|
|
||||||
assertAllBundlesActiveOrResolved(bundleContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
//at the moment can't run httpservice with jsp at the same time.
|
|
||||||
//that is a regression in jetty-9
|
|
||||||
@Ignore
|
|
||||||
@Test
|
|
||||||
public void testHttpService() throws Exception
|
|
||||||
{
|
|
||||||
super.testHttpServiceGreetings(bundleContext, "http", TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testJspDump() throws Exception
|
|
||||||
{
|
|
||||||
|
|
||||||
//System.err.println("http://127.0.0.1:9876/jsp/dump.jsp sleeping....");
|
|
||||||
//Thread.currentThread().sleep(5000000);
|
|
||||||
//now test the jsp/dump.jsp
|
|
||||||
HttpClient client = new HttpClient();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
client.start();
|
|
||||||
ContentResponse response = client.GET("http://127.0.0.1:"+
|
|
||||||
TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT+"/jsp/dump.jsp");
|
|
||||||
Assert.assertEquals(HttpStatus.OK_200, response.getStatus());
|
|
||||||
|
|
||||||
String content = new String(response.getContent());
|
|
||||||
//System.err.println("content: " + content);
|
|
||||||
Assert.assertTrue(content.contains("<tr><th>ServletPath:</th><td>/jsp/dump.jsp</td></tr>"));
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
client.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue