From 9a8f22d5dd6f5896c7e91b45bf8b5f13b0b5f2a7 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 2 Feb 2017 15:51:38 -0700 Subject: [PATCH] Testing Updates + Upgrading to jetty-test-helper 4.0 + Removing use of org.eclipse.jetty.toolchain.test.SimpleRequest + Removing use of org.eclipse.jetty.toolchain.test.http.SimpleHttpParser + Removing use of org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse + Updating long since deprecated (and now removed) known quirky methods in jetty-test-helper and the test classes. --- .../java/org/eclipse/jetty/jstl/JstlTest.java | 49 +++-- .../annotations/TestAnnotationParser.java | 2 +- .../java/org/eclipse/jetty/ant/AntBuild.java | 2 +- .../cdi/servlet/WeldInitializationTest.java | 37 ++-- .../jetty/deploy/AppLifeCycleTest.java | 2 +- .../jetty/deploy/test/XmlConfiguredJetty.java | 4 +- .../org/eclipse/jetty/http/HttpTester.java | 16 +- .../jetty/proxy/ProxyServletFailureTest.java | 29 +-- .../jetty/security/PropertyUserStoreTest.java | 2 +- .../jetty/server/AbstractHttpTest.java | 57 +++-- .../jetty/server/ConnectionOpenCloseTest.java | 66 +++--- .../server/HostHeaderCustomizerTest.java | 42 ++-- ...ManyWaysToAsyncCommitBadBehaviourTest.java | 6 +- .../server/HttpManyWaysToAsyncCommitTest.java | 100 ++++----- .../server/HttpManyWaysToCommitTest.java | 127 ++++++----- .../server/handler/DebugHandlerTest.java | 16 +- .../server/handler/ResourceHandlerTest.java | 68 +++--- .../servlet/AsyncContextListenersTest.java | 51 ++--- .../servlet/AsyncServletLongPollTest.java | 26 +-- .../servlet/DefaultServletRangesTest.java | 2 +- .../jetty/servlet/DefaultServletTest.java | 3 +- .../jetty/servlet/SSLAsyncIOServletTest.java | 20 +- .../gzip/GzipDefaultNoRecompressTest.java | 2 +- .../server/handler/gzip/GzipDefaultTest.java | 7 +- .../jetty/server/handler/gzip/GzipTester.java | 11 +- .../server/handler/gzip/IncludedGzipTest.java | 5 +- .../servlets/DataRateLimitedServletTest.java | 4 +- .../org/eclipse/jetty/start/DistTest.java | 12 +- .../jetty/start/IncludeJettyDirTest.java | 163 +++++++------- .../eclipse/jetty/start/LicensingTest.java | 33 +-- .../jetty/start/ModuleGraphWriterTest.java | 9 +- .../org/eclipse/jetty/start/ModuleTest.java | 9 +- .../eclipse/jetty/start/PathFinderTest.java | 6 +- .../java/org/eclipse/jetty/start/TestEnv.java | 17 +- .../jetty/start/config/ConfigSourcesTest.java | 206 +++++++++--------- .../MavenLocalRepoFileInitializerTest.java | 8 +- .../eclipse/jetty/util/PathWatcherTest.java | 20 +- .../util/resource/FileSystemResourceTest.java | 4 +- .../websocket/jsr356/server/WSServer.java | 2 +- .../jetty/websocket/server/WSServer.java | 2 +- pom.xml | 2 +- .../jetty/test/support/JettyDistro.java | 4 +- .../org/eclipse/jetty/test/jmx/JmxIT.java | 21 +- .../ReloadedSessionMissingClassTest.java | 3 +- 44 files changed, 652 insertions(+), 625 deletions(-) diff --git a/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java b/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java index a30e51881ee..43cfd15e04a 100644 --- a/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java +++ b/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java @@ -19,12 +19,16 @@ package org.eclipse.jetty.jstl; import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; import java.io.File; import java.io.IOException; +import java.io.InputStream; +import java.net.HttpURLConnection; import java.net.URI; +import java.nio.charset.StandardCharsets; import javax.servlet.jsp.JspException; @@ -33,7 +37,7 @@ import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.toolchain.test.FS; import org.eclipse.jetty.toolchain.test.JAR; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; -import org.eclipse.jetty.toolchain.test.SimpleRequest; +import org.eclipse.jetty.util.IO; import org.eclipse.jetty.webapp.Configuration; import org.eclipse.jetty.webapp.WebAppContext; import org.junit.AfterClass; @@ -104,32 +108,43 @@ public class JstlTest @Test public void testUrlsBasic() throws IOException { - SimpleRequest req = new SimpleRequest(baseUri); - String resp = req.getString("/urls.jsp"); - assertThat("Response should be JSP processed", resp, not(containsString(""))); - assertThat("Response should be JSP processed", resp, not(containsString(""))); - assertThat("Response", resp, not(containsString("[jtest:errorhandler] exception is null"))); + HttpURLConnection http = (HttpURLConnection) baseUri.resolve("/catch-taglib.jsp").toURL().openConnection(); + assertThat("http response", http.getResponseCode(), is(200)); + try(InputStream input = http.getInputStream()) + { + String resp = IO.toString(input, StandardCharsets.UTF_8); + assertThat("Response should be JSP processed", resp, not(containsString(""))); + assertThat("Response should be JSP processed", resp, not(containsString(""))); + assertThat("Response", resp, not(containsString("[jtest:errorhandler] exception is null"))); + } } } diff --git a/jetty-annotations/src/test/java/org/eclipse/jetty/annotations/TestAnnotationParser.java b/jetty-annotations/src/test/java/org/eclipse/jetty/annotations/TestAnnotationParser.java index f73aed1fc6d..53622f3b076 100644 --- a/jetty-annotations/src/test/java/org/eclipse/jetty/annotations/TestAnnotationParser.java +++ b/jetty-annotations/src/test/java/org/eclipse/jetty/annotations/TestAnnotationParser.java @@ -183,7 +183,7 @@ public class TestAnnotationParser // Intentionally using a base director name that starts with a "." // This mimics what you see in jenkins, hudson, hadoop, solr, camel, and selenium for their // installed and/or managed webapps - File basedir = testdir.getFile(".base/workspace/classes"); + File basedir = testdir.getPathFile(".base/workspace/classes").toFile(); FS.ensureEmpty(basedir); // Copy in class that is known to have annotations. diff --git a/jetty-ant/src/test/java/org/eclipse/jetty/ant/AntBuild.java b/jetty-ant/src/test/java/org/eclipse/jetty/ant/AntBuild.java index 48a6edbfccb..c16b4592d5a 100644 --- a/jetty-ant/src/test/java/org/eclipse/jetty/ant/AntBuild.java +++ b/jetty-ant/src/test/java/org/eclipse/jetty/ant/AntBuild.java @@ -64,7 +64,7 @@ public class AntBuild Project antProject = new Project(); try { - antProject.setBaseDir(MavenTestingUtils.getBasedir()); + antProject.setBaseDir(MavenTestingUtils.getBaseDir()); antProject.setUserProperty("ant.file",buildFile.getAbsolutePath()); DefaultLogger logger = new DefaultLogger(); diff --git a/jetty-cdi/cdi-servlet/src/test/java/org/eclipse/jetty/cdi/servlet/WeldInitializationTest.java b/jetty-cdi/cdi-servlet/src/test/java/org/eclipse/jetty/cdi/servlet/WeldInitializationTest.java index e9c490de333..1eff479d8ca 100644 --- a/jetty-cdi/cdi-servlet/src/test/java/org/eclipse/jetty/cdi/servlet/WeldInitializationTest.java +++ b/jetty-cdi/cdi-servlet/src/test/java/org/eclipse/jetty/cdi/servlet/WeldInitializationTest.java @@ -19,15 +19,18 @@ package org.eclipse.jetty.cdi.servlet; import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import java.io.File; +import java.io.InputStream; +import java.net.HttpURLConnection; import java.net.URI; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; -import org.eclipse.jetty.toolchain.test.SimpleRequest; +import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.log.JettyLogHandler; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; @@ -91,25 +94,27 @@ public class WeldInitializationTest @Test public void testRequestParamServletDefault() throws Exception { - SimpleRequest req = new SimpleRequest(serverHttpURI); - String resp = req.getString("req-info"); - - System.out.println(resp); - - assertThat("Response",resp,containsString("request is PRESENT")); - assertThat("Response",resp,containsString("parameters.size = [0]")); + HttpURLConnection http = (HttpURLConnection) serverHttpURI.resolve("req-info").toURL().openConnection(); + assertThat("response code", http.getResponseCode(), is(200)); + try(InputStream inputStream = http.getInputStream()) + { + String resp = IO.toString(inputStream); + assertThat("Response", resp, containsString("request is PRESENT")); + assertThat("Response", resp, containsString("parameters.size = [0]")); + } } @Test public void testRequestParamServletAbc() throws Exception { - SimpleRequest req = new SimpleRequest(serverHttpURI); - String resp = req.getString("req-info?abc=123"); - - System.out.println(resp); - - assertThat("Response",resp,containsString("request is PRESENT")); - assertThat("Response",resp,containsString("parameters.size = [1]")); - assertThat("Response",resp,containsString(" param[abc] = [123]")); + HttpURLConnection http = (HttpURLConnection) serverHttpURI.resolve("req-info?abc=123").toURL().openConnection(); + assertThat("response code", http.getResponseCode(), is(200)); + try(InputStream inputStream = http.getInputStream()) + { + String resp = IO.toString(inputStream); + assertThat("Response", resp, containsString("request is PRESENT")); + assertThat("Response", resp, containsString("parameters.size = [1]")); + assertThat("Response", resp, containsString(" param[abc] = [123]")); + } } } diff --git a/jetty-deploy/src/test/java/org/eclipse/jetty/deploy/AppLifeCycleTest.java b/jetty-deploy/src/test/java/org/eclipse/jetty/deploy/AppLifeCycleTest.java index 9c9f70976e5..a39ab36c7bf 100644 --- a/jetty-deploy/src/test/java/org/eclipse/jetty/deploy/AppLifeCycleTest.java +++ b/jetty-deploy/src/test/java/org/eclipse/jetty/deploy/AppLifeCycleTest.java @@ -176,7 +176,7 @@ public class AppLifeCycleTest AppLifeCycle lifecycle = new AppLifeCycle(); List expected = new ArrayList(); - File outputDir = testdir.getEmptyDir(); + File outputDir = testdir.getEmptyPathDir().toFile(); // Modify graph to add new 'staging' -> 'staged' between 'deployed' and 'started' GraphOutputDot.write(lifecycle,new File(outputDir,"multiple-1.dot")); // before change diff --git a/jetty-deploy/src/test/java/org/eclipse/jetty/deploy/test/XmlConfiguredJetty.java b/jetty-deploy/src/test/java/org/eclipse/jetty/deploy/test/XmlConfiguredJetty.java index 95b4beffdbd..6f9b7ce9df6 100644 --- a/jetty-deploy/src/test/java/org/eclipse/jetty/deploy/test/XmlConfiguredJetty.java +++ b/jetty-deploy/src/test/java/org/eclipse/jetty/deploy/test/XmlConfiguredJetty.java @@ -70,7 +70,7 @@ public class XmlConfiguredJetty _xmlConfigurations = new ArrayList<>(); Properties properties = new Properties(); - String jettyHomeBase = testdir.getDir().getAbsolutePath(); + String jettyHomeBase = testdir.getPath().toString(); // Ensure we have a new (pristene) directory to work with. int idx = 0; _jettyHome = new File(jettyHomeBase + "#" + idx); @@ -116,7 +116,7 @@ public class XmlConfiguredJetty System.setProperty("java.io.tmpdir",tmpDir.getAbsolutePath()); properties.setProperty("jetty.home",_jettyHome.getAbsolutePath()); System.setProperty("jetty.home",_jettyHome.getAbsolutePath()); - properties.setProperty("test.basedir",MavenTestingUtils.getBasedir().getAbsolutePath()); + properties.setProperty("test.basedir",MavenTestingUtils.getBaseDir().getAbsolutePath()); properties.setProperty("test.resourcesdir",MavenTestingUtils.getTestResourcesDir().getAbsolutePath()); properties.setProperty("test.webapps",webappsDir.getAbsolutePath()); properties.setProperty("test.targetdir",MavenTestingUtils.getTargetDir().getAbsolutePath()); diff --git a/jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java b/jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java index 0cc1a422499..1b3bfa2e44b 100644 --- a/jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java +++ b/jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java @@ -21,14 +21,13 @@ package org.eclipse.jetty.http; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.Socket; import java.nio.ByteBuffer; -import java.nio.channels.ByteChannel; import java.nio.channels.ReadableByteChannel; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import org.eclipse.jetty.util.BufferUtil; +import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.StringUtil; @@ -88,7 +87,7 @@ public class HttpTester parser.parseNext(request); return r; } - + public static Response parseResponse(String response) { Response r=new Response(); @@ -104,6 +103,17 @@ public class HttpTester parser.parseNext(response); return r; } + + public static Response parseResponse(InputStream responseStream) throws IOException + { + ByteArrayOutputStream contentStream = new ByteArrayOutputStream(); + IO.copy(responseStream, contentStream); + + Response r=new Response(); + HttpParser parser =new HttpParser(r); + parser.parseNext(ByteBuffer.wrap(contentStream.toByteArray())); + return r; + } public abstract static class Input { diff --git a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletFailureTest.java b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletFailureTest.java index 13254b2bf19..bf913c874d7 100644 --- a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletFailureTest.java +++ b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletFailureTest.java @@ -18,10 +18,8 @@ package org.eclipse.jetty.proxy; -import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; import java.nio.ByteBuffer; @@ -44,6 +42,7 @@ import org.eclipse.jetty.client.api.Request; import org.eclipse.jetty.client.api.Response; import org.eclipse.jetty.client.util.BytesContentProvider; import org.eclipse.jetty.client.util.DeferredContentProvider; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; @@ -51,8 +50,6 @@ import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.toolchain.test.TestTracker; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpParser; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.eclipse.jetty.util.Callback; import org.eclipse.jetty.util.log.StacklessLogging; import org.eclipse.jetty.util.thread.QueuedThreadPool; @@ -68,7 +65,7 @@ public class ProxyServletFailureTest { private static final String PROXIED_HEADER = "X-Proxied"; - @Parameterized.Parameters + @Parameterized.Parameters(name = "{0}") public static Iterable data() { return Arrays.asList(new Object[][]{ @@ -206,14 +203,13 @@ public class ProxyServletFailureTest // Do not send the promised content, wait to idle timeout. socket.setSoTimeout(2 * idleTimeout); - SimpleHttpParser parser = new SimpleHttpParser(); - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8")); - SimpleHttpResponse response = parser.readResponse(reader); - Assert.assertTrue(Integer.parseInt(response.getCode()) >= 500); - String connectionHeader = response.getHeaders().get("connection"); + + HttpTester.Response response = HttpTester.parseResponse(socket.getInputStream()); + Assert.assertTrue(response.getStatus() >= 500); + String connectionHeader = response.get("connection"); Assert.assertNotNull(connectionHeader); Assert.assertTrue(connectionHeader.contains("close")); - Assert.assertEquals(-1, reader.read()); + Assert.assertEquals(-1, socket.getInputStream().read()); } } @@ -242,14 +238,13 @@ public class ProxyServletFailureTest // Do not send all the promised content, wait to idle timeout. socket.setSoTimeout(2 * idleTimeout); - SimpleHttpParser parser = new SimpleHttpParser(); - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8")); - SimpleHttpResponse response = parser.readResponse(reader); - Assert.assertTrue(Integer.parseInt(response.getCode()) >= 500); - String connectionHeader = response.getHeaders().get("connection"); + + HttpTester.Response response = HttpTester.parseResponse(socket.getInputStream()); + Assert.assertTrue(response.getStatus() >= 500); + String connectionHeader = response.get("connection"); Assert.assertNotNull(connectionHeader); Assert.assertTrue(connectionHeader.contains("close")); - Assert.assertEquals(-1, reader.read()); + Assert.assertEquals(-1, socket.getInputStream().read()); } } diff --git a/jetty-security/src/test/java/org/eclipse/jetty/security/PropertyUserStoreTest.java b/jetty-security/src/test/java/org/eclipse/jetty/security/PropertyUserStoreTest.java index a30f0019895..935df6f3e81 100644 --- a/jetty-security/src/test/java/org/eclipse/jetty/security/PropertyUserStoreTest.java +++ b/jetty-security/src/test/java/org/eclipse/jetty/security/PropertyUserStoreTest.java @@ -94,7 +94,7 @@ public class PropertyUserStoreTest private File initUsersText() throws Exception { - Path dir = testdir.getDir().toPath().toRealPath(); + Path dir = testdir.getPath().toRealPath(); FS.ensureDirExists(dir.toFile()); File users = dir.resolve("users.txt").toFile(); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java index 7bf07d926fb..736f0835a48 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java @@ -21,14 +21,11 @@ package org.eclipse.jetty.server; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -37,11 +34,10 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.io.ArrayByteBufferPool; import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.toolchain.test.TestTracker; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpParser; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.eclipse.jetty.util.log.StacklessLogging; import org.junit.After; import org.junit.Before; @@ -57,8 +53,7 @@ public abstract class AbstractHttpTest protected static Server server; protected static ServerConnector connector; protected String httpVersion; - protected SimpleHttpParser httpParser; - StacklessLogging stackless; + private StacklessLogging stacklessChannelLogging; public AbstractHttpTest(String httpVersion) @@ -74,49 +69,49 @@ public abstract class AbstractHttpTest connector.setIdleTimeout(10000); server.addConnector(connector); - httpParser = new SimpleHttpParser(); - stackless=new StacklessLogging(HttpChannel.class); + stacklessChannelLogging =new StacklessLogging(HttpChannel.class); } @After public void tearDown() throws Exception { server.stop(); - stackless.close(); + stacklessChannelLogging.close(); } - protected SimpleHttpResponse executeRequest() throws URISyntaxException, IOException + protected HttpTester.Response executeRequest() throws URISyntaxException, IOException { try(Socket socket = new Socket("localhost", connector.getLocalPort())) { socket.setSoTimeout((int)connector.getIdleTimeout()); - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); - PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); - - writer.write("GET / " + httpVersion + "\r\n"); - writer.write("Host: localhost\r\n"); - writer.write("\r\n"); - writer.flush(); - - SimpleHttpResponse response = httpParser.readResponse(reader); - if ("HTTP/1.1".equals(httpVersion) - && response.getHeaders().get("content-length") == null - && response.getHeaders().get("transfer-encoding") == null - && !__noBodyCodes.contains(response.getCode())) - assertThat("If HTTP/1.1 response doesn't contain transfer-encoding or content-length headers, " + - "it should contain connection:close", response.getHeaders().get("connection"), is("close")); - return response; + + try(PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()))) + { + writer.write("GET / " + httpVersion + "\r\n"); + writer.write("Host: localhost\r\n"); + writer.write("\r\n"); + writer.flush(); + + HttpTester.Response response = HttpTester.parseResponse(socket.getInputStream()); + if ("HTTP/1.1".equals(httpVersion) + && response.get("content-length") == null + && response.get("transfer-encoding") == null + && !__noBodyCodes.contains(response.getStatus())) + assertThat("If HTTP/1.1 response doesn't contain transfer-encoding or content-length headers, " + + "it should contain connection:close", response.get("connection"), is("close")); + return response; + } } } - protected void assertResponseBody(SimpleHttpResponse response, String expectedResponseBody) + protected void assertResponseBody(HttpTester.Response response, String expectedResponseBody) { - assertThat("response body is" + expectedResponseBody, response.getBody(), is(expectedResponseBody)); + assertThat("response body is" + expectedResponseBody, response.getContent(), is(expectedResponseBody)); } - protected void assertHeader(SimpleHttpResponse response, String headerName, String expectedValue) + protected void assertHeader(HttpTester.Response response, String headerName, String expectedValue) { - assertThat(headerName + "=" + expectedValue, response.getHeaders().get(headerName), is(expectedValue)); + assertThat(headerName + "=" + expectedValue, response.get(headerName), is(expectedValue)); } protected static class TestCommitException extends IllegalStateException diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ConnectionOpenCloseTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ConnectionOpenCloseTest.java index e5f2c63fb17..a1e5a86eb74 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/ConnectionOpenCloseTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ConnectionOpenCloseTest.java @@ -18,10 +18,12 @@ package org.eclipse.jetty.server; -import java.io.BufferedReader; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + import java.io.File; import java.io.IOException; -import java.io.InputStreamReader; +import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.nio.charset.StandardCharsets; @@ -33,12 +35,12 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.io.Connection; import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.toolchain.test.annotation.Slow; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.resource.Resource; import org.eclipse.jetty.util.ssl.SslContextFactory; @@ -136,30 +138,32 @@ public class ConnectionOpenCloseTest extends AbstractHttpTest } }); - Socket socket = new Socket("localhost", connector.getLocalPort()); - socket.setSoTimeout((int)connector.getIdleTimeout()); - OutputStream output = socket.getOutputStream(); - output.write(( - "GET / HTTP/1.1\r\n" + - "Host: localhost:" + connector.getLocalPort() + "\r\n" + - "Connection: close\r\n" + - "\r\n").getBytes(StandardCharsets.UTF_8)); - output.flush(); - - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); - SimpleHttpResponse response = httpParser.readResponse(reader); - Assert.assertEquals("200", response.getCode()); - - Assert.assertEquals(-1, reader.read()); - socket.close(); - - Assert.assertTrue(openLatch.await(5, TimeUnit.SECONDS)); - Assert.assertTrue(closeLatch.await(5, TimeUnit.SECONDS)); - - // Wait some time to see if the callbacks are called too many times - TimeUnit.SECONDS.sleep(1); - - Assert.assertEquals(2, callbacks.get()); + try( Socket socket = new Socket("localhost", connector.getLocalPort()) ) + { + socket.setSoTimeout((int) connector.getIdleTimeout()); + OutputStream output = socket.getOutputStream(); + output.write(( + "GET / HTTP/1.1\r\n" + + "Host: localhost:" + connector.getLocalPort() + "\r\n" + + "Connection: close\r\n" + + "\r\n").getBytes(StandardCharsets.UTF_8)); + output.flush(); + + InputStream inputStream = socket.getInputStream(); + HttpTester.Response response = HttpTester.parseResponse(inputStream); + assertThat("Status Code", response.getStatus(), is(200)); + + Assert.assertEquals(-1, inputStream.read()); + socket.close(); + + Assert.assertTrue(openLatch.await(5, TimeUnit.SECONDS)); + Assert.assertTrue(closeLatch.await(5, TimeUnit.SECONDS)); + + // Wait some time to see if the callbacks are called too many times + TimeUnit.SECONDS.sleep(1); + + Assert.assertEquals(2, callbacks.get()); + } } @Slow @@ -217,11 +221,11 @@ public class ConnectionOpenCloseTest extends AbstractHttpTest "\r\n").getBytes(StandardCharsets.UTF_8)); output.flush(); - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); - SimpleHttpResponse response = httpParser.readResponse(reader); - Assert.assertEquals("200", response.getCode()); + InputStream inputStream = socket.getInputStream(); + HttpTester.Response response = HttpTester.parseResponse(inputStream); + Assert.assertEquals(200, response.getStatus()); - Assert.assertEquals(-1, reader.read()); + Assert.assertEquals(-1, inputStream.read()); socket.close(); Assert.assertTrue(openLatch.await(5, TimeUnit.SECONDS)); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HostHeaderCustomizerTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HostHeaderCustomizerTest.java index b50382d7a88..2f95f49008b 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HostHeaderCustomizerTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HostHeaderCustomizerTest.java @@ -18,9 +18,7 @@ package org.eclipse.jetty.server; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; import java.nio.charset.StandardCharsets; @@ -29,10 +27,9 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.toolchain.test.TestTracker; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpParser; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; @@ -69,24 +66,25 @@ public class HostHeaderCustomizerTest { try (Socket socket = new Socket("localhost", connector.getLocalPort())) { - OutputStream output = socket.getOutputStream(); - String request = "" + - "GET / HTTP/1.0\r\n" + - "\r\n"; - output.write(request.getBytes(StandardCharsets.UTF_8)); - output.flush(); - - BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); - SimpleHttpParser parser = new SimpleHttpParser(); - SimpleHttpResponse response = parser.readResponse(input); - - String location = response.getHeaders().get("location"); - Assert.assertNotNull(location); - String schemePrefix = "http://"; - Assert.assertTrue(location.startsWith(schemePrefix)); - Assert.assertTrue(location.endsWith(redirectPath)); - String hostPort = location.substring(schemePrefix.length(), location.length() - redirectPath.length()); - Assert.assertEquals(serverName + ":" + serverPort, hostPort); + try(OutputStream output = socket.getOutputStream()) + { + String request = "" + + "GET / HTTP/1.0\r\n" + + "\r\n"; + output.write(request.getBytes(StandardCharsets.UTF_8)); + output.flush(); + + HttpTester.Input input = HttpTester.from(socket.getInputStream()); + HttpTester.Response response = HttpTester.parseResponse(input); + + String location = response.get("location"); + Assert.assertNotNull(location); + String schemePrefix = "http://"; + Assert.assertTrue(location.startsWith(schemePrefix)); + Assert.assertTrue(location.endsWith(redirectPath)); + String hostPort = location.substring(schemePrefix.length(), location.length() - redirectPath.length()); + Assert.assertEquals(serverName + ":" + serverPort, hostPort); + } } } finally diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitBadBehaviourTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitBadBehaviourTest.java index dc814b63c46..7cafee12154 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitBadBehaviourTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitBadBehaviourTest.java @@ -35,8 +35,8 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.http.HttpVersion; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -71,9 +71,9 @@ public class HttpManyWaysToAsyncCommitBadBehaviourTest extends AbstractHttpTest server.setHandler(new SetHandledWriteSomeDataHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 500", response.getCode(), is("500")); + assertThat("response code is 500", response.getStatus(), is(500)); } private class SetHandledWriteSomeDataHandler extends ThrowExceptionOnDemandHandler diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java index 540b25e00e3..0d5b7752d1b 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToAsyncCommitTest.java @@ -32,8 +32,8 @@ import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.http.HttpVersion; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -46,7 +46,7 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest private final String CONTEXT_ATTRIBUTE = getClass().getName() + ".asyncContext"; private boolean dispatch; // if true we dispatch, otherwise we complete - @Parameterized.Parameters + @Parameterized.Parameters(name = "{0} dispatch={1}") public static Collection data() { Object[][] data = new Object[][] @@ -73,9 +73,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 404", response.getCode(), is("404")); + assertThat("response code", response.getStatus(), is(404)); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -86,9 +86,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 500", response.getCode(), is("500")); + assertThat("response code", response.getStatus(), is(500)); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -129,9 +129,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertHeader(response, "content-length", "0"); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -143,9 +143,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 500", response.getCode(), is("500")); + assertThat("response code", response.getStatus(), is(500)); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -187,9 +187,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertHeader(response, "content-length", "6"); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -201,9 +201,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 500", response.getCode(), is("500")); + assertThat("response code", response.getStatus(), is(500)); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -253,10 +253,10 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertThat("no exceptions", handler.failure(), is(nullValue())); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -269,9 +269,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertThat("no exceptions", handler.failure(), is(nullValue())); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -325,9 +325,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertThat("no exceptions", handler.failure(), is(nullValue())); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -340,9 +340,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertThat("no exceptions", handler.failure(), is(nullValue())); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -394,9 +394,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertThat("no exceptions", handler.failure(), is(nullValue())); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); // HTTP/1.0 does not do chunked. it will just send content and close @@ -409,9 +409,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertThat("no exceptions", handler.failure(), is(nullValue())); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -466,9 +466,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobar"); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -482,10 +482,10 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Buffer size is too small, so the content is written directly producing a 200 response - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobar"); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -540,10 +540,10 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); assertHeader(response, "content-length", "3"); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -555,11 +555,11 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); //TODO: should we expect 500 here? - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); assertHeader(response, "content-length", "3"); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -612,11 +612,11 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); // jetty truncates the body when content-length is reached.! This is correct and desired behaviour? - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response body", response.getContent(), is("foo")); assertHeader(response, "content-length", "3"); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -628,11 +628,11 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // TODO: we throw before response is committed. should we expect 500? - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); assertHeader(response, "content-length", "3"); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -685,9 +685,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertThat("no exceptions", handler.failure(), is(nullValue())); //TODO: jetty ignores setContentLength and sends transfer-encoding header. Correct? } @@ -699,9 +699,9 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -753,10 +753,10 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Setting a content-length too small throws an IllegalStateException - assertThat("response code is 500", response.getCode(), is("500")); + assertThat("response code", response.getStatus(), is(500)); assertThat("no exceptions", handler.failure(), is(nullValue())); } @@ -767,10 +767,10 @@ public class HttpManyWaysToAsyncCommitTest extends AbstractHttpTest server.setHandler(handler); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Setting a content-length too small throws an IllegalStateException - assertThat(response.getCode(), is("500")); + assertThat("response code", response.getStatus(), is(500)); assertThat("no exceptions", handler.failure(), is(nullValue())); } diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java index c2b497be7dd..37b410b26c2 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpManyWaysToCommitTest.java @@ -30,18 +30,18 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.http.HttpVersion; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; //TODO: reset buffer tests //TODO: add protocol specific tests for connection: close and/or chunking -@RunWith(value = Parameterized.class) +@RunWith(Parameterized.class) public class HttpManyWaysToCommitTest extends AbstractHttpTest { - @Parameterized.Parameters + @Parameterized.Parameters(name = "{0}") public static Collection data() { Object[][] data = new Object[][]{{HttpVersion.HTTP_1_0.asString()}, {HttpVersion.HTTP_1_1.asString()}}; @@ -58,10 +58,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest { server.setHandler(new DoesNotSetHandledHandler(false)); server.start(); + + HttpTester.Response response = executeRequest(); - SimpleHttpResponse response = executeRequest(); - - assertThat("response code is 404", response.getCode(), is("404")); + assertThat("response code", response.getStatus(), is(404)); } @Test @@ -69,10 +69,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest { server.setHandler(new DoesNotSetHandledHandler(true)); server.start(); + + HttpTester.Response response = executeRequest(); - SimpleHttpResponse response = executeRequest(); - - assertThat("response code is 500", response.getCode(), is("500")); + assertThat("response code", response.getStatus(), is(500)); } private class DoesNotSetHandledHandler extends ThrowExceptionOnDemandHandler @@ -96,9 +96,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new OnlySetHandledHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertHeader(response, "content-length", "0"); } @@ -108,9 +108,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new OnlySetHandledHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 500", response.getCode(), is("500")); + assertThat("response code", response.getStatus(), is(500)); } private class OnlySetHandledHandler extends ThrowExceptionOnDemandHandler @@ -134,9 +134,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new SetHandledWriteSomeDataHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobar"); assertHeader(response, "content-length", "6"); } @@ -147,10 +147,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new SetHandledWriteSomeDataHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 500", response.getCode(), is("500")); - assertThat("response body is not foobar", response.getBody(), not(is("foobar"))); + assertThat("response code", response.getStatus(), is(500)); + assertThat("response body", response.getContent(), not(is("foobar"))); } private class SetHandledWriteSomeDataHandler extends ThrowExceptionOnDemandHandler @@ -175,9 +175,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new ExplicitFlushHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobar"); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -189,11 +189,11 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new ExplicitFlushHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Since the 200 was committed, the 500 did not get the chance to be written - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foobar", response.getBody(), is("foobar")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foobar")); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); } @@ -221,9 +221,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new SetHandledAndFlushWithoutContentHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); } @@ -234,9 +234,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new SetHandledAndFlushWithoutContentHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); } @@ -263,9 +263,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new WriteFlushWriteMoreHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobar"); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -277,11 +277,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new WriteFlushWriteMoreHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Since the 200 was committed, the 500 did not get the chance to be written - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); } @@ -310,9 +309,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new OverflowHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobar"); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -324,9 +323,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new Overflow2Handler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobarfoobar"); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -338,9 +337,9 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new Overflow3Handler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobarfoobar"); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -352,10 +351,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new OverflowHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Response was committed when we throw, so 200 expected - assertThat("response code is 200", response.getCode(), is("200")); + assertThat("response code", response.getStatus(), is(200)); assertResponseBody(response, "foobar"); if (!"HTTP/1.0".equals(httpVersion)) assertHeader(response, "transfer-encoding", "chunked"); @@ -424,10 +423,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new SetContentLengthAndWriteThatAmountOfBytesHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); assertHeader(response, "content-length", "3"); } @@ -437,11 +436,11 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new SetContentLengthAndWriteThatAmountOfBytesHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Setting the content-length and then writing the bytes commits the response - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); } private class SetContentLengthAndWriteThatAmountOfBytesHandler extends ThrowExceptionOnDemandHandler @@ -467,10 +466,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new SetContentLengthAndWriteMoreBytesHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); assertHeader(response, "content-length", "3"); } @@ -480,11 +479,11 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new SetContentLengthAndWriteMoreBytesHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Setting the content-length and then writing the bytes commits the response - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); } private class SetContentLengthAndWriteMoreBytesHandler extends ThrowExceptionOnDemandHandler @@ -511,10 +510,10 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new WriteAndSetContentLengthHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); assertHeader(response, "content-length", "3"); } @@ -524,11 +523,11 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new WriteAndSetContentLengthHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Writing the bytes and then setting the content-length commits the response - assertThat("response code is 200", response.getCode(), is("200")); - assertThat("response body is foo", response.getBody(), is("foo")); + assertThat("response code", response.getStatus(), is(200)); + assertThat("response body", response.getContent(), is("foo")); } private class WriteAndSetContentLengthHandler extends ThrowExceptionOnDemandHandler @@ -554,11 +553,11 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new WriteAndSetContentLengthTooSmallHandler(false)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Setting a content-length too small throws an IllegalStateException - assertThat("response code is 500", response.getCode(), is("500")); - assertThat("response body is not foo", response.getBody(), not(is("foo"))); + assertThat("response code", response.getStatus(), is(500)); + assertThat("response body", response.getContent(), not(is("foo"))); } @Test @@ -567,11 +566,11 @@ public class HttpManyWaysToCommitTest extends AbstractHttpTest server.setHandler(new WriteAndSetContentLengthTooSmallHandler(true)); server.start(); - SimpleHttpResponse response = executeRequest(); + HttpTester.Response response = executeRequest(); // Setting a content-length too small throws an IllegalStateException - assertThat("response code is 500", response.getCode(), is("500")); - assertThat("response body is not foo", response.getBody(), not(is("foo"))); + assertThat("response code", response.getStatus(), is(500)); + assertThat("response body", response.getContent(), not(is("foo"))); } private class WriteAndSetContentLengthTooSmallHandler extends ThrowExceptionOnDemandHandler diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/handler/DebugHandlerTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/handler/DebugHandlerTest.java index 88b777f85d0..2aa4c2519b7 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/handler/DebugHandlerTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/handler/DebugHandlerTest.java @@ -18,13 +18,16 @@ package org.eclipse.jetty.server.handler; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; +import static org.junit.Assert.assertThat; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.net.HttpURLConnection; import java.net.URI; import java.nio.charset.StandardCharsets; import java.security.KeyStore; @@ -49,7 +52,6 @@ import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; -import org.eclipse.jetty.toolchain.test.SimpleRequest; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.util.thread.Scheduler; import org.junit.After; @@ -154,8 +156,8 @@ public class DebugHandlerTest @Test public void testThreadName() throws IOException { - SimpleRequest req = new SimpleRequest(serverURI); - req.getString("/foo/bar?a=b"); + HttpURLConnection http = (HttpURLConnection) serverURI.resolve("/foo/bar?a=b").toURL().openConnection(); + assertThat("Response Code", http.getResponseCode(), is(200)); String log = capturedLog.toString(StandardCharsets.UTF_8.name()); String expectedThreadName = String.format("//%s:%s/foo/bar?a=b",serverURI.getHost(),serverURI.getPort()); @@ -168,8 +170,8 @@ public class DebugHandlerTest @Test public void testSecureThreadName() throws IOException { - SimpleRequest req = new SimpleRequest(secureServerURI); - req.getString("/foo/bar?a=b"); + HttpURLConnection http = (HttpURLConnection) secureServerURI.resolve("/foo/bar?a=b").toURL().openConnection(); + assertThat("Response Code", http.getResponseCode(), is(200)); String log = capturedLog.toString(StandardCharsets.UTF_8.name()); String expectedThreadName = String.format("https://%s:%s/foo/bar?a=b",secureServerURI.getHost(),secureServerURI.getPort()); diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/handler/ResourceHandlerTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/handler/ResourceHandlerTest.java index c4c381a2621..6920b8f21f0 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/handler/ResourceHandlerTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/handler/ResourceHandlerTest.java @@ -18,7 +18,10 @@ package org.eclipse.jetty.server.handler; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.endsWith; import static org.hamcrest.Matchers.startsWith; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import java.io.BufferedReader; @@ -28,11 +31,11 @@ import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; -import java.net.URI; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.nio.file.Files; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; @@ -40,11 +43,9 @@ import org.eclipse.jetty.server.LocalConnector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; -import org.eclipse.jetty.toolchain.test.SimpleRequest; import org.eclipse.jetty.toolchain.test.annotation.Slow; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.IO; -import org.hamcrest.Matchers; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; @@ -147,15 +148,17 @@ public class ResourceHandlerTest @Test public void testMissing() throws Exception { - SimpleRequest sr = new SimpleRequest(new URI("http://localhost:" + _connector.getLocalPort())); - Assert.assertNotNull("missing jetty.css",sr.getString("/resource/jetty-dir.css")); + String rawResponse = _local.getResponse("GET /resource/jetty-dir.css HTTP/1.0\r\n\r\n"); + HttpTester.Response response = HttpTester.parseResponse(rawResponse); + Assert.assertNotNull("missing jetty-dir.css",response.getContent()); } @Test public void testSimple() throws Exception { - SimpleRequest sr = new SimpleRequest(new URI("http://localhost:" + _connector.getLocalPort())); - Assert.assertEquals("simple text",sr.getString("/resource/simple.txt")); + String rawResponse = _local.getResponse("GET /resource/simple.txt HTTP/1.0\r\n\r\n"); + HttpTester.Response response = HttpTester.parseResponse(rawResponse); + assertEquals("simple text",response.getContent()); } @Test @@ -163,41 +166,46 @@ public class ResourceHandlerTest { String response = _local.getResponses("GET /resource/simple.txt HTTP/1.0\r\n\r\n"); assertThat(response,startsWith("HTTP/1.1 200 OK")); - assertThat(response,Matchers.containsString("Content-Type: text/plain")); - assertThat(response,Matchers.containsString("Last-Modified: ")); - assertThat(response,Matchers.containsString("Content-Length: 11")); - assertThat(response,Matchers.containsString("Server: Jetty")); - assertThat(response,Matchers.containsString("simple text")); + assertThat(response,containsString("Content-Type: text/plain")); + assertThat(response,containsString("Last-Modified: ")); + assertThat(response,containsString("Content-Length: 11")); + assertThat(response,containsString("Server: Jetty")); + assertThat(response,containsString("simple text")); } @Test public void testBigFile() throws Exception { _config.setOutputBufferSize(2048); - SimpleRequest sr = new SimpleRequest(new URI("http://localhost:" + _connector.getLocalPort())); - String response = sr.getString("/resource/big.txt"); - Assert.assertThat(response,Matchers.startsWith(" 1\tThis is a big file")); - Assert.assertThat(response,Matchers.endsWith(" 400\tThis is a big file" + LN)); + + String rawResponse = _local.getResponse("GET /resource/big.txt HTTP/1.0\r\n\r\n"); + HttpTester.Response response = HttpTester.parseResponse(rawResponse); + String content = response.getContent(); + + assertThat(content,startsWith(" 1\tThis is a big file")); + assertThat(content,endsWith(" 400\tThis is a big file" + LN)); } @Test public void testBigFileBigBuffer() throws Exception { _config.setOutputBufferSize(16 * 1024); - SimpleRequest sr = new SimpleRequest(new URI("http://localhost:" + _connector.getLocalPort())); - String response = sr.getString("/resource/big.txt"); - Assert.assertThat(response,Matchers.startsWith(" 1\tThis is a big file")); - Assert.assertThat(response,Matchers.endsWith(" 400\tThis is a big file" + LN)); + String rawResponse = _local.getResponse("GET /resource/big.txt HTTP/1.0\r\n\r\n"); + HttpTester.Response response = HttpTester.parseResponse(rawResponse); + String content = response.getContent(); + assertThat(content,startsWith(" 1\tThis is a big file")); + assertThat(content,endsWith(" 400\tThis is a big file" + LN)); } @Test public void testBigFileLittleBuffer() throws Exception { _config.setOutputBufferSize(8); - SimpleRequest sr = new SimpleRequest(new URI("http://localhost:" + _connector.getLocalPort())); - String response = sr.getString("/resource/big.txt"); - Assert.assertThat(response,Matchers.startsWith(" 1\tThis is a big file")); - Assert.assertThat(response,Matchers.endsWith(" 400\tThis is a big file" + LN)); + String rawResponse = _local.getResponse("GET /resource/big.txt HTTP/1.0\r\n\r\n"); + HttpTester.Response response = HttpTester.parseResponse(rawResponse); + String content = response.getContent(); + assertThat(content,startsWith(" 1\tThis is a big file")); + assertThat(content,endsWith(" 400\tThis is a big file" + LN)); } @Test @@ -208,9 +216,9 @@ public class ResourceHandlerTest socket.getOutputStream().write("GET /resource/bigger.txt HTTP/1.0\n\n".getBytes()); Thread.sleep(1000); String response = IO.toString(socket.getInputStream()); - Assert.assertThat(response,Matchers.startsWith("HTTP/1.1 200 OK")); - Assert.assertThat(response,Matchers.containsString(" 400\tThis is a big file" + LN + " 1\tThis is a big file")); - Assert.assertThat(response,Matchers.endsWith(" 400\tThis is a big file" + LN)); + assertThat(response,startsWith("HTTP/1.1 200 OK")); + assertThat(response,containsString(" 400\tThis is a big file" + LN + " 1\tThis is a big file")); + assertThat(response,endsWith(" 400\tThis is a big file" + LN)); } } @@ -253,9 +261,9 @@ public class ResourceHandlerTest // System.err.println(++i+": "+BufferUtil.toDetailString(buffer)); } - Assert.assertEquals('E',buffer.get(buffer.limit()-4)); - Assert.assertEquals('N',buffer.get(buffer.limit()-3)); - Assert.assertEquals('D',buffer.get(buffer.limit()-2)); + assertEquals('E',buffer.get(buffer.limit()-4)); + assertEquals('N',buffer.get(buffer.limit()-3)); + assertEquals('D',buffer.get(buffer.limit()-2)); } } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextListenersTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextListenersTest.java index cca7a6a97d2..a5407488c82 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextListenersTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextListenersTest.java @@ -18,15 +18,12 @@ package org.eclipse.jetty.servlet; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; import java.nio.charset.StandardCharsets; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import javax.servlet.AsyncContext; @@ -37,10 +34,9 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpParser; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.junit.After; import org.junit.Assert; import org.junit.Test; @@ -67,7 +63,8 @@ public class AsyncContextListenersTest { _server.stop(); } - + + @SuppressWarnings("Duplicates") @Test public void testListenerClearedOnSecondRequest() throws Exception { @@ -105,7 +102,7 @@ public class AsyncContextListenersTest asyncContext.complete(); } }); - + try (Socket socket = new Socket("localhost", _connector.getLocalPort())) { OutputStream output = socket.getOutputStream(); @@ -116,11 +113,10 @@ public class AsyncContextListenersTest "\r\n"; output.write(request.getBytes(StandardCharsets.UTF_8)); output.flush(); - - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); - SimpleHttpParser parser = new SimpleHttpParser(); - SimpleHttpResponse response = parser.readResponse(reader); - Assert.assertEquals("200", response.getCode()); + + HttpTester.Input input = HttpTester.from(socket.getInputStream()); + HttpTester.Response response = HttpTester.parseResponse(input); + Assert.assertEquals(200, response.getStatus()); completes.get().await(10,TimeUnit.SECONDS); // Send a second request @@ -128,12 +124,13 @@ public class AsyncContextListenersTest output.write(request.getBytes(StandardCharsets.UTF_8)); output.flush(); - response = parser.readResponse(reader); - Assert.assertEquals("200", response.getCode()); + response = HttpTester.parseResponse(input); + Assert.assertEquals(200, response.getStatus()); completes.get().await(10,TimeUnit.SECONDS); } } + @SuppressWarnings("Duplicates") @Test public void testListenerAddedFromListener() throws Exception { @@ -188,19 +185,18 @@ public class AsyncContextListenersTest output.write(request.getBytes(StandardCharsets.UTF_8)); output.flush(); - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); - SimpleHttpParser parser = new SimpleHttpParser(); - SimpleHttpResponse response = parser.readResponse(reader); - Assert.assertEquals("200", response.getCode()); + HttpTester.Input input = HttpTester.from(socket.getInputStream()); + HttpTester.Response response = HttpTester.parseResponse(input); + Assert.assertEquals(200, response.getStatus()); completes.get().await(10,TimeUnit.SECONDS); // Send a second request completes.set(new CountDownLatch(1)); output.write(request.getBytes(StandardCharsets.UTF_8)); output.flush(); - - response = parser.readResponse(reader); - Assert.assertEquals("200", response.getCode()); + + response = HttpTester.parseResponse(input); + Assert.assertEquals(200, response.getStatus()); completes.get().await(10,TimeUnit.SECONDS); } } @@ -265,11 +261,10 @@ public class AsyncContextListenersTest "\r\n"; output.write(request.getBytes(StandardCharsets.UTF_8)); output.flush(); - - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); - SimpleHttpParser parser = new SimpleHttpParser(); - SimpleHttpResponse response = parser.readResponse(reader); - Assert.assertEquals("200", response.getCode()); + + HttpTester.Input input = HttpTester.from(socket.getInputStream()); + HttpTester.Response response = HttpTester.parseResponse(input); + Assert.assertEquals(200, response.getStatus()); completes.get().await(10,TimeUnit.SECONDS); // Send a second request @@ -277,8 +272,8 @@ public class AsyncContextListenersTest output.write(request.getBytes(StandardCharsets.UTF_8)); output.flush(); - response = parser.readResponse(reader); - Assert.assertEquals("200", response.getCode()); + response = HttpTester.parseResponse(input); + Assert.assertEquals(200, response.getStatus()); completes.get().await(10,TimeUnit.SECONDS); } } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncServletLongPollTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncServletLongPollTest.java index 2ff3f4b5144..9275557dd4e 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncServletLongPollTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncServletLongPollTest.java @@ -18,9 +18,7 @@ package org.eclipse.jetty.servlet; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; import java.nio.charset.StandardCharsets; @@ -33,11 +31,10 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.toolchain.test.TestTracker; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpParser; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.junit.After; import org.junit.Assert; import org.junit.Rule; @@ -129,7 +126,7 @@ public class AsyncServletLongPollTest Assert.assertTrue(asyncLatch.await(5, TimeUnit.SECONDS)); - String error = "408"; + int error = 408; try (Socket socket2 = new Socket("localhost", connector.getLocalPort())) { String request2 = "DELETE " + uri + "?error=" + error + " HTTP/1.1\r\n" + @@ -139,17 +136,16 @@ public class AsyncServletLongPollTest output2.write(request2.getBytes(StandardCharsets.UTF_8)); output2.flush(); - SimpleHttpParser parser2 = new SimpleHttpParser(); - BufferedReader input2 = new BufferedReader(new InputStreamReader(socket2.getInputStream(), StandardCharsets.UTF_8)); - SimpleHttpResponse response2 = parser2.readResponse(input2); - Assert.assertEquals("200", response2.getCode()); + HttpTester.Input input2 = HttpTester.from(socket2.getInputStream()); + HttpTester.Response response2 = HttpTester.parseResponse(input2); + Assert.assertEquals(200, response2.getStatus()); } socket1.setSoTimeout(2 * wait); - SimpleHttpParser parser1 = new SimpleHttpParser(); - BufferedReader input1 = new BufferedReader(new InputStreamReader(socket1.getInputStream(), StandardCharsets.UTF_8)); - SimpleHttpResponse response1 = parser1.readResponse(input1); - Assert.assertEquals(error, response1.getCode()); + + HttpTester.Input input1 = HttpTester.from(socket1.getInputStream()); + HttpTester.Response response1 = HttpTester.parseResponse(input1); + Assert.assertEquals(error, response1.getStatus()); // Now try to make another request on the first connection // to verify that we set correctly the read interest (#409842) @@ -159,8 +155,8 @@ public class AsyncServletLongPollTest output1.write(request3.getBytes(StandardCharsets.UTF_8)); output1.flush(); - SimpleHttpResponse response3 = parser1.readResponse(input1); - Assert.assertEquals("200", response3.getCode()); + HttpTester.Response response3 = HttpTester.parseResponse(input1); + Assert.assertEquals(200, response3.getStatus()); } } } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletRangesTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletRangesTest.java index 7b84e14e5b3..d2881a97035 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletRangesTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletRangesTest.java @@ -67,7 +67,7 @@ public class DefaultServletRangesTest testdir.ensureEmpty(); - File resBase = testdir.getFile("docroot"); + File resBase = testdir.getPathFile("docroot").toFile(); FS.ensureDirExists(resBase); File data = new File(resBase, "data.txt"); createFile(data, DATA); diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java index 349271ecafa..aea158288f6 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java @@ -26,7 +26,6 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.nio.file.Path; import java.util.EnumSet; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -241,7 +240,7 @@ public class DefaultServletTest assertTrue(wackyDir.mkdirs()); /* create some content outside of the docroot */ - File sekret = testdir.getFile("sekret"); + File sekret = testdir.getPathFile("sekret").toFile(); assertTrue(sekret.mkdirs()); File pass = new File(sekret, "pass"); createFile(pass, "Sssh, you shouldn't be seeing this"); diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/SSLAsyncIOServletTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/SSLAsyncIOServletTest.java index d72f1969e30..fb210779c4f 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/SSLAsyncIOServletTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/SSLAsyncIOServletTest.java @@ -18,9 +18,8 @@ package org.eclipse.jetty.servlet; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; +import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.util.Arrays; @@ -35,10 +34,9 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpParser; -import org.eclipse.jetty.toolchain.test.http.SimpleHttpResponse; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.junit.After; import org.junit.Assert; @@ -49,7 +47,7 @@ import org.junit.runners.Parameterized; @RunWith(Parameterized.class) public class SSLAsyncIOServletTest { - @Parameterized.Parameters + @Parameterized.Parameters(name = "ssl={0}") public static Collection parameters() { return Arrays.asList(new SslContextFactory[]{null}, new SslContextFactory[]{new SslContextFactory()}); @@ -159,16 +157,16 @@ public class SSLAsyncIOServletTest String request = "" + "GET " + contextPath + servletPath + " HTTP/1.1\r\n" + "Host: localhost\r\n" + + "Connection: close\r\n" + "\r\n"; OutputStream output = client.getOutputStream(); output.write(request.getBytes("UTF-8")); output.flush(); - - BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream(), "UTF-8")); - SimpleHttpParser parser = new SimpleHttpParser(); - SimpleHttpResponse response = parser.readResponse(input); - Assert.assertEquals("200", response.getCode()); - Assert.assertArrayEquals(content, response.getBody().getBytes("UTF-8")); + + InputStream inputStream = client.getInputStream(); + HttpTester.Response response = HttpTester.parseResponse(inputStream); + Assert.assertEquals(200, response.getStatus()); + Assert.assertArrayEquals(content, response.getContent().getBytes("UTF-8")); } } diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultNoRecompressTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultNoRecompressTest.java index ce4c96d3388..5e93791164b 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultNoRecompressTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultNoRecompressTest.java @@ -105,7 +105,7 @@ public class GzipDefaultNoRecompressTest private void copyTestFileToServer(String testFilename) throws IOException { File testFile = MavenTestingUtils.getTestResourceFile(testFilename); - File outFile = testingdir.getFile(testFilename); + File outFile = testingdir.getPathFile(testFilename).toFile(); IO.copy(testFile,outFile); } } diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultTest.java index 7cdaa8285e2..86cd4739d11 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultTest.java @@ -39,7 +39,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.http.GzipHttpContent; -import org.eclipse.jetty.http.HttpHeader; import org.eclipse.jetty.http.HttpStatus; import org.eclipse.jetty.http.HttpTester; import org.eclipse.jetty.servlet.DefaultServlet; @@ -159,7 +158,7 @@ public class GzipDefaultTest String content = tester.readResponse(response); assertThat("Response content size",content.length(),is(filesize)); - String expectedContent = IO.readToString(testingdir.getFile("file.txt")); + String expectedContent = IO.readToString(testingdir.getPathFile("file.txt").toFile()); assertThat("Response content",content,is(expectedContent)); } finally @@ -217,7 +216,7 @@ public class GzipDefaultTest String content = tester.readResponse(response); assertThat("Response content size",content.length(),is(0)); - String expectedContent = IO.readToString(testingdir.getFile("empty.txt")); + String expectedContent = IO.readToString(testingdir.getPathFile("empty.txt").toFile()); assertThat("Response content",content,is(expectedContent)); } finally @@ -738,7 +737,7 @@ public class GzipDefaultTest assertThat("ETag",response.get("ETAG"),startsWith("W/")); } - File serverFile = testingdir.getFile(filename); + File serverFile = testingdir.getPathFile(filename).toFile(); String expectedResponse = IO.readToString(serverFile); String actual = tester.readResponse(response); diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipTester.java b/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipTester.java index 943b1b9429b..f7ec3f02293 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipTester.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipTester.java @@ -276,7 +276,7 @@ public class GzipTester Assert.assertThat(response.get("ETag"),Matchers.startsWith("W/")); // Assert that the decompressed contents are what we expect. - File serverFile = testdir.getFile(serverFilename); + File serverFile = testdir.getPathFile(serverFilename).toFile(); String expected = IO.readToString(serverFile); String actual = null; @@ -538,7 +538,7 @@ public class GzipTester */ public File prepareServerFile(String filename, int filesize) throws IOException { - File dir = testdir.getDir(); + File dir = testdir.getPath().toFile(); File testFile = new File(dir,filename); // Make sure we have a uniq filename (to work around windows File.delete bug) int i = 0; @@ -573,7 +573,7 @@ public class GzipTester public void copyTestServerFile(String filename) throws IOException { File srcFile = MavenTestingUtils.getTestResourceFile(filename); - File testFile = testdir.getFile(filename); + File testFile = testdir.getPathFile(filename).toFile(); IO.copy(srcFile,testFile); } @@ -587,10 +587,11 @@ public class GzipTester */ public void setContentServlet(Class servletClass) throws IOException { + String resourceBase = testdir.getPath().toString(); tester.setContextPath("/context"); - tester.setResourceBase(testdir.getDir().getCanonicalPath()); + tester.setResourceBase(resourceBase); ServletHolder servletHolder = tester.addServlet(servletClass,"/"); - servletHolder.setInitParameter("baseDir",testdir.getDir().getAbsolutePath()); + servletHolder.setInitParameter("baseDir",resourceBase); servletHolder.setInitParameter("etags","true"); } diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/IncludedGzipTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/IncludedGzipTest.java index 80363ac3ba7..7be81ae6e0e 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/IncludedGzipTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/IncludedGzipTest.java @@ -77,7 +77,7 @@ public class IncludedGzipTest { testdir.ensureEmpty(); - File testFile = testdir.getFile("file.txt"); + File testFile = testdir.getPathFile("file.txt").toFile(); try (OutputStream testOut = new BufferedOutputStream(new FileOutputStream(testFile))) { ByteArrayInputStream testIn = new ByteArrayInputStream(__content.getBytes("ISO8859_1")); @@ -85,7 +85,7 @@ public class IncludedGzipTest } tester=new ServletTester("/context"); - tester.getContext().setResourceBase(testdir.getDir().getCanonicalPath()); + tester.getContext().setResourceBase(testdir.getPath().toString()); tester.getContext().addServlet(org.eclipse.jetty.servlet.DefaultServlet.class, "/"); GzipHandler gzipHandler = new GzipHandler(); @@ -97,7 +97,6 @@ public class IncludedGzipTest public void tearDown() throws Exception { tester.stop(); - IO.delete(testdir.getDir()); } @Test diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/DataRateLimitedServletTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/DataRateLimitedServletTest.java index ba89cf395dc..c63c84b67c4 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/DataRateLimitedServletTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/DataRateLimitedServletTest.java @@ -66,7 +66,7 @@ public class DataRateLimitedServletTest context.setContextPath("/context"); context.setWelcomeFiles(new String[]{"index.html", "index.jsp", "index.htm"}); - File baseResourceDir = testdir.getEmptyDir(); + File baseResourceDir = testdir.getEmptyPathDir().toFile(); // Use resolved real path for Windows and OSX Path baseResourcePath = baseResourceDir.toPath().toRealPath(); @@ -91,7 +91,7 @@ public class DataRateLimitedServletTest @Test public void testStream() throws Exception { - File content = testdir.getFile("content.txt"); + File content = testdir.getPathFile("content.txt").toFile(); String[] results=new String[10]; try(OutputStream out = new FileOutputStream(content);) { diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/DistTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/DistTest.java index c9f8354ce85..f69e1af65ce 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/DistTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/DistTest.java @@ -69,7 +69,7 @@ public class DistTest @Test public void testLikeDistro_SetupHome() throws Exception { - Path basePath = testdir.getEmptyDir().toPath(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); @@ -81,7 +81,7 @@ public class DistTest @Test public void testAddJstl() throws Exception { - Path basePath = testdir.getEmptyDir().toPath(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); cmds.add("--add-to-start=jstl"); @@ -116,7 +116,7 @@ public class DistTest @Test public void testReAddServerModule() throws Exception { - Path basePath = testdir.getEmptyDir().toPath(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); cmds.add("--add-to-startd=http"); @@ -146,7 +146,7 @@ public class DistTest @Test public void testReAddServerViaHttpModule() throws Exception { - Path basePath = testdir.getEmptyDir().toPath(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); cmds.add("--add-to-startd=http"); @@ -176,7 +176,7 @@ public class DistTest @Test public void testReAddHttpThenDeployViaStartD() throws Exception { - Path basePath = testdir.getEmptyDir().toPath(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); cmds.add("--add-to-start=http"); @@ -199,7 +199,7 @@ public class DistTest @Ignore("See https://bugs.eclipse.org/451973") public void testLikeDistro_SetupDemoBase() throws Exception { - Path basePath = testdir.getEmptyDir().toPath(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/IncludeJettyDirTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/IncludeJettyDirTest.java index aaafcd2cd48..308207bd46b 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/IncludeJettyDirTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/IncludeJettyDirTest.java @@ -18,7 +18,12 @@ package org.eclipse.jetty.start; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; + import java.io.File; +import java.nio.file.Path; import java.util.ArrayList; import java.util.List; @@ -32,10 +37,6 @@ import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import static org.hamcrest.Matchers.containsString; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; - public class IncludeJettyDirTest { private static class MainResult @@ -69,13 +70,13 @@ public class IncludeJettyDirTest @Rule public TestingDir testdir = new TestingDir(); - private MainResult runMain(File baseDir, File homeDir, String... cmdLineArgs) throws Exception + private MainResult runMain(Path baseDir, Path homeDir, String... cmdLineArgs) throws Exception { MainResult ret = new MainResult(); ret.main = new Main(); List cmdLine = new ArrayList<>(); - cmdLine.add("jetty.home=" + homeDir.getAbsolutePath()); - cmdLine.add("jetty.base=" + baseDir.getAbsolutePath()); + cmdLine.add("jetty.home=" + homeDir.toString()); + cmdLine.add("jetty.base=" + baseDir.toString()); // cmdLine.add("--debug"); for (String arg : cmdLineArgs) { @@ -89,12 +90,12 @@ public class IncludeJettyDirTest public void testNoExtras() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -114,17 +115,17 @@ public class IncludeJettyDirTest public void testCommandLine_1Extra() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -132,11 +133,11 @@ public class IncludeJettyDirTest // Simple command line reference to include-jetty-dir MainResult result = runMain(base,home, // direct reference via path - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); List expectedSearchOrder = new ArrayList<>(); expectedSearchOrder.add("${jetty.base}"); - expectedSearchOrder.add(common.getAbsolutePath()); + expectedSearchOrder.add(common.toString()); expectedSearchOrder.add("${jetty.home}"); result.assertSearchOrder(expectedSearchOrder); @@ -148,17 +149,17 @@ public class IncludeJettyDirTest public void testCommandLine_1Extra_FromSimpleProp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -166,7 +167,7 @@ public class IncludeJettyDirTest // Simple command line reference to include-jetty-dir via property (also on command line) MainResult result = runMain(base,home, // property - "my.common=" + common.getAbsolutePath(), + "my.common=" + common.toString(), // reference via property "--include-jetty-dir=${my.common}"); @@ -184,21 +185,21 @@ public class IncludeJettyDirTest public void testCommandLine_1Extra_FromPropPrefix() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create opt - File opt = testdir.getFile("opt"); + Path opt = testdir.getPathFile("opt"); FS.ensureEmpty(opt); // Create common - File common = new File(opt,"common"); + Path common = opt.resolve("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -208,7 +209,7 @@ public class IncludeJettyDirTest // Simple command line reference to include-jetty-dir via property (also on command line) MainResult result = runMain(base,home, // property to 'opt' dir - "my.opt=" + opt.getAbsolutePath(), + "my.opt=" + opt.toString(), // reference via property prefix "--include-jetty-dir=" + dirRef); @@ -226,21 +227,21 @@ public class IncludeJettyDirTest public void testCommandLine_1Extra_FromCompoundProp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create opt - File opt = testdir.getFile("opt"); + Path opt = testdir.getPathFile("opt"); FS.ensureEmpty(opt); // Create common - File common = new File(opt,"common"); + Path common = opt.resolve("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -250,7 +251,7 @@ public class IncludeJettyDirTest // Simple command line reference to include-jetty-dir via property (also on command line) MainResult result = runMain(base,home, // property to 'opt' dir - "my.opt=" + opt.getAbsolutePath(), + "my.opt=" + opt.toString(), // property to commmon dir name "my.dir=common", // reference via property prefix @@ -270,27 +271,27 @@ public class IncludeJettyDirTest public void testRefCommon() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); MainResult result = runMain(base,home); List expectedSearchOrder = new ArrayList<>(); expectedSearchOrder.add("${jetty.base}"); - expectedSearchOrder.add(common.getAbsolutePath()); + expectedSearchOrder.add(common.toString()); expectedSearchOrder.add("${jetty.home}"); result.assertSearchOrder(expectedSearchOrder); @@ -302,33 +303,33 @@ public class IncludeJettyDirTest public void testRefCommonAndCorp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath(), // - "--include-jetty-dir=" + corp.getAbsolutePath()); + "--include-jetty-dir=" + common.toString(), // + "--include-jetty-dir=" + corp.toString()); MainResult result = runMain(base,home); List expectedSearchOrder = new ArrayList<>(); expectedSearchOrder.add("${jetty.base}"); - expectedSearchOrder.add(common.getAbsolutePath()); - expectedSearchOrder.add(corp.getAbsolutePath()); + expectedSearchOrder.add(common.toString()); + expectedSearchOrder.add(corp.toString()); expectedSearchOrder.add("${jetty.home}"); result.assertSearchOrder(expectedSearchOrder); @@ -340,35 +341,35 @@ public class IncludeJettyDirTest public void testRefCommonRefCorp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini","jetty.http.port=9090"); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini", // - "--include-jetty-dir=" + corp.getAbsolutePath(), // + "--include-jetty-dir=" + corp.toString(), // "jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); MainResult result = runMain(base,home); List expectedSearchOrder = new ArrayList<>(); expectedSearchOrder.add("${jetty.base}"); - expectedSearchOrder.add(common.getAbsolutePath()); - expectedSearchOrder.add(corp.getAbsolutePath()); + expectedSearchOrder.add(common.toString()); + expectedSearchOrder.add(corp.toString()); expectedSearchOrder.add("${jetty.home}"); result.assertSearchOrder(expectedSearchOrder); @@ -380,30 +381,30 @@ public class IncludeJettyDirTest public void testRefCommonRefCorp_FromSimpleProps() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // "jetty.http.port=9090"); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini", // - "my.corp=" + corp.getAbsolutePath(), // + "my.corp=" + corp.toString(), // "--include-jetty-dir=${my.corp}", // "jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "my.common=" + common.getAbsolutePath(), // + "my.common=" + common.toString(), // "--include-jetty-dir=${my.common}"); MainResult result = runMain(base,home); @@ -423,46 +424,46 @@ public class IncludeJettyDirTest public void testRefCommonRefCorp_CmdLineRef() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create devops - File devops = testdir.getFile("devops"); + Path devops = testdir.getPathFile("devops"); FS.ensureEmpty(devops); TestEnv.makeFile(devops,"start.ini", // "--module=logging", // "jetty.http.port=2222"); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // "jetty.http.port=9090"); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini", // - "--include-jetty-dir=" + corp.getAbsolutePath(), // + "--include-jetty-dir=" + corp.toString(), // "jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); MainResult result = runMain(base,home, // command line provided include-jetty-dir ref - "--include-jetty-dir=" + devops.getAbsolutePath()); + "--include-jetty-dir=" + devops.toString()); List expectedSearchOrder = new ArrayList<>(); expectedSearchOrder.add("${jetty.base}"); - expectedSearchOrder.add(devops.getAbsolutePath()); - expectedSearchOrder.add(common.getAbsolutePath()); - expectedSearchOrder.add(corp.getAbsolutePath()); + expectedSearchOrder.add(devops.toString()); + expectedSearchOrder.add(common.toString()); + expectedSearchOrder.add(corp.toString()); expectedSearchOrder.add("${jetty.home}"); result.assertSearchOrder(expectedSearchOrder); @@ -474,29 +475,29 @@ public class IncludeJettyDirTest public void testRefCommonRefCorp_CmdLineProp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // "jetty.http.port=9090"); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini", // - "--include-jetty-dir=" + corp.getAbsolutePath(), // + "--include-jetty-dir=" + corp.toString(), // "jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); MainResult result = runMain(base,home, // command line property should override all others @@ -504,8 +505,8 @@ public class IncludeJettyDirTest List expectedSearchOrder = new ArrayList<>(); expectedSearchOrder.add("${jetty.base}"); - expectedSearchOrder.add(common.getAbsolutePath()); - expectedSearchOrder.add(corp.getAbsolutePath()); + expectedSearchOrder.add(common.toString()); + expectedSearchOrder.add(corp.toString()); expectedSearchOrder.add("${jetty.home}"); result.assertSearchOrder(expectedSearchOrder); @@ -517,36 +518,36 @@ public class IncludeJettyDirTest public void testBadDoubleRef() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // standard property "jetty.http.port=9090", // INTENTIONAL BAD Reference (duplicate) - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); // Populate common TestEnv.makeFile(common,"start.ini", // standard property "jetty.http.port=8080", // reference to corp - "--include-jetty-dir=" + corp.getAbsolutePath()); + "--include-jetty-dir=" + corp.toString()); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); try { diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/LicensingTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/LicensingTest.java index 39be2309d6e..5a25b3954d5 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/LicensingTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/LicensingTest.java @@ -21,10 +21,11 @@ package org.eclipse.jetty.start; import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertThat; -import java.io.File; -import java.io.FileWriter; +import java.io.BufferedWriter; import java.io.IOException; import java.io.StringReader; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.ArrayList; import java.util.List; @@ -46,11 +47,11 @@ public class LicensingTest @Rule public SystemExitAsException exitrule = new SystemExitAsException(); - private String assertFileExists(File basePath, String name) throws IOException + private String assertFileExists(Path basePath, String name) throws IOException { - File file = new File(basePath, OS.separators(name)); - FS.exists(file.toPath()); - return IO.readToString(file); + Path file = basePath.resolve(OS.separators(name)); + FS.exists(file); + return IO.readToString(file.toFile()); } private void execMain(List cmds) throws Exception @@ -64,12 +65,12 @@ public class LicensingTest main.start(startArgs); } - public List getBaseCommandLine(File basePath) + public List getBaseCommandLine(Path basePath) { List cmds = new ArrayList(); cmds.add("-Djava.io.tmpdir=" + MavenTestingUtils.getTargetDir().getAbsolutePath()); cmds.add("-Djetty.home=" + MavenTestingUtils.getTestResourceDir("dist-home").getAbsolutePath()); - cmds.add("-Djetty.base=" + basePath.getAbsolutePath()); + cmds.add("-Djetty.base=" + basePath.toString()); cmds.add("--testing-mode"); return cmds; @@ -78,7 +79,7 @@ public class LicensingTest @Test public void testAdd_NoLicensed() throws Exception { - File basePath = testdir.getEmptyDir(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); @@ -90,7 +91,7 @@ public class LicensingTest @Test public void testAdd_CDI_Licensed() throws Exception { - File basePath = testdir.getEmptyDir(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); @@ -103,7 +104,7 @@ public class LicensingTest @Test public void testAdd_HTTP2_Licensed() throws Exception { - File basePath = testdir.getEmptyDir(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); @@ -119,7 +120,7 @@ public class LicensingTest @Test public void testAdd_Http_Http2_Then_Deploy() throws Exception { - File basePath = testdir.getEmptyDir(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); @@ -144,7 +145,7 @@ public class LicensingTest @Test public void testCreate_HTTP2_Licensed() throws Exception { - File basePath = testdir.getEmptyDir(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); @@ -152,7 +153,7 @@ public class LicensingTest cmds.add("--dry-run"); StringReader startIni = new StringReader("--module=http2\n"); - try (FileWriter writer = new FileWriter(new File(basePath,"start.ini"))) + try (BufferedWriter writer = Files.newBufferedWriter(basePath.resolve("start.ini"))) { IO.copy(startIni,writer); } @@ -163,7 +164,7 @@ public class LicensingTest @Test public void testCreate_CDI_Licensed() throws Exception { - File basePath = testdir.getEmptyDir(); + Path basePath = testdir.getEmptyPathDir(); List cmds = getBaseCommandLine(basePath); @@ -171,7 +172,7 @@ public class LicensingTest cmds.add("--create-files"); StringReader startIni = new StringReader("--module=cdi\n"); - try (FileWriter writer = new FileWriter(new File(basePath,"start.ini"))) + try (BufferedWriter writer = Files.newBufferedWriter(basePath.resolve("start.ini"))) { IO.copy(startIni,writer); } diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/ModuleGraphWriterTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/ModuleGraphWriterTest.java index 0ec64ac8c68..67751cbda43 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/ModuleGraphWriterTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/ModuleGraphWriterTest.java @@ -20,7 +20,6 @@ package org.eclipse.jetty.start; import static org.hamcrest.Matchers.is; -import java.io.File; import java.io.IOException; import java.nio.file.Path; @@ -43,16 +42,16 @@ public class ModuleGraphWriterTest public void testGenerate_NothingEnabled() throws IOException { // Test Env - File homeDir = MavenTestingUtils.getTestResourceDir("dist-home"); - File baseDir = testdir.getEmptyDir(); + Path homeDir = MavenTestingUtils.getTestResourcePathDir("dist-home"); + Path baseDir = testdir.getEmptyPathDir(); String cmdLine[] = new String[] {"jetty.version=TEST"}; // Configuration CommandLineConfigSource cmdLineSource = new CommandLineConfigSource(cmdLine); ConfigSources config = new ConfigSources(); config.add(cmdLineSource); - config.add(new JettyHomeConfigSource(homeDir.toPath())); - config.add(new JettyBaseConfigSource(baseDir.toPath())); + config.add(new JettyHomeConfigSource(homeDir)); + config.add(new JettyBaseConfigSource(baseDir)); // Initialize BaseHome basehome = new BaseHome(config); diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/ModuleTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/ModuleTest.java index 2d1f2a0be6c..8f656087310 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/ModuleTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/ModuleTest.java @@ -24,6 +24,7 @@ import static org.hamcrest.Matchers.is; import java.io.File; import java.io.IOException; +import java.nio.file.Path; import org.eclipse.jetty.start.config.CommandLineConfigSource; import org.eclipse.jetty.start.config.ConfigSources; @@ -44,16 +45,16 @@ public class ModuleTest public void testLoadWebSocket() throws IOException { // Test Env - File homeDir = MavenTestingUtils.getTestResourceDir("dist-home"); - File baseDir = testdir.getEmptyDir(); + Path homeDir = MavenTestingUtils.getTestResourcePathDir("dist-home"); + Path baseDir = testdir.getEmptyPathDir(); String cmdLine[] = new String[] {"jetty.version=TEST"}; // Configuration CommandLineConfigSource cmdLineSource = new CommandLineConfigSource(cmdLine); ConfigSources config = new ConfigSources(); config.add(cmdLineSource); - config.add(new JettyHomeConfigSource(homeDir.toPath())); - config.add(new JettyBaseConfigSource(baseDir.toPath())); + config.add(new JettyHomeConfigSource(homeDir)); + config.add(new JettyBaseConfigSource(baseDir)); // Initialize BaseHome basehome = new BaseHome(config); diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/PathFinderTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/PathFinderTest.java index 9fb58b89aad..8ce0c55e838 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/PathFinderTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/PathFinderTest.java @@ -42,8 +42,7 @@ public class PathFinderTest { File homeDir = MavenTestingUtils.getTestResourceDir("hb.1/home"); Path homePath = homeDir.toPath().toAbsolutePath(); - File baseDir = testdir.getEmptyDir(); - Path basePath = baseDir.toPath().toAbsolutePath(); + Path basePath = testdir.getEmptyPathDir(); PathFinder finder = new PathFinder(); finder.setFileMatcher("glob:**/*.ini"); @@ -69,8 +68,7 @@ public class PathFinderTest { File homeDir = MavenTestingUtils.getTestResourceDir("dist-home"); Path homePath = homeDir.toPath().toAbsolutePath(); - File baseDir = testdir.getEmptyDir(); - Path basePath = baseDir.toPath().toAbsolutePath(); + Path basePath = testdir.getEmptyPathDir(); List expected = new ArrayList<>(); File modulesDir = new File(homeDir,"modules"); diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/TestEnv.java b/jetty-start/src/test/java/org/eclipse/jetty/start/TestEnv.java index 72d50974f89..9a104d3e714 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/TestEnv.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/TestEnv.java @@ -18,10 +18,12 @@ package org.eclipse.jetty.start; +import java.io.BufferedWriter; import java.io.File; -import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; +import java.nio.file.Files; +import java.nio.file.Path; import org.eclipse.jetty.toolchain.test.FS; import org.eclipse.jetty.toolchain.test.IO; @@ -30,18 +32,19 @@ import org.eclipse.jetty.toolchain.test.OS; public class TestEnv { - public static void copyTestDir(String testResourceDir, File destDir) throws IOException + public static void copyTestDir(String testResourceDir, Path destDir) throws IOException { FS.ensureDirExists(destDir); File srcDir = MavenTestingUtils.getTestResourceDir(testResourceDir); - IO.copyDir(srcDir,destDir); + IO.copyDir(srcDir,destDir.toFile()); } - public static void makeFile(File dir, String relFilePath, String... contents) throws IOException + public static void makeFile(Path dir, String relFilePath, String... contents) throws IOException { - File outputFile = new File(dir,OS.separators(relFilePath)); - FS.ensureDirExists(outputFile.getParentFile()); - try (FileWriter writer = new FileWriter(outputFile); PrintWriter out = new PrintWriter(writer)) + Path outputFile = dir.resolve(OS.separators(relFilePath)); + FS.ensureDirExists(outputFile.getParent()); + try (BufferedWriter writer = Files.newBufferedWriter(outputFile); + PrintWriter out = new PrintWriter(writer)) { for (String content : contents) { diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/config/ConfigSourcesTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/config/ConfigSourcesTest.java index bcf9b942b8e..28772c83653 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/config/ConfigSourcesTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/config/ConfigSourcesTest.java @@ -18,6 +18,10 @@ package org.eclipse.jetty.start.config; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; + import java.io.File; import java.io.IOException; import java.nio.file.Path; @@ -35,10 +39,6 @@ import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import static org.hamcrest.Matchers.containsString; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; - public class ConfigSourcesTest { @Rule @@ -55,7 +55,7 @@ public class ConfigSourcesTest ConfigurationAssert.assertOrdered("ConfigSources.id order",expectedList,actualList); } - private void assertDirOrder(ConfigSources sources, File... expectedDirOrder) + private void assertDirOrder(ConfigSources sources, Path... expectedDirOrder) throws IOException { List actualList = new ArrayList<>(); for (ConfigSource source : sources) @@ -66,9 +66,9 @@ public class ConfigSourcesTest } } List expectedList = new ArrayList<>(); - for (File path : expectedDirOrder) + for (Path path : expectedDirOrder) { - expectedList.add(path.getAbsolutePath()); + expectedList.add(path.toRealPath().toString()); } ConfigurationAssert.assertOrdered("ConfigSources.dir order",expectedList,actualList); } @@ -84,12 +84,12 @@ public class ConfigSourcesTest public void testOrder_BasicConfig() throws IOException { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -98,8 +98,8 @@ public class ConfigSourcesTest String[] cmdLine = new String[0]; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyBaseConfigSource(base.toPath())); - sources.add(new JettyHomeConfigSource(home.toPath())); + sources.add(new JettyBaseConfigSource(base)); + sources.add(new JettyHomeConfigSource(home)); assertIdOrder(sources,"","${jetty.base}","${jetty.home}"); } @@ -108,17 +108,17 @@ public class ConfigSourcesTest public void testOrder_With1ExtraConfig() throws IOException { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - Path common = testdir.getFile("common").toPath(); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common.toFile()); common = common.toRealPath(); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// @@ -128,8 +128,8 @@ public class ConfigSourcesTest String[] cmdLine = new String[0]; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath().toRealPath())); - sources.add(new JettyBaseConfigSource(base.toPath().toRealPath())); + sources.add(new JettyHomeConfigSource(home.toRealPath())); + sources.add(new JettyBaseConfigSource(base.toRealPath())); assertIdOrder(sources,"","${jetty.base}",common.toString(),"${jetty.home}"); } @@ -138,17 +138,17 @@ public class ConfigSourcesTest public void testCommandLine_1Extra_FromSimpleProp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -159,13 +159,13 @@ public class ConfigSourcesTest String[] cmdLine = new String[] { // property - "my.common=" + common.getAbsolutePath(), + "my.common=" + common.toString(), // reference via property "--include-jetty-dir=${my.common}" }; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); assertIdOrder(sources,"","${jetty.base}","${my.common}","${jetty.home}"); @@ -179,21 +179,21 @@ public class ConfigSourcesTest public void testCommandLine_1Extra_FromPropPrefix() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create opt - File opt = testdir.getFile("opt"); + Path opt = testdir.getPathFile("opt"); FS.ensureEmpty(opt); // Create common - File common = new File(opt,"common"); + Path common = opt.resolve("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -205,13 +205,13 @@ public class ConfigSourcesTest // Simple command line reference to include-jetty-dir via property (also on command line) String[] cmdLine = new String[] { // property to 'opt' dir - "my.opt=" + opt.getAbsolutePath(), + "my.opt=" + opt.toString(), // reference via property prefix "--include-jetty-dir=" + dirRef }; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); assertIdOrder(sources,"","${jetty.base}",dirRef,"${jetty.home}"); @@ -225,21 +225,21 @@ public class ConfigSourcesTest public void testCommandLine_1Extra_FromCompoundProp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create opt - File opt = testdir.getFile("opt"); + Path opt = testdir.getPathFile("opt"); FS.ensureEmpty(opt); // Create common - File common = new File(opt,"common"); + Path common = opt.resolve("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1"); @@ -252,15 +252,15 @@ public class ConfigSourcesTest String[] cmdLine = new String[] { // property to 'opt' dir - "my.opt=" + opt.getAbsolutePath(), + "my.opt=" + opt.toString(), // property to commmon dir name "my.dir=common", // reference via property prefix "--include-jetty-dir=" + dirRef }; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); assertIdOrder(sources,"","${jetty.base}",dirRef,"${jetty.home}"); @@ -274,30 +274,30 @@ public class ConfigSourcesTest public void testRefCommon() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); ConfigSources sources = new ConfigSources(); String cmdLine[] = new String[0]; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); - assertIdOrder(sources,"","${jetty.base}",common.getAbsolutePath(),"${jetty.home}"); + assertIdOrder(sources,"","${jetty.base}",common.toString(),"${jetty.home}"); assertDirOrder(sources,base,common,home); @@ -309,37 +309,37 @@ public class ConfigSourcesTest public void testRefCommonAndCorp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini","jetty.http.port=8080"); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath(), // - "--include-jetty-dir=" + corp.getAbsolutePath()); + "--include-jetty-dir=" + common.toString(), // + "--include-jetty-dir=" + corp.toString()); ConfigSources sources = new ConfigSources(); String cmdLine[] = new String[0]; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); assertIdOrder(sources,"","${jetty.base}", - common.getAbsolutePath(), - corp.getAbsolutePath(), + common.toString(), + corp.toString(), "${jetty.home}"); assertDirOrder(sources,base,common,corp,home); @@ -352,40 +352,40 @@ public class ConfigSourcesTest public void testRefCommonRefCorp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // "jetty.http.port=9090"); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini", // - "--include-jetty-dir=" + corp.getAbsolutePath(), // + "--include-jetty-dir=" + corp.toString(), // "jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); ConfigSources sources = new ConfigSources(); String cmdLine[] = new String[0]; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); assertIdOrder(sources,"","${jetty.base}", - common.getAbsolutePath(), - corp.getAbsolutePath(), + common.toString(), + corp.toString(), "${jetty.home}"); assertDirOrder(sources,base,common,corp,home); @@ -398,38 +398,38 @@ public class ConfigSourcesTest public void testRefCommonRefCorp_FromSimpleProps() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // "jetty.http.port=9090"); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini", // - "my.corp=" + corp.getAbsolutePath(), // + "my.corp=" + corp.toString(), // "--include-jetty-dir=${my.corp}", // "jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "my.common="+common.getAbsolutePath(), // + "my.common="+common.toString(), // "--include-jetty-dir=${my.common}"); ConfigSources sources = new ConfigSources(); String cmdLine[] = new String[0]; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); assertIdOrder(sources,"", "${jetty.base}", @@ -447,51 +447,51 @@ public class ConfigSourcesTest public void testRefCommonRefCorp_CmdLineRef() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create devops - File devops = testdir.getFile("devops"); + Path devops = testdir.getPathFile("devops"); FS.ensureEmpty(devops); TestEnv.makeFile(devops,"start.ini", // "--module=logging", // "jetty.http.port=2222"); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // "jetty.http.port=9090"); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini", // - "--include-jetty-dir=" + corp.getAbsolutePath(), // + "--include-jetty-dir=" + corp.toString(), // "jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); ConfigSources sources = new ConfigSources(); String cmdLine[] = new String[]{ // command line provided include-jetty-dir ref - "--include-jetty-dir=" + devops.getAbsolutePath()}; + "--include-jetty-dir=" + devops.toString()}; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); assertIdOrder(sources,"", "${jetty.base}", - devops.getAbsolutePath(), - common.getAbsolutePath(), - corp.getAbsolutePath(), + devops.toString(), + common.toString(), + corp.toString(), "${jetty.home}"); assertDirOrder(sources,base,devops,common,corp,home); @@ -504,29 +504,29 @@ public class ConfigSourcesTest public void testRefCommonRefCorp_CmdLineProp() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // "jetty.http.port=9090"); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); TestEnv.makeFile(common,"start.ini", // - "--include-jetty-dir=" + corp.getAbsolutePath(), // + "--include-jetty-dir=" + corp.toString(), // "jetty.http.port=8080"); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); ConfigSources sources = new ConfigSources(); @@ -535,12 +535,12 @@ public class ConfigSourcesTest "jetty.http.port=7070" }; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); assertIdOrder(sources,"","${jetty.base}", - common.getAbsolutePath(), - corp.getAbsolutePath(), + common.toString(), + corp.toString(), "${jetty.home}"); assertDirOrder(sources,base,common,corp,home); @@ -553,36 +553,36 @@ public class ConfigSourcesTest public void testBadDoubleRef() throws Exception { // Create home - File home = testdir.getFile("home"); + Path home = testdir.getPathFile("home"); FS.ensureEmpty(home); TestEnv.copyTestDir("dist-home",home); // Create common - File common = testdir.getFile("common"); + Path common = testdir.getPathFile("common"); FS.ensureEmpty(common); // Create corp - File corp = testdir.getFile("corp"); + Path corp = testdir.getPathFile("corp"); FS.ensureEmpty(corp); TestEnv.makeFile(corp,"start.ini", // standard property "jetty.http.port=9090", // INTENTIONAL BAD Reference (duplicate) - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); // Populate common TestEnv.makeFile(common,"start.ini", // standard property "jetty.http.port=8080", // reference to corp - "--include-jetty-dir=" + corp.getAbsolutePath()); + "--include-jetty-dir=" + corp.toString()); // Create base - File base = testdir.getFile("base"); + Path base = testdir.getPathFile("base"); FS.ensureEmpty(base); TestEnv.makeFile(base,"start.ini", // "jetty.http.host=127.0.0.1",// - "--include-jetty-dir=" + common.getAbsolutePath()); + "--include-jetty-dir=" + common.toString()); ConfigSources sources = new ConfigSources(); @@ -590,8 +590,8 @@ public class ConfigSourcesTest { String cmdLine[] = new String[0]; sources.add(new CommandLineConfigSource(cmdLine)); - sources.add(new JettyHomeConfigSource(home.toPath())); - sources.add(new JettyBaseConfigSource(base.toPath())); + sources.add(new JettyHomeConfigSource(home)); + sources.add(new JettyBaseConfigSource(base)); Assert.fail("Should have thrown a UsageException"); } diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/fileinits/MavenLocalRepoFileInitializerTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/fileinits/MavenLocalRepoFileInitializerTest.java index c70e0b357df..cac7d146a4a 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/fileinits/MavenLocalRepoFileInitializerTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/fileinits/MavenLocalRepoFileInitializerTest.java @@ -24,9 +24,9 @@ import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; import static org.junit.Assert.assertThat; -import java.io.File; import java.io.IOException; import java.net.URI; +import java.nio.file.Path; import org.eclipse.jetty.start.BaseHome; import org.eclipse.jetty.start.config.ConfigSources; @@ -52,11 +52,11 @@ public class MavenLocalRepoFileInitializerTest @Before public void setupBaseHome() throws IOException { - File homeDir = testdir.getEmptyDir(); + Path homeDir = testdir.getEmptyPathDir(); ConfigSources config = new ConfigSources(); - config.add(new JettyHomeConfigSource(homeDir.toPath())); - config.add(new JettyBaseConfigSource(homeDir.toPath())); + config.add(new JettyHomeConfigSource(homeDir)); + config.add(new JettyBaseConfigSource(homeDir)); this.baseHome = new BaseHome(config); } diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/PathWatcherTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/PathWatcherTest.java index 49cb2374576..5e05758366c 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/PathWatcherTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/PathWatcherTest.java @@ -291,7 +291,7 @@ public class PathWatcherTest @Test public void testConfig_ShouldRecurse_0() throws IOException { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); // Create a few directories Files.createDirectories(dir.resolve("a/b/c/d")); @@ -307,7 +307,7 @@ public class PathWatcherTest @Test public void testConfig_ShouldRecurse_1() throws IOException { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); // Create a few directories Files.createDirectories(dir.resolve("a/b/c/d")); @@ -323,7 +323,7 @@ public class PathWatcherTest @Test public void testConfig_ShouldRecurse_2() throws IOException { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); // Create a few directories Files.createDirectories(dir.resolve("a/b/c/d")); @@ -341,7 +341,7 @@ public class PathWatcherTest @Test public void testConfig_ShouldRecurse_3() throws IOException { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); //Create some deep dirs Files.createDirectories(dir.resolve("a/b/c/d/e/f/g")); @@ -361,7 +361,7 @@ public class PathWatcherTest @Test public void testRestart() throws Exception { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); Files.createDirectories(dir.resolve("b/c")); Files.createFile(dir.resolve("a.txt")); Files.createFile(dir.resolve("b.txt")); @@ -427,7 +427,7 @@ public class PathWatcherTest @Test public void testStartupFindFiles() throws Exception { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); // Files we are interested in Files.createFile(dir.resolve("foo.war")); @@ -479,7 +479,7 @@ public class PathWatcherTest @Test public void testGlobPattern () throws Exception { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); // Files we are interested in Files.createFile(dir.resolve("a.txt")); @@ -531,7 +531,7 @@ public class PathWatcherTest @Test public void testDeployFiles_Update_Delete() throws Exception { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); // Files we are interested in Files.createFile(dir.resolve("foo.war")); @@ -592,7 +592,7 @@ public class PathWatcherTest @Test public void testDeployFiles_NewWar() throws Exception { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); // Files we are interested in Files.createFile(dir.resolve("foo.war")); @@ -656,7 +656,7 @@ public class PathWatcherTest @Test public void testDeployFiles_NewWar_LargeSlowCopy() throws Exception { - Path dir = testdir.getEmptyDir().toPath(); + Path dir = testdir.getEmptyPathDir(); // Files we are interested in Files.createFile(dir.resolve("foo.war")); diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java index aea47791faf..03e52c6b5f8 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java @@ -335,7 +335,7 @@ public class FileSystemResourceTest public void testLastModified() throws Exception { Path dir = testdir.getPath().normalize().toRealPath(); - File file = testdir.getFile("foo"); + File file = testdir.getPathFile("foo").toFile(); file.createNewFile(); long expected = file.lastModified(); @@ -1398,4 +1398,4 @@ public class FileSystemResourceTest } -} \ No newline at end of file +} diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java index a5e7f2b11fc..2dcac785e1d 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java @@ -67,7 +67,7 @@ public class WSServer public WSServer(TestingDir testdir, String contextName) { - this(testdir.getDir(),contextName); + this(testdir.getPath().toFile(),contextName); } public WSServer(File testdir, String contextName) diff --git a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WSServer.java b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WSServer.java index ee406260c42..02a7fe4c52b 100644 --- a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WSServer.java +++ b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WSServer.java @@ -70,7 +70,7 @@ public class WSServer public WSServer(TestingDir testdir, String contextName) { - this(testdir.getDir(),contextName); + this(testdir.getPath().toFile(),contextName); } public WSServer(File testdir, String contextName) diff --git a/pom.xml b/pom.xml index e81c0e3ecb3..6b02d84909c 100644 --- a/pom.xml +++ b/pom.xml @@ -703,7 +703,7 @@ org.eclipse.jetty.toolchain jetty-test-helper - 3.1 + 4.0 org.eclipse.jetty.toolchain diff --git a/tests/test-integration/src/test/java/org/eclipse/jetty/test/support/JettyDistro.java b/tests/test-integration/src/test/java/org/eclipse/jetty/test/support/JettyDistro.java index 98219508d69..5dfa546f700 100644 --- a/tests/test-integration/src/test/java/org/eclipse/jetty/test/support/JettyDistro.java +++ b/tests/test-integration/src/test/java/org/eclipse/jetty/test/support/JettyDistro.java @@ -276,7 +276,7 @@ public class JettyDistro */ public JettyDistro(TestingDir testdir) throws IOException { - this.jettyHomeDir = testdir.getDir(); + this.jettyHomeDir = testdir.getPath().toFile(); copyBaseDistro(); } @@ -292,7 +292,7 @@ public class JettyDistro */ public JettyDistro(TestingDir testdir, String artifact) throws IOException { - this.jettyHomeDir = testdir.getDir(); + this.jettyHomeDir = testdir.getPath().toFile(); if (artifact != null) { this.artifactName = artifact; diff --git a/tests/test-jmx/jmx-webapp-it/src/test/java/org/eclipse/jetty/test/jmx/JmxIT.java b/tests/test-jmx/jmx-webapp-it/src/test/java/org/eclipse/jetty/test/jmx/JmxIT.java index 7bd1624b257..3b9ff995ca4 100644 --- a/tests/test-jmx/jmx-webapp-it/src/test/java/org/eclipse/jetty/test/jmx/JmxIT.java +++ b/tests/test-jmx/jmx-webapp-it/src/test/java/org/eclipse/jetty/test/jmx/JmxIT.java @@ -25,7 +25,9 @@ import static org.hamcrest.Matchers.startsWith; import static org.junit.Assert.assertThat; import java.io.File; +import java.io.InputStream; import java.lang.management.ManagementFactory; +import java.net.HttpURLConnection; import java.net.URI; import javax.management.MBeanServerConnection; @@ -34,14 +36,14 @@ import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.toolchain.test.MavenTestingUtils; -import org.eclipse.jetty.toolchain.test.SimpleRequest; -import org.eclipse.jetty.webapp.Configuration; -import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.jmx.ConnectorServer; import org.eclipse.jetty.jmx.MBeanContainer; import org.eclipse.jetty.server.NetworkConnector; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.toolchain.test.MavenTestingUtils; +import org.eclipse.jetty.util.IO; +import org.eclipse.jetty.webapp.Configuration; +import org.eclipse.jetty.webapp.WebAppContext; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; @@ -140,8 +142,13 @@ public class JmxIT public void testBasic() throws Exception { URI serverURI = new URI("http://localhost:"+String.valueOf(__port)+"/jmx-webapp/"); - SimpleRequest req = new SimpleRequest(serverURI); - assertThat(req.getString("ping"),startsWith("Servlet Pong at ")); + HttpURLConnection http = (HttpURLConnection) serverURI.resolve("ping").toURL().openConnection(); + assertThat("http response", http.getResponseCode(), is(200)); + try(InputStream inputStream = http.getInputStream()) + { + String resp = IO.toString(inputStream); + assertThat(resp,startsWith("Servlet Pong at ")); + } } @Test diff --git a/tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/ReloadedSessionMissingClassTest.java b/tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/ReloadedSessionMissingClassTest.java index 7a4e4d7713e..c40d34b6bb4 100644 --- a/tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/ReloadedSessionMissingClassTest.java +++ b/tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/ReloadedSessionMissingClassTest.java @@ -54,8 +54,7 @@ public class ReloadedSessionMissingClassTest Resource.setDefaultUseCaches(false); String contextPath = "/foo"; - File unpackedWarDir = testdir.getDir(); - testdir.ensureEmpty(); + File unpackedWarDir = testdir.getEmptyPathDir().toFile(); File webInfDir = new File (unpackedWarDir, "WEB-INF"); webInfDir.mkdir();