Issue #5264 - Reworking demo/tests into modules based on config classifiers

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
This commit is contained in:
Joakim Erdfelt 2020-09-21 13:57:23 -05:00
parent d0b8a31411
commit 8a64309cdf
No known key found for this signature in database
GPG Key ID: 2D0E1FB8FE4B68B4
39 changed files with 300 additions and 525 deletions

View File

@ -1,7 +1,7 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Download and deploy the Async Rest webapp demo.
Demo Async Rest webapp
[tags]
demo
@ -11,5 +11,5 @@ webapp
deploy
[files]
maven://org.eclipse.jetty.example-async-rest/example-async-rest-webapp/${jetty.version}/war|webapps/async-rest.war
maven://org.eclipse.jetty.example-async-rest/example-async-rest-webapp/${jetty.version}/war|webapps/demo-async-rest.war

View File

@ -151,7 +151,7 @@
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-distribution</artifactId>
<artifactId>jetty-home</artifactId>
<version>${project.version}</version>
<type>tar.gz</type>
<scope>test</scope>

View File

@ -110,18 +110,6 @@
<artifactId>jetty-deploy</artifactId>
<version>10.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-distribution</artifactId>
<version>10.0.0-SNAPSHOT</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-distribution</artifactId>
<version>10.0.0-SNAPSHOT</version>
<type>tar.gz</type>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.fcgi</groupId>
<artifactId>fcgi-client</artifactId>

View File

@ -464,7 +464,7 @@
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeGroupIds>org.eclipse.jetty,org.eclipse.jetty.websocket</includeGroupIds>
<includeGroupIds>org.eclipse.jetty,org.eclipse.jetty.tests,org.eclipse.jetty.websocket</includeGroupIds>
<excludeArtifactIds>infinispan-embedded,infinispan-remote,jetty-test-helper,alpn-api,javax.security.auth.message,javax.activation</excludeArtifactIds>
<classifier>config</classifier>
<failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
@ -793,6 +793,49 @@
<artifactId>jetty-nosql</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Demo Apps -->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>test-jetty-webapp</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.tests</groupId>
<artifactId>test-jaas-webapp</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.tests</groupId>
<artifactId>test-jndi-webapp</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.tests</groupId>
<artifactId>test-spec-webapp</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.example-async-rest</groupId>
<artifactId>example-async-rest-webapp</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.tests</groupId>
<artifactId>test-proxy-webapp</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<type>jar</type>
</dependency>
</dependencies>
</project>

View File

@ -10,17 +10,17 @@ demo
http
https
http2
webapp-root
webapp-async-rest
webapp-test-spec
test-keystore
work
demo-root
demo-async-rest
demo-proxy
demo-spec
demo-jetty
demo-rewrite
demo-moved-context
[files]
maven://org.eclipse.jetty.example-async-rest/example-async-rest-webapp/${jetty.version}/war|webapps/async-rest.war
[ini-template]
# Websocket chat examples needs websocket enabled
# Don't start for all contexts (set to true in test.xml context)

View File

@ -1,21 +1,15 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Download and deploy the Test Spec webapp demo.
Demo JNDI Resources
[tags]
demo
webapp
[depends]
deploy
plus
jdbc
jsp
annotations
test-realm
ext
[files]
basehome:modules/demo.d/test-spec.xml|webapps/test-spec.xml
maven://org.eclipse.jetty.tests/test-spec-webapp/${jetty.version}/war|webapps/test-spec.war
maven://org.eclipse.jetty.tests/test-mock-resources/${jetty.version}/jar|lib/ext/test-mock-resources-${jetty.version}.jar

View File

@ -0,0 +1,21 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Configure a demo authentication realm.
[tags]
demo
[depends]
security
[xml]
etc/demo-realm.xml
[files]
basehome:modules/demo.d/demo-realm.xml|etc/demo-realm.xml
basehome:modules/demo.d/demo-realm.properties|etc/demo-realm.properties
[ini-template]
# Create and configure the test realm
jetty.demo.realm=etc/realm.properties

View File

@ -1,7 +1,7 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Deploy demo root webapp.
Demo root webapp.
[tags]
demo

View File

@ -12,7 +12,7 @@
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Test Realm</Set>
<Set name="config">etc/test-realm.properties</Set>
<Set name="config">etc/demo-realm.properties</Set>
<Set name="hotReload">false</Set>
</New>
</Arg>

