Skip to content

Commit 655a3f8

Browse files
committed
simplify test case setup
1 parent 95ebeee commit 655a3f8

File tree

10 files changed

+148
-87
lines changed

10 files changed

+148
-87
lines changed

src/test/java/org/htmlunit/HistoryTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public void post() throws Exception {
5454
servlets.put("/post1", Post1Servlet.class);
5555
servlets.put("/post2", Post2Servlet.class);
5656
servlets.put("/post3", Post3Servlet.class);
57-
startWebServer("./", new String[0], servlets);
57+
startWebServer("./", servlets);
5858

5959
final WebDriver driver = getWebDriver();
6060
driver.get(URL_FIRST + "post1");
@@ -95,7 +95,7 @@ public void historyCache() throws Exception {
9595
for (int i = 0; i < testDeep; i++) {
9696
servlets.put("/post" + i, Post1Servlet.class);
9797
}
98-
startWebServer("./", new String[0], servlets);
98+
startWebServer("./", servlets);
9999

100100
final WebDriver driver = getWebDriver();
101101

src/test/java/org/htmlunit/HttpWebConnectionProxyTest.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.net.URL;
1818

1919
import org.eclipse.jetty.server.Server;
20+
import org.htmlunit.util.JettyServerUtils;
2021
import org.htmlunit.util.UrlUtils;
2122
import org.junit.jupiter.api.AfterEach;
2223
import org.junit.jupiter.api.BeforeEach;
@@ -58,10 +59,7 @@ public void setup() throws Exception {
5859
@Override
5960
@AfterEach
6061
public void tearDown() throws Exception {
61-
if (proxyWebServer_ != null) {
62-
proxyWebServer_.stop();
63-
proxyWebServer_.destroy();
64-
}
62+
JettyServerUtils.stopServer(proxyWebServer_);
6563
proxyWebServer_ = null;
6664

6765
super.tearDown();

src/test/java/org/htmlunit/WebDriverTestCase.java

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -474,23 +474,15 @@ protected static void assertWebServersStopped() throws Exception {
474474
* @throws Exception if it fails
475475
*/
476476
protected static void stopWebServers() throws Exception {
477-
if (STATIC_SERVER_ != null) {
478-
STATIC_SERVER_.stop();
479-
STATIC_SERVER_.destroy();
480-
STATIC_SERVER_ = null;
481-
}
477+
JettyServerUtils.stopServer(STATIC_SERVER_);
478+
STATIC_SERVER_ = null;
482479

483-
if (STATIC_SERVER2_ != null) {
484-
STATIC_SERVER2_.stop();
485-
STATIC_SERVER2_.destroy();
486-
STATIC_SERVER2_ = null;
487-
}
480+
JettyServerUtils.stopServer(STATIC_SERVER2_);
481+
STATIC_SERVER2_ = null;
482+
483+
JettyServerUtils.stopServer(STATIC_SERVER3_);
484+
STATIC_SERVER3_ = null;
488485

489-
if (STATIC_SERVER3_ != null) {
490-
STATIC_SERVER3_.stop();
491-
STATIC_SERVER3_.destroy();
492-
STATIC_SERVER3_ = null;
493-
}
494486
LAST_TEST_UsesMockWebConnection_ = null;
495487
}
496488

@@ -712,15 +704,13 @@ protected static void startWebServer(final String resourceBase, final Map<String
712704
* <p><b>Don't forget to stop the returned HttpServer after the test</b>
713705
*
714706
* @param resourceBase the base of resources for the default context
715-
* @param classpath additional classpath entries to add (may be null)
716707
* @param servlets map of {String, Class} pairs: String is the path spec, while class is the class
717708
* @throws Exception if the test fails
718709
*/
719-
protected static void startWebServer2(final String resourceBase, final String[] classpath,
720-
final Map<String, Class<? extends Servlet>> servlets) throws Exception {
710+
protected static void startWebServer2(final String resourceBase, final Map<String, Class<? extends Servlet>> servlets) throws Exception {
721711

722712
if (STATIC_SERVER2_ != null) {
723-
STATIC_SERVER2_.stop();
713+
JettyServerUtils.stopServer(STATIC_SERVER2_);
724714
}
725715
STATIC_SERVER2_STARTER_ = ExceptionUtils.getStackTrace(new Throwable("StaticServer2Starter"));
726716
STATIC_SERVER2_ = WebServerTestCase.createWebServer(PORT2, resourceBase, servlets);
@@ -988,7 +978,7 @@ protected final WebDriver loadPage2(final String html, final URL url,
988978

989979
startWebServer("./", servlets);
990980
if (servlets2 != null) {
991-
startWebServer2("./", null, servlets2);
981+
startWebServer2("./", servlets2);
992982
}
993983

994984
WebDriver driver = getWebDriver();

src/test/java/org/htmlunit/WebServerTestCase.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,8 @@ protected void startWebServer(final String resourceBase,
132132
*/
133133
@AfterEach
134134
public void tearDown() throws Exception {
135-
if (server_ != null) {
136-
server_.stop();
137-
server_.destroy();
138-
server_ = null;
139-
}
135+
JettyServerUtils.stopServer(server_);
136+
server_ = null;
140137

141138
stopWebServer();
142139
}
@@ -241,11 +238,8 @@ protected void startWebServer(final MockWebConnection mockConnection) throws Exc
241238
* @throws Exception if it fails
242239
*/
243240
protected static void stopWebServer() throws Exception {
244-
if (STATIC_SERVER_ != null) {
245-
STATIC_SERVER_.stop();
246-
STATIC_SERVER_.destroy();
247-
STATIC_SERVER_ = null;
248-
}
241+
JettyServerUtils.stopServer(STATIC_SERVER_);
242+
STATIC_SERVER_ = null;
249243
}
250244

251245
/**

src/test/java/org/htmlunit/javascript/host/xml/XMLHttpRequestCORSTest.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public void simple() throws Exception {
112112
SimpleServerServlet.ACCESS_CONTROL_ALLOW_ORIGIN_ = "*";
113113
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
114114
servlets2.put("/simple2", SimpleServerServlet.class);
115-
startWebServer2(".", null, servlets2);
115+
startWebServer2(".", servlets2);
116116

117117
final List<NameValuePair> responseHeader = new ArrayList<>();
118118
responseHeader.add(new NameValuePair("Set-Cookie", "cookie=sweet"));
@@ -155,7 +155,7 @@ public void simpleHead() throws Exception {
155155
SimpleServerServlet.ACCESS_CONTROL_ALLOW_ORIGIN_ = "*";
156156
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
157157
servlets2.put("/simple2", SimpleServerServlet.class);
158-
startWebServer2(".", null, servlets2);
158+
startWebServer2(".", servlets2);
159159

160160
loadPage2(html, new URL(URL_FIRST, "/simple1"));
161161
verifyTitle2(getWebDriver(), getExpectedAlerts());
@@ -191,7 +191,7 @@ public void simplePost() throws Exception {
191191
SimpleServerServlet.ACCESS_CONTROL_ALLOW_ORIGIN_ = "*";
192192
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
193193
servlets2.put("/simple2", SimpleServerServlet.class);
194-
startWebServer2(".", null, servlets2);
194+
startWebServer2(".", servlets2);
195195

196196
loadPage2(html, new URL(URL_FIRST, "/simple1"));
197197
verifyTitle2(getWebDriver(), getExpectedAlerts());
@@ -227,7 +227,7 @@ public void simplePut() throws Exception {
227227
SimpleServerServlet.ACCESS_CONTROL_ALLOW_ORIGIN_ = "*";
228228
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
229229
servlets2.put("/simple2", SimpleServerServlet.class);
230-
startWebServer2(".", null, servlets2);
230+
startWebServer2(".", servlets2);
231231

232232
loadPage2(html, new URL(URL_FIRST, "/simple1"));
233233
verifyTitle2(getWebDriver(), getExpectedAlerts());
@@ -309,7 +309,7 @@ private void incorrectAccessControlAllowOrigin(final String header) throws Excep
309309
SimpleServerServlet.ACCESS_CONTROL_ALLOW_ORIGIN_ = header;
310310
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
311311
servlets2.put("/simple2", SimpleServerServlet.class);
312-
startWebServer2(".", null, servlets2);
312+
startWebServer2(".", servlets2);
313313

314314
loadPage2(html, new URL(URL_FIRST, "/simple1"));
315315
verifyTitle2(getWebDriver(), getExpectedAlerts());
@@ -463,7 +463,7 @@ private void doPreflightTestAllowedMethods(final String allowedMethods,
463463
PreflightServerServlet.ACCESS_CONTROL_ALLOW_HEADERS_ = "X-PINGOTHER";
464464
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
465465
servlets2.put("/preflight2", PreflightServerServlet.class);
466-
startWebServer2(".", null, servlets2);
466+
startWebServer2(".", servlets2);
467467

468468
final URL url = new URL(URL_FIRST, "/preflight1");
469469

@@ -568,7 +568,7 @@ public void preflight_incorrect_headers() throws Exception {
568568
PreflightServerServlet.ACCESS_CONTROL_ALLOW_HEADERS_ = null;
569569
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
570570
servlets2.put("/preflight2", PreflightServerServlet.class);
571-
startWebServer2(".", null, servlets2);
571+
startWebServer2(".", servlets2);
572572

573573
loadPage2(html, new URL(URL_FIRST, "/preflight1"));
574574
verifyTitle2(getWebDriver(), getExpectedAlerts());
@@ -609,7 +609,7 @@ public void preflight_many_header_values() throws Exception {
609609
PreflightServerServlet.ACCESS_CONTROL_ALLOW_HEADERS_ = "X-PING, X-PONG";
610610
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
611611
servlets2.put("/preflight2", PreflightServerServlet.class);
612-
startWebServer2(".", null, servlets2);
612+
startWebServer2(".", servlets2);
613613

614614
loadPage2(html, new URL(URL_FIRST, "/preflight1"));
615615
verifyTitle2(getWebDriver(), getExpectedAlerts());
@@ -891,7 +891,7 @@ private void testWithCredentials(final String accessControlAllowOrigin,
891891
WithCredentialsServerServlet.ACCESS_CONTROL_ALLOW_CREDENTIALS_ = accessControlAllowCredentials;
892892
final Map<String, Class<? extends Servlet>> servlets2 = new HashMap<>();
893893
servlets2.put("/withCredentials2", WithCredentialsServerServlet.class);
894-
startWebServer2(".", null, servlets2);
894+
startWebServer2(".", servlets2);
895895

896896
final List<NameValuePair> responseHeader = new ArrayList<>();
897897
responseHeader.add(new NameValuePair("Set-Cookie", "cookie=sweet"));

src/test/java/org/htmlunit/libraries/gwt/GWTTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public abstract class GWTTest extends WebDriverTestCase {
3636
*/
3737
@BeforeEach
3838
public void startSesrver() throws Exception {
39-
startWebServer("src/test/resources/libraries/GWT/" + getDirectory(), null, null);
39+
startWebServer("src/test/resources/libraries/GWT/" + getDirectory(), null);
4040
}
4141

4242
/**

src/test/java/org/htmlunit/libraries/gwt/GWTTest2x11x0.java

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
import java.util.List;
1818

19+
import org.eclipse.jetty.server.Server;
20+
import org.htmlunit.util.JettyServerUtils;
1921
import org.junit.jupiter.api.Test;
2022
import org.openqa.selenium.By;
2123
import org.openqa.selenium.WebDriver;
@@ -134,18 +136,25 @@ public void showcase() throws Exception {
134136
*/
135137
@Test
136138
public void dynaTable() throws Exception {
137-
startWebServer("src/test/resources/libraries/GWT/" + getDirectory() + "/DynaTable",
138-
new String[] {"src/test/resources/libraries/GWT/" + getDirectory() + "/gwt-servlet.jar"}, null);
139-
140-
final String url = URL_FIRST + "DynaTable.html";
141-
final WebDriver driver = loadGWTPage(url,
142-
"/html/body/table/tbody/tr/td[1]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]");
143-
144-
final List<WebElement> cells = driver.findElements(By.xpath("//table[@class='table']//tr[2]/td"));
145-
assertEquals(3, cells.size());
146-
147-
textToBePresentInElement(driver, cells.get(0), "Inman Mendez");
148-
assertEquals("Majoring in Phrenology", cells.get(1).getText());
149-
assertEquals("Mon 9:45-10:35, Tues 2:15-3:05, Fri 8:45-9:35, Fri 9:45-10:35", cells.get(2).getText());
139+
stopWebServers();
140+
141+
final Server server = JettyServerUtils.startWebAppServer(PORT,
142+
"src/test/resources/libraries/GWT/" + getDirectory() + "/DynaTable",
143+
new String[] {"src/test/resources/libraries/GWT/" + getDirectory() + "/gwt-servlet.jar"});
144+
try {
145+
final String url = URL_FIRST + "DynaTable.html";
146+
final WebDriver driver = loadGWTPage(url,
147+
"/html/body/table/tbody/tr/td[1]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]");
148+
149+
final List<WebElement> cells = driver.findElements(By.xpath("//table[@class='table']//tr[2]/td"));
150+
assertEquals(3, cells.size());
151+
152+
textToBePresentInElement(driver, cells.get(0), "Inman Mendez");
153+
assertEquals("Majoring in Phrenology", cells.get(1).getText());
154+
assertEquals("Mon 9:45-10:35, Tues 2:15-3:05, Fri 8:45-9:35, Fri 9:45-10:35", cells.get(2).getText());
155+
}
156+
finally {
157+
JettyServerUtils.stopServer(server);
158+
}
150159
}
151160
}

src/test/java/org/htmlunit/libraries/gwt/GWTTest2x5x0.java

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
import java.util.List;
1818

19+
import org.eclipse.jetty.server.Server;
20+
import org.htmlunit.util.JettyServerUtils;
1921
import org.junit.jupiter.api.Test;
2022
import org.openqa.selenium.By;
2123
import org.openqa.selenium.WebDriver;
@@ -136,18 +138,26 @@ public void showcase() throws Exception {
136138
*/
137139
@Test
138140
public void dynaTable() throws Exception {
139-
startWebServer("src/test/resources/libraries/GWT/" + getDirectory() + "/DynaTable",
140-
new String[] {"src/test/resources/libraries/GWT/" + getDirectory() + "/gwt-servlet.jar"}, null);
141-
142-
final String url = URL_FIRST + "DynaTable.html";
143-
final WebDriver driver = loadGWTPage(url,
144-
"/html/body/table/tbody/tr/td[1]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]");
145-
146-
final List<WebElement> cells = driver.findElements(By.xpath("//table[@class='table']//tr[2]/td"));
147-
assertEquals(3, cells.size());
148-
149-
textToBePresentInElement(driver, cells.get(0), "Inman Mendez");
150-
assertEquals("Majoring in Phrenology", cells.get(1).getText());
151-
assertEquals("Mon 9:45-10:35, Tues 2:15-3:05, Fri 8:45-9:35, Fri 9:45-10:35", cells.get(2).getText());
141+
stopWebServers();
142+
143+
final Server server = JettyServerUtils.startWebAppServer(PORT,
144+
"src/test/resources/libraries/GWT/" + getDirectory() + "/DynaTable",
145+
new String[] {"src/test/resources/libraries/GWT/" + getDirectory() + "/gwt-servlet.jar"});
146+
try {
147+
final String url = URL_FIRST + "DynaTable.html";
148+
final WebDriver driver = loadGWTPage(url,
149+
"/html/body/table/tbody/tr/td[1]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]");
150+
151+
final List<WebElement> cells = driver.findElements(By.xpath("//table[@class='table']//tr[2]/td"));
152+
assertEquals(3, cells.size());
153+
154+
textToBePresentInElement(driver, cells.get(0), "Inman Mendez");
155+
assertEquals("Majoring in Phrenology", cells.get(1).getText());
156+
assertEquals("Mon 9:45-10:35, Tues 2:15-3:05, Fri 8:45-9:35, Fri 9:45-10:35", cells.get(2).getText());
157+
stopWebServers();
158+
}
159+
finally {
160+
JettyServerUtils.stopServer(server);
161+
}
152162
}
153163
}

src/test/java/org/htmlunit/selenium/SeleniumTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class SeleniumTest extends WebDriverTestCase {
3232
@BeforeEach
3333
public void beforeTest() {
3434
try {
35-
startWebServer("src/test/resources/selenium", null, null);
35+
startWebServer("src/test/resources/selenium", null);
3636
}
3737
catch (final Exception e) {
3838
throw new RuntimeException(e);

0 commit comments

Comments
 (0)