diff options
Diffstat (limited to 'jetty-client/src/test/java/org/eclipse/jetty/client/HttpHeadersTest.java')
-rw-r--r-- | jetty-client/src/test/java/org/eclipse/jetty/client/HttpHeadersTest.java | 109 |
1 files changed, 52 insertions, 57 deletions
diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpHeadersTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpHeadersTest.java index 0737c01f64..60ae2f9e43 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpHeadersTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpHeadersTest.java @@ -4,11 +4,11 @@ // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // and Apache License v2.0 which accompanies this distribution. -// The Eclipse Public License is available at +// The Eclipse Public License is available at // http://www.eclipse.org/legal/epl-v10.html // The Apache License v2.0 is available at // http://www.opensource.org/licenses/apache2.0.php -// You may elect to redistribute this code under either of these licenses. +// You may elect to redistribute this code under either of these licenses. // ======================================================================== package org.eclipse.jetty.client; @@ -18,13 +18,10 @@ import java.io.IOException; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; - import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import junit.framework.TestCase; - import org.eclipse.jetty.http.HttpMethods; import org.eclipse.jetty.http.HttpStatus; import org.eclipse.jetty.server.Connector; @@ -32,10 +29,16 @@ import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.server.nio.SelectChannelConnector; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; -public class HttpHeadersTest extends TestCase +public class HttpHeadersTest { - private static String _content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In quis felis nunc. " + private static final String CONTENT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In quis felis nunc. " + "Quisque suscipit mauris et ante auctor ornare rhoncus lacus aliquet. Pellentesque " + "habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. " + "Vestibulum sit amet felis augue, vel convallis dolor. Cras accumsan vehicula diam " @@ -48,75 +51,67 @@ public class HttpHeadersTest extends TestCase + "Aliquam purus mauris, consectetur nec convallis lacinia, porta sed ante. Suspendisse " + "et cursus magna. Donec orci enim, molestie a lobortis eu, imperdiet vitae neque."; - private File _docRoot; private Server _server; - private Connector _connector; private TestHeaderHandler _handler; private int _port; - public void setUp() throws Exception + @Before + public void init() throws Exception { - _docRoot = new File("target/test-output/docroot/"); - _docRoot.mkdirs(); - _docRoot.deleteOnExit(); + File docRoot = new File("target/test-output/docroot/"); + if (!docRoot.exists()) + assertTrue(docRoot.mkdirs()); + docRoot.deleteOnExit(); + + _server = new Server(); + Connector connector = new SelectChannelConnector(); + _server.addConnector(connector); + + _handler = new TestHeaderHandler(); + _server.setHandler(_handler); + + _server.start(); - startServer(); + _port = connector.getLocalPort(); } - public void tearDown() throws Exception + @After + public void destroy() throws Exception { - stopServer(); + _server.stop(); + _server.join(); } + @Test public void testHttpHeaders() throws Exception { - HttpClient client = new HttpClient(); - client.setConnectorType(HttpClient.CONNECTOR_SELECT_CHANNEL); - client.start(); - - String requestUrl = "http://localhost:" + _port + "/header"; - - ContentExchange exchange = new ContentExchange(); - exchange.setURL(requestUrl); - exchange.setMethod(HttpMethods.GET); - exchange.addRequestHeader("User-Agent","Jetty-Client/7.0"); - - client.send(exchange); - int state = exchange.waitForDone(); - - String content = ""; - int responseStatus = exchange.getResponseStatus(); - if (responseStatus == HttpStatus.OK_200) + HttpClient httpClient = new HttpClient(); + httpClient.setConnectorType(HttpClient.CONNECTOR_SELECT_CHANNEL); + httpClient.start(); + try { - content = exchange.getResponseContent(); - } - - assertEquals(HttpStatus.OK_200,responseStatus); - assertEquals(_content,content); - assertEquals("Jetty-Client/7.0",_handler.headers.get("User-Agent")); - } - - protected void startServer() throws Exception - { - _server = new Server(0); + String requestUrl = "http://localhost:" + _port + "/header"; - _connector = new SelectChannelConnector(); - _server.addConnector(_connector); + ContentExchange exchange = new ContentExchange(); + exchange.setURL(requestUrl); + exchange.setMethod(HttpMethods.GET); + exchange.addRequestHeader("User-Agent","Jetty-Client/7.0"); - _handler = new TestHeaderHandler(); - _server.setHandler(_handler); + httpClient.send(exchange); - _server.start(); + int state = exchange.waitForDone(); + assertEquals(HttpExchange.STATUS_COMPLETED, state); + int responseStatus = exchange.getResponseStatus(); + assertEquals(HttpStatus.OK_200,responseStatus); - _port = _connector.getLocalPort(); - } + String content = exchange.getResponseContent(); - protected void stopServer() throws Exception - { - if (_server != null) + assertEquals(HttpHeadersTest.CONTENT,content); + assertEquals("Jetty-Client/7.0",_handler.headers.get("User-Agent")); + } + finally { - _server.stop(); - _server = null; + httpClient.stop(); } } @@ -138,7 +133,7 @@ public class HttpHeadersTest extends TestCase response.setContentType("text/plain"); response.setStatus(HttpServletResponse.SC_OK); - response.getWriter().print(_content); + response.getWriter().print(CONTENT); baseRequest.setHandled(true); } |