View File

@ -1,17 +0,0 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Configure a demo authentication realm.
[tags]
demo
[depends]
security
[xml]
etc/test-realm.xml
[files]
basehome:modules/demo.d/test-realm.xml|etc/test-realm.xml
basehome:modules/demo.d/test-realm.properties|etc/test-realm.properties

View File

@ -37,12 +37,12 @@ import static org.hamcrest.Matchers.containsString;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CDITests extends AbstractDistributionTest
public class CDITests extends AbstractJettyHomeTest
{
// Tests from here use these parameters
public static Stream<Arguments> tests()
{
Consumer<DistributionTester> renameJettyWebOwbXml = d ->
Consumer<JettyHomeTester> renameJettyWebOwbXml = d ->
{
try
{
@ -75,20 +75,19 @@ public class CDITests extends AbstractDistributionTest
*/
@ParameterizedTest
@MethodSource("tests")
public void testCDIIncludedInWebapp(String implementation, String integration, Consumer<DistributionTester> configure) throws Exception
public void testCDIIncludedInWebapp(String implementation, String integration, Consumer<JettyHomeTester> configure) throws Exception
{
String jettyVersion = System.getProperty("jettyVersion");
DistributionTester distribution = DistributionTester.Builder.newInstance()
JettyHomeTester distribution = JettyHomeTester.Builder.newInstance()
.jettyVersion(jettyVersion)
.mavenLocalRepository(System.getProperty("mavenRepoPath"))
.build();
String[] args1 = {
"--create-startd",
"--approve-all-licenses",
"--add-to-start=http,deploy,annotations,jsp" + (integration == null ? "" : ("," + integration))
"--add-modules=http,deploy,annotations,jsp" + (integration == null ? "" : ("," + integration))
};
try (DistributionTester.Run run1 = distribution.start(args1))
try (JettyHomeTester.Run run1 = distribution.start(args1))
{
assertTrue(run1.awaitFor(5, TimeUnit.SECONDS));
assertEquals(0, run1.getExitValue());
@ -99,7 +98,7 @@ public class CDITests extends AbstractDistributionTest
configure.accept(distribution);
int port = distribution.freePort();
try (DistributionTester.Run run2 = distribution.start("jetty.http.port=" + port))
try (JettyHomeTester.Run run2 = distribution.start("jetty.http.port=" + port))
{
assertTrue(run2.awaitConsoleLogsFor("Started Server@", 10, TimeUnit.SECONDS));

View File

@ -30,23 +30,22 @@ import static org.hamcrest.Matchers.containsString;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class OsgiAppTests extends AbstractDistributionTest
public class OsgiAppTests extends AbstractJettyHomeTest
{
@Test
public void testFelixWebappStart() throws Exception
{
String jettyVersion = System.getProperty("jettyVersion");
DistributionTester distribution = DistributionTester.Builder.newInstance()
JettyHomeTester distribution = JettyHomeTester.Builder.newInstance()
.jettyVersion(jettyVersion)
.mavenLocalRepository(System.getProperty("mavenRepoPath"))
.build();
String[] args1 = {
"--create-startd",
"--approve-all-licenses",
"--add-to-start=http,deploy,annotations,plus,resources"
"--add-modules=http,deploy,annotations,plus,resources"
};
try (DistributionTester.Run run1 = distribution.start(args1))
try (JettyHomeTester.Run run1 = distribution.start(args1))
{
assertTrue(run1.awaitFor(5, TimeUnit.SECONDS));
assertEquals(0, run1.getExitValue());
@ -55,7 +54,7 @@ public class OsgiAppTests extends AbstractDistributionTest
distribution.installWarFile(war, "test");
int port = distribution.freePort();
try (DistributionTester.Run run2 = distribution.start("jetty.http.port=" + port))
try (JettyHomeTester.Run run2 = distribution.start("jetty.http.port=" + port))
{
assertTrue(run2.awaitConsoleLogsFor("Started Server@", 10, TimeUnit.SECONDS));

View File

@ -13,7 +13,7 @@
<properties>
<test-wars-dir>${project.build.directory}/test-wars</test-wars-dir>
<test-libs-dir>${project.build.directory}/test-libs</test-libs-dir>
<test-dist-dir>${project.build.directory}/test-dist</test-dist-dir>
<test-home-dir>${project.build.directory}/test-dist</test-home-dir>
<bundle-symbolic-name>${project.groupId}.integrations</bundle-symbolic-name>
</properties>
@ -37,7 +37,7 @@
</configuration>
</execution>
<execution>
<id>unpack-jetty-distro</id>
<id>unpack-jetty-home</id>
<phase>process-test-resources</phase>
<goals>
<goal>unpack</goal>
@ -46,14 +46,14 @@
<artifactItems>
<artifactItem>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-distribution</artifactId>
<artifactId>jetty-home</artifactId>
<version>${project.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
</artifactItem>
</artifactItems>
<outputAbsoluteArtifactFilename>true</outputAbsoluteArtifactFilename>
<outputDirectory>${test-dist-dir}</outputDirectory>
<outputDirectory>${test-home-dir}</outputDirectory>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
@ -99,7 +99,7 @@
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-distribution</artifactId>
<artifactId>jetty-home</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>

View File

@ -18,50 +18,37 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<!-- DO NOT DEPLOY (or Release) -->
<skip>true</skip>
<!-- DEMO Project, Must Deploy -->
<skip>false</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<scan>10</scan>
<systemProperties>
<!-- This is for convenience so that the src/etc/login.conf file can stay unmodified when copied to $jetty.home/etc directory -->
<jetty.base>${basedir}/src/main/config/demo-base</jetty.base>
<!-- Mandatory. This system property tells JAAS where to find the login module configuration file -->
<java.security.auth.login.config>${basedir}/src/main/config/demo-base/etc/login.conf</java.security.auth.login.config>
</systemProperties>
<webApp>
<contextPath>/test-jaas</contextPath>
<securityHandler implementation="org.eclipse.jetty.security.ConstraintSecurityHandler">
<loginService implementation="org.eclipse.jetty.jaas.JAASLoginService">
<name>Test JAAS Realm</name>
<loginModuleName>xyz</loginModuleName>
</loginService>
</securityHandler>
</webApp>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>${basedir}/src/main/assembly/config.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<scan>10</scan>
<systemProperties>
<!-- This is for convenience so that the src/etc/login.conf file can stay unmodified when copied to $jetty.home/etc directory -->
<jetty.base>${basedir}/src/main/config/demo-base</jetty.base>
<!-- Mandatory. This system property tells JAAS where to find the login module configuration file -->
<java.security.auth.login.config>${basedir}/src/main/config/demo-base/etc/login.conf</java.security.auth.login.config>
</systemProperties>
<webApp>
<contextPath>/test-jaas</contextPath>
<securityHandler implementation="org.eclipse.jetty.security.ConstraintSecurityHandler">
<loginService implementation="org.eclipse.jetty.jaas.JAASLoginService">
<name>Test JAAS Realm</name>
<loginModuleName>xyz</loginModuleName>
</loginService>
</securityHandler>
</webApp>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<id>config</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>src/main/config</directory>
<outputDirectory></outputDirectory>
<includes>
<include>webapps/test-jaas.xml</include>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@ -0,0 +1,27 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Demo Spec webapp
[tags]
demo
webapp
[depends]
deploy
jdbc
jsp
annotations
ext
demo-realm
demo-jndi
[files]
basehome:modules/demo.d/demo-jaas.xml|webapps/demo-jaas.xml
basehome:modules/demo.d/demo-login.conf|etc/demo-login.conf
basehome:modules/demo.d/demo-login.properties|etc/demo-login.properties
maven://org.eclipse.jetty.tests/test-jaas-webapp/${jetty.version}/war|webapps/demo-jaas.war
[ini-template]
# Enable security via jaas, and configure it
jetty.jaas.login.conf=etc/demo-login.conf

View File

@ -2,19 +2,20 @@
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://www.eclipse.org/jetty/configure_10_0.dtd">
<!-- =============================================================== -->
<!-- Configure the test-jaas webapp -->
<!-- Configure the demo-jaas webapp -->
<!-- =============================================================== -->
<Configure id='wac' class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/test-jaas</Set>
<Set name="war"><Property name="jetty.webapps" default="."/>/test-jaas.war</Set>
<Set name="war"><Property name="jetty.webapps" default="." />/demo-jaas.war
</Set>
<Set name="extractWAR">true</Set>
<Set name="securityHandler">
<New class="org.eclipse.jetty.security.ConstraintSecurityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.jaas.JAASLoginService">
<Set name="name">Test JAAS Realm</Set>
<Set name="name">Demo JAAS Realm</Set>
<Set name="loginModuleName">xyz</Set>
</New>
</Set>

View File

@ -1,5 +1,5 @@
xyz {
org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
debug="true"
file="${jetty.base}/etc/login.properties";
file="${jetty.base}/etc/demo-login.properties";
};

View File

@ -38,14 +38,12 @@
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>web-bundle-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>config</descriptorRef>
</descriptorRefs>
<descriptors>
<descriptor>src/main/assembly/web-bundle.xml</descriptor>
</descriptors>
@ -88,50 +86,55 @@
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${project.version}</version>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<stopPort>8087</stopPort>
<stopKey>foo</stopKey>
<scan>1</scan>
<systemProperties>
<fooprop>222</fooprop>
</systemProperties>
<webApp>
<contextPath>/test</contextPath>
<tempDirectory>${project.build.directory}/work</tempDirectory>
</webApp>
<loginServices>
<loginService implementation="org.eclipse.jetty.security.HashLoginService">
<name>Test Realm</name>
<config>src/main/config/demo-base/etc/realm.properties</config>
</loginService>
</loginServices>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<!-- must deploy: required for jetty-distribution -->
<!-- DEMO Project, Must Deploy -->
<skip>false</skip>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${project.version}</version>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<stopPort>8087</stopPort>
<stopKey>foo</stopKey>
<scan>1</scan>
<systemProperties>
<fooprop>222</fooprop>
</systemProperties>
<webApp>
<contextPath>/test</contextPath>
<tempDirectory>${project.build.directory}/work</tempDirectory>
</webApp>
<loginServices>
<loginService implementation="org.eclipse.jetty.security.HashLoginService">
<name>Test Realm</name>
<config>src/main/config/demo-base/etc/realm.properties</config>
</loginService>
</loginServices>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>

View File

@ -1,104 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://www.eclipse.org/jetty/configure_10_0.dtd">
<!-- =============================================================== -->
<!-- Configure the demos -->
<!-- =============================================================== -->
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- ============================================================= -->
<!-- Add rewrite rules -->
<!-- ============================================================= -->
<Ref refid="Rewrite">
<!-- Add rule to protect against IE ssl bug -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.MsieSslRule"/>
</Arg>
</Call>
<!-- protect favicon handling -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">/favicon.ico</Set>
<Set name="name">Cache-Control</Set>
<Set name="value">Max-Age=3600,public</Set>
<Set name="terminating">true</Set>
</New>
</Arg>
</Call>
<!-- redirect from the welcome page to a specific page -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
<Set name="pattern">/test/rewrite/</Set>
<Set name="replacement">/test/rewrite/info.html</Set>
</New>
</Arg>
</Call>
<!-- replace the entire request URI -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
<Set name="pattern">/test/some/old/context</Set>
<Set name="replacement">/test/rewritten/newcontext</Set>
</New>
</Arg>
</Call>
<!-- replace the beginning of the request URI -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
<Set name="pattern">/test/rewrite/for/*</Set>
<Set name="replacement">/test/rewritten/</Set>
</New>
</Arg>
</Call>
<!-- reverse the order of the path sections -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule">
<Set name="regex">(.*?)/reverse/([^/]*)/(.*)</Set>
<Set name="replacement">$1/reverse/$3/$2</Set>
</New>
</Arg>
</Call>
<!-- add a cookie to each path visited -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.CookiePatternRule">
<Set name="pattern">/*</Set>
<Set name="name">visited</Set>
<Set name="value">yes</Set>
</New>
</Arg>
</Call>
<!-- actual redirect, instead of internal rewrite -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RedirectPatternRule">
<Set name="pattern">/test/redirect/*</Set>
<Set name="location">/test/redirected</Set>
</New>
</Arg>
</Call>
<!-- add a response rule -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.ResponsePatternRule">
<Set name="pattern">/400Error</Set>
<Set name="code">400</Set>
<Set name="message">ResponsePatternRule Demo</Set>
</New>
</Arg>
</Call>
</Ref>
</Configure>

View File

@ -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,user
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

View File

@ -1,29 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://www.eclipse.org/jetty/configure_10_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.demo.realm" default="etc/realm.properties" />
</Set>
<Set name="hotReload">false</Set>
</New>
</Arg>
</Call>
<Call class="org.slf4j.LoggerFactory" name="getLogger">
<Arg>org.eclipse.jetty</Arg>
<Call name="warn">
<Arg>demo test-realm is deployed. DO NOT USE IN PRODUCTION!</Arg>
</Call>
</Call>
</Configure>

View File

@ -1,7 +1,7 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Download and deploy the Test Spec webapp demo.
Demo Jetty Webapp
[tags]
demo
@ -12,14 +12,15 @@ deploy
jdbc
jsp
annotations
test-realm
ext
servlets
websocket-javax
websocket-jetty
test-keystore
demo-realm
[files]
webapps/test-jetty.d/
basehome:modules/demo.d/test-jetty.xml|webapps/test-jetty.xml
maven://org.eclipse.jetty/test-jetty-webapp/${jetty.version}/war|webapps/test-jetty.war
basehome:modules/demo.d/test-jetty-override-web.xml|webapps/test-jetty.d/test-jetty-override-web.xml
webapps/demo-jetty.d/
basehome:modules/demo.d/demo-jetty.xml|webapps/demo-jetty.xml
maven://org.eclipse.jetty/test-jetty-webapp/${jetty.version}/war|webapps/demo-jetty.war
basehome:modules/demo.d/demo-jetty-override-web.xml|webapps/demo-jetty.d/demo-jetty-override-web.xml

View File

@ -13,7 +13,8 @@ Configure and deploy the test web application
<!-- + war OR resourceBase -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<Set name="contextPath">/test</Set>
<Set name="war"><Property name="jetty.webapps" default="."/>/test-jetty.war</Set>
<Set name="war"><Property name="jetty.webapps" default="." />/demo-jetty.war
</Set>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Optional context configuration -->
@ -21,7 +22,8 @@ Configure and deploy the test web application
<Set name="extractWAR">true</Set>
<Set name="copyWebDir">false</Set>
<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
<Set name="overrideDescriptor"><Property name="jetty.webapps" default="."/>/test-jetty.d/test-jetty-override-web.xml</Set>
<Set name="overrideDescriptor"><Property name="jetty.webapps" default="." />/demo-jetty.d/demo-jetty-override-web.xml
</Set>
<!-- Enable WebSocket container -->
<Call name="setAttribute">

View File

@ -1,38 +0,0 @@
#
# Example of providing a demo configuration, using a ${jetty.base}
#
# Additional ini files are in demo-base/start.d
#
[description]
Configure the Jetty Demo base.
[depends]
rewrite
jaas
test-keystore
work
[tags]
demo
[xml]
# Enable rewrite examples
etc/demo-rewrite-rules.xml
# Add the test realm
etc/test-realm.xml
[ini-template]
# Enable security via jaas, and configure it
jetty.jaas.login.conf=etc/login.conf
# Websocket chat examples needs websocket enabled
# Don't start for all contexts (set to true in test.xml context)
org.eclipse.jetty.websocket.jsr356=false
# Create and configure the test realm
jetty.demo.realm=etc/realm.properties
# JDBC needed by test-jndi and test-spec
--module=jdbc

View File

@ -60,50 +60,36 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/config.xml</descriptor>
</descriptors>
<!-- filters> <filter>src/filters/filter.properties</filter> </filters -->
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<contextXml>${project.build.directory}/plugin-context.xml</contextXml>
<webApp>
<war>src/main/webapp</war>
<descriptor>src/main/webapp/WEB-INF/web.xml</descriptor>
<contextPath>/test-jndi</contextPath>
</webApp>
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty.tests</groupId>
<artifactId>test-mock-resources</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.mail.glassfish</artifactId>
<version>1.4.1.v201005082020</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<contextXml>${project.build.directory}/plugin-context.xml</contextXml>
<webApp>
<war>src/main/webapp</war>
<descriptor>src/main/webapp/WEB-INF/web.xml</descriptor>
<contextPath>/test-jndi</contextPath>
</webApp>
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty.tests</groupId>
<artifactId>test-mock-resources</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.mail.glassfish</artifactId>
<version>1.4.1.v201005082020</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<id>config</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>src/main/config</directory>
<outputDirectory></outputDirectory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/resources/**</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>target</directory>
<outputDirectory>webapps</outputDirectory>
<includes>
<include>test-jndi.xml</include>
</includes>
</fileSet>
<fileSet>
<directory>target/lib/jndi</directory>
<outputDirectory>lib/ext</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@ -0,0 +1,14 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Demo Proxy Webapp
[tags]
demo
webapp
[depends]
deploy
[files]
maven://org.eclipse.jetty.tests/test-proxy-webapp/${jetty.version}/war|webapps/demo-proxy.war

View File

@ -27,13 +27,13 @@
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>web-bundle-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/config.xml</descriptor>
<descriptor>src/main/assembly/web-bundle.xml</descriptor>
</descriptors>
<archive>
@ -133,37 +133,6 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<scan>10</scan>
<useTestClasspath>true</useTestClasspath>
<contextXml>${project.build.directory}/plugin-context.xml</contextXml>
<webApp>
<war>src/main/webapp</war>
<descriptor>src/main/webapp/WEB-INF/web.xml</descriptor>
<contextPath>/test-spec</contextPath>
<containerIncludeJarPattern>.*/jetty-servlet-api-[^/]*\.jar$</containerIncludeJarPattern>
<configurationDiscovered>true</configurationDiscovered>
<jettyEnvXml>${basedir}/src/main/webapp/WEB-INF/jetty-env.xml</jettyEnvXml>
</webApp>
<loginServices>
<loginService implementation="org.eclipse.jetty.security.HashLoginService">
<name>Test Realm</name>
<config>src/etc/realm.properties</config>
</loginService>
</loginServices>
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty.tests</groupId>
<artifactId>test-mock-resources</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
@ -186,6 +155,40 @@
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<scan>10</scan>
<contextXml>${project.build.directory}/plugin-context.xml</contextXml>
<webApp>
<war>src/main/webapp</war>
<descriptor>src/main/webapp/WEB-INF/web.xml</descriptor>
<contextPath>/test-spec</contextPath>
<containerIncludeJarPattern>.*/jetty-servlet-api-[^/]*\.jar$</containerIncludeJarPattern>
<configurationDiscovered>true</configurationDiscovered>
<jettyEnvXml>${basedir}/src/main/webapp/WEB-INF/jetty-env.xml</jettyEnvXml>
</webApp>
<loginServices>
<loginService implementation="org.eclipse.jetty.security.HashLoginService">
<name>Test Realm</name>
<config>src/etc/realm.properties</config>
</loginService>
</loginServices>
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty.tests</groupId>
<artifactId>test-mock-resources</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<id>config</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>src/main/config</directory>
<outputDirectory></outputDirectory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/resources/**</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>target</directory>
<outputDirectory>webapps</outputDirectory>
<includes>
<include>test-spec.xml</include>
</includes>
</fileSet>
<fileSet>
<directory>target/lib/jndi</directory>
<outputDirectory>lib/ext</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@ -12,10 +12,10 @@ deploy
jdbc
jsp
annotations
test-realm
ext
demo-realm
demo-jndi
[files]
basehome:modules/demo.d/test-spec.xml|webapps/test-spec.xml
maven://org.eclipse.jetty.tests/test-spec-webapp/${jetty.version}/war|webapps/test-spec.war
maven://org.eclipse.jetty.tests/test-mock-resources/${jetty.version}/jar|lib/ext/test-mock-resources-${jetty.version}.jar
basehome:modules/demo.d/demo-spec.xml|webapps/demo-spec.xml
maven://org.eclipse.jetty.tests/test-spec-webapp/${jetty.version}/war|webapps/demo-spec.war

View File

@ -1,19 +1,22 @@
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://www.eclipse.org/jetty/configure_9_3.dtd">
<Configure id='wac' class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="war"><Property name="jetty.webapps"/>/test-spec.war</Set>
<Configure id="wac" class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/test-spec</Set>
<Set name="war"><Property name="jetty.webapps" />/demo-spec.war
</Set>
<Set name="configurationDiscovered">true</Set>
<New id="tx" class="org.eclipse.jetty.plus.jndi.Transaction">
<Arg>
<New class="com.acme.MockUserTransaction"/>
<New class="com.acme.MockUserTransaction" />
</Arg>
</New>
<New id="maxAmount" class="org.eclipse.jetty.plus.jndi.EnvEntry">
<Arg><Ref refid='wac'/></Arg>
<New id="maxAmount" class="org.eclipse.jetty.plus.jndi.EnvEntry">
<Arg>
<Ref refid='wac' />
</Arg>
<Arg>maxAmount</Arg>
<Arg type="java.lang.Double">100</Arg>
<Arg type="boolean">true</Arg>