From 6ddbec3c62852a192f946ccfc9502d8527cd7af9 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Tue, 6 Oct 2020 13:43:41 +0200 Subject: [PATCH] Issue #5394 Fix injection for quickstart (#5396) * Issue #5394 Fix injection for quickstart Signed-off-by: Jan Bartel --- .../jetty/quickstart/PreconfigureQuickStartWar.java | 3 ++- .../quickstart/QuickStartGeneratorConfiguration.java | 2 +- .../org/eclipse/jetty/quickstart/QuickStartTest.java | 10 ++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/PreconfigureQuickStartWar.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/PreconfigureQuickStartWar.java index 6534eed84cee..d93d9d7d87d8 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/PreconfigureQuickStartWar.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/PreconfigureQuickStartWar.java @@ -26,6 +26,7 @@ import org.eclipse.jetty.server.Server; import org.eclipse.jetty.util.resource.JarResource; import org.eclipse.jetty.util.resource.Resource; +import org.eclipse.jetty.webapp.MetaInfConfiguration; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.xml.XmlConfiguration; import org.slf4j.Logger; @@ -109,7 +110,7 @@ public static void preconfigure(Resource war, Resource dir, Resource xml) throws new AnnotationConfiguration()); webapp.setAttribute(QuickStartConfiguration.MODE, QuickStartConfiguration.Mode.GENERATE); webapp.setAttribute(QuickStartConfiguration.ORIGIN_ATTRIBUTE, ""); - + webapp.setAttribute(MetaInfConfiguration.CONTAINER_JAR_PATTERN, ".*/jetty-servlet-api-[^/]*\\.jar$|.*/javax.servlet.jsp.jstl-.*\\.jar$|.*/org.apache.taglibs.taglibs-standard-impl-.*\\.jar$"); if (xml != null) { if (xml.isDirectory() || !xml.toString().toLowerCase(Locale.ENGLISH).endsWith(".xml")) diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartGeneratorConfiguration.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartGeneratorConfiguration.java index 2ab4c033c686..b1530eaa1b13 100644 --- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartGeneratorConfiguration.java +++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartGeneratorConfiguration.java @@ -157,7 +157,7 @@ public void generateQuickStartWebXml(WebAppContext context, OutputStream stream) webappAttr.put("xmlns", "http://xmlns.jcp.org/xml/ns/javaee"); webappAttr.put("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); webappAttr.put("xsi:schemaLocation", "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_" + (major + "_" + minor) + ".xsd"); - webappAttr.put("metadata-complete", "true"); + webappAttr.put("metadata-complete", Boolean.toString(context.getMetaData().isMetaDataComplete())); webappAttr.put("version", major + "." + minor); XmlAppendable out = new XmlAppendable(stream, "UTF-8"); diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java index 6c09ede8afbb..1639b85e9618 100644 --- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java +++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java @@ -139,14 +139,16 @@ public void testSpecWar() throws Exception } server.setHandler(webapp); - server.start(); - URL url = new URL("http://127.0.0.1:" + server.getBean(NetworkConnector.class).getLocalPort() + "/"); + URL url = new URL("http://127.0.0.1:" + server.getBean(NetworkConnector.class).getLocalPort() + "/test/"); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); + connection.setRequestMethod("POST"); + assertEquals(200, connection.getResponseCode()); - assertThat(IO.toString((InputStream)connection.getContent()), Matchers.containsString("Test Specification WebApp")); - + String content = IO.toString((InputStream)connection.getContent()); + assertThat(content, Matchers.containsString("Results")); + assertThat(content, Matchers.not(Matchers.containsString("FAIL"))); server.stop(); }