diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-07-28 12:54:37 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-07-28 14:51:34 +0200 |
commit | 34ec3d76225844cfed51e407b2f41cd3e311bf47 (patch) | |
tree | 8e8dccbd556c4fce1fba37cdf379538d61fe4922 /container-search/src/test/java/com/yahoo/search/handler | |
parent | 30b533c56ff0286aa3831889f46ba7c19e393ec0 (diff) |
Convert container-search to junit5
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/handler')
3 files changed, 257 insertions, 138 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/handler/JSONSearchHandlerTestCase.java b/container-search/src/test/java/com/yahoo/search/handler/JSONSearchHandlerTestCase.java index b0b88bf8190..83022ccf3ff 100644 --- a/container-search/src/test/java/com/yahoo/search/handler/JSONSearchHandlerTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/handler/JSONSearchHandlerTestCase.java @@ -17,12 +17,11 @@ import com.yahoo.slime.Inspector; import com.yahoo.slime.SlimeUtils; import com.yahoo.test.json.JsonTestHelper; import org.assertj.core.api.Assertions; -import org.junit.After; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.ByteArrayInputStream; import java.io.File; @@ -32,12 +31,12 @@ import java.util.Map; import java.util.Random; import static com.yahoo.jdisc.http.HttpRequest.Method.GET; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotSame; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * Tests submitting the query as JSON. @@ -56,16 +55,16 @@ public class JSONSearchHandlerTestCase { private static final String uri = "http://localhost?"; private static final String JSON_CONTENT_TYPE = "application/json"; - @Rule - public TemporaryFolder tempfolder = new TemporaryFolder(); + @TempDir + public File tempfolder; private RequestHandlerTestDriver driver = null; private HandlersConfigurerTestWrapper configurer = null; private SearchHandler searchHandler; - @Before + @BeforeEach public void startUp() throws IOException { - File cfgDir = tempfolder.newFolder("SearchHandlerTestCase"); + File cfgDir = newFolder(tempfolder, "SearchHandlerTestCase"); tempDir = cfgDir.getAbsolutePath(); String configId = "dir:" + tempDir; @@ -77,7 +76,7 @@ public class JSONSearchHandlerTestCase { driver = new RequestHandlerTestDriver(searchHandler); } - @After + @AfterEach public void shutDown() { if (configurer != null) configurer.shutdown(); if (driver != null) driver.close(); @@ -96,7 +95,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testBadJSON() { + void testBadJSON() { String json = "Not a valid JSON-string"; RequestHandlerTestDriver.MockResponseHandler responseHandler = driver.sendRequest(uri, com.yahoo.jdisc.http.HttpRequest.Method.POST, json, JSON_CONTENT_TYPE); String response = responseHandler.readAll(); @@ -106,7 +105,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testFailing() { + void testFailing() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "test"); json.put("searchChain", "classLoadingError"); @@ -115,7 +114,7 @@ public class JSONSearchHandlerTestCase { @Test - public synchronized void testPluginError() { + synchronized void testPluginError() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "test"); json.put("searchChain", "exceptionInPlugin"); @@ -123,7 +122,7 @@ public class JSONSearchHandlerTestCase { } @Test - public synchronized void testWorkingReconfiguration() throws IOException { + synchronized void testWorkingReconfiguration() throws IOException { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "abc"); assertJsonResult(json, driver); @@ -135,22 +134,22 @@ public class JSONSearchHandlerTestCase { // ...and check the resulting config SearchHandler newSearchHandler = fetchSearchHandler(configurer); - assertNotSame("Have a new instance of the search handler", searchHandler, newSearchHandler); - assertNotNull("Have the new search chain", fetchSearchHandler(configurer).getSearchChainRegistry().getChain("hello")); - assertNull("Don't have the new search chain", fetchSearchHandler(configurer).getSearchChainRegistry().getChain("classLoadingError")); + assertNotSame(searchHandler, newSearchHandler, "Have a new instance of the search handler"); + assertNotNull(fetchSearchHandler(configurer).getSearchChainRegistry().getChain("hello"), "Have the new search chain"); + assertNull(fetchSearchHandler(configurer).getSearchChainRegistry().getChain("classLoadingError"), "Don't have the new search chain"); try (RequestHandlerTestDriver newDriver = new RequestHandlerTestDriver(newSearchHandler)) { assertJsonResult(json, newDriver); } } @Test - public void testInvalidYqlQuery() throws IOException { + void testInvalidYqlQuery() throws IOException { IOUtils.copyDirectory(new File(testDir, "config_yql"), new File(tempDir), 1); generateComponentsConfigForActive(); configurer.reloadConfig(); SearchHandler newSearchHandler = fetchSearchHandler(configurer); - assertTrue("Do I have a new instance of the search handler?", searchHandler != newSearchHandler); + assertTrue(searchHandler != newSearchHandler, "Do I have a new instance of the search handler?"); try (RequestHandlerTestDriver newDriver = new RequestHandlerTestDriver(newSearchHandler)) { ObjectNode json = jsonMapper.createObjectNode(); json.put("yql", "selectz * from foo where bar > 1453501295"); @@ -162,7 +161,7 @@ public class JSONSearchHandlerTestCase { // Query handling takes a different code path when a query profile is active, so we test both paths. @Test - public void testInvalidQueryParamWithQueryProfile() throws IOException { + void testInvalidQueryParamWithQueryProfile() throws IOException { try (RequestHandlerTestDriver newDriver = driverWithConfig("config_invalid_param")) { testInvalidQueryParam(newDriver); } @@ -182,7 +181,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testNormalResultJsonAliasRendering() { + void testNormalResultJsonAliasRendering() { ObjectNode json = jsonMapper.createObjectNode(); json.put("format", "json"); json.put("query", "abc"); @@ -190,7 +189,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testNullQuery() { + void testNullQuery() { ObjectNode json = jsonMapper.createObjectNode(); json.put("format", "xml"); @@ -204,7 +203,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testWebServiceStatus() { + void testWebServiceStatus() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "web_service_status_code"); RequestHandlerTestDriver.MockResponseHandler responseHandler = @@ -215,14 +214,14 @@ public class JSONSearchHandlerTestCase { } @Test - public void testNormalResultImplicitDefaultRendering() { + void testNormalResultImplicitDefaultRendering() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "abc"); assertJsonResult(json, driver); } @Test - public void testNormalResultExplicitDefaultRendering() { + void testNormalResultExplicitDefaultRendering() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "abc"); json.put("format", "default"); @@ -230,7 +229,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testNormalResultXmlAliasRendering() { + void testNormalResultXmlAliasRendering() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "abc"); json.put("format", "xml"); @@ -238,7 +237,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testNormalResultExplicitDefaultRenderingFullRendererName1() { + void testNormalResultExplicitDefaultRenderingFullRendererName1() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "abc"); json.put("format", "XmlRenderer"); @@ -246,7 +245,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testNormalResultExplicitDefaultRenderingFullRendererName2() { + void testNormalResultExplicitDefaultRenderingFullRendererName2() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "abc"); json.put("format", "JsonRenderer"); @@ -303,12 +302,12 @@ public class JSONSearchHandlerTestCase { configurer.reloadConfig(); SearchHandler newSearchHandler = fetchSearchHandler(configurer); - assertTrue("Do I have a new instance of the search handler?", searchHandler != newSearchHandler); + assertTrue(searchHandler != newSearchHandler, "Do I have a new instance of the search handler?"); return new RequestHandlerTestDriver(newSearchHandler); } @Test - public void testSelectParameters() throws IOException { + void testSelectParameters() throws IOException { ObjectNode json = jsonMapper.createObjectNode(); ObjectNode select = jsonMapper.createObjectNode(); @@ -335,7 +334,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testJsonQueryWithSelectWhere() { + void testJsonQueryWithSelectWhere() { ObjectNode root = jsonMapper.createObjectNode(); ObjectNode select = jsonMapper.createObjectNode(); ObjectNode where = jsonMapper.createObjectNode(); @@ -349,28 +348,28 @@ public class JSONSearchHandlerTestCase { // Run query String result = driver.sendRequest(uri + "searchChain=echoingQuery", com.yahoo.jdisc.http.HttpRequest.Method.POST, root.toString(), JSON_CONTENT_TYPE).readAll(); assertEquals("{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where default contains \\\"bad\\\"\"}}]}}", - result); + result); } @Test - public void testJsonWithWhereAndGroupingUnderSelect() { + void testJsonWithWhereAndGroupingUnderSelect() { String query = "{\n" + - " \"select\": {\n" + - " \"where\": {\n" + - " \"contains\": [\n" + - " \"field\",\n" + - " \"term\"\n" + - " ]\n" + - " },\n" + - " \"grouping\":[\n" + - " {\n" + - " \"all\": {\n" + - " \"output\": \"count()\"\n" + - " }\n" + - " }\n" + - " ]\n" + - " }\n" + - "}\n"; + " \"select\": {\n" + + " \"where\": {\n" + + " \"contains\": [\n" + + " \"field\",\n" + + " \"term\"\n" + + " ]\n" + + " },\n" + + " \"grouping\":[\n" + + " {\n" + + " \"all\": {\n" + + " \"output\": \"count()\"\n" + + " }\n" + + " }\n" + + " ]\n" + + " }\n" + + "}\n"; String result = driver.sendRequest(uri + "searchChain=echoingQuery", com.yahoo.jdisc.http.HttpRequest.Method.POST, query, JSON_CONTENT_TYPE).readAll(); String expected = "{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where field contains \\\"term\\\" | all(output(count()))\"}}]}}"; @@ -378,22 +377,22 @@ public class JSONSearchHandlerTestCase { } @Test - public void testJsonWithWhereAndGroupingSeparate() { + void testJsonWithWhereAndGroupingSeparate() { String query = "{\n" + - " \"select.where\": {\n" + - " \"contains\": [\n" + - " \"field\",\n" + - " \"term\"\n" + - " ]\n" + - " },\n" + - " \"select.grouping\":[\n" + - " {\n" + - " \"all\": {\n" + - " \"output\": \"count()\"\n" + - " }\n" + - " }\n" + - " ]\n" + - "}\n"; + " \"select.where\": {\n" + + " \"contains\": [\n" + + " \"field\",\n" + + " \"term\"\n" + + " ]\n" + + " },\n" + + " \"select.grouping\":[\n" + + " {\n" + + " \"all\": {\n" + + " \"output\": \"count()\"\n" + + " }\n" + + " }\n" + + " ]\n" + + "}\n"; String result = driver.sendRequest(uri + "searchChain=echoingQuery", com.yahoo.jdisc.http.HttpRequest.Method.POST, query, JSON_CONTENT_TYPE).readAll(); String expected = "{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where field contains \\\"term\\\" | all(output(count()))\"}}]}}"; @@ -401,18 +400,18 @@ public class JSONSearchHandlerTestCase { } @Test - public void testJsonQueryWithYQL() { + void testJsonQueryWithYQL() { ObjectNode root = jsonMapper.createObjectNode(); root.put("yql", "select * from sources * where default contains 'bad';"); // Run query String result = driver.sendRequest(uri + "searchChain=echoingQuery", com.yahoo.jdisc.http.HttpRequest.Method.POST, root.toString(), JSON_CONTENT_TYPE).readAll(); assertEquals("{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where default contains \\\"bad\\\"\"}}]}}", - result); + result); } @Test - public void testRequestMapping() { + void testRequestMapping() { ObjectNode json = jsonMapper.createObjectNode(); json.put("yql", "select * from sources * where sddocname contains \"blog_post\" limit 0 | all(group(date) max(3) order(-count())each(output(count())))"); json.put("hits", 10); @@ -529,7 +528,7 @@ public class JSONSearchHandlerTestCase { } @Test - public void testContentTypeParsing() { + void testContentTypeParsing() { ObjectNode json = jsonMapper.createObjectNode(); json.put("query", "abc"); assertOkResult(driver.sendRequest(uri, com.yahoo.jdisc.http.HttpRequest.Method.POST, json.toString(), "Application/JSON; charset=utf-8"), jsonResult); @@ -546,7 +545,7 @@ public class JSONSearchHandlerTestCase { sb.append("]}"); return sb.toString(); } - @Ignore + @Disabled public void benchmarkJsonParsing() { String request = createBenchmarkRequest(768); for (int i=0; i < 10000; i++) { @@ -558,4 +557,13 @@ public class JSONSearchHandlerTestCase { } } + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } + } diff --git a/container-search/src/test/java/com/yahoo/search/handler/Json2SinglelevelMapTestCase.java b/container-search/src/test/java/com/yahoo/search/handler/Json2SinglelevelMapTestCase.java index c50b063ff44..e421365b541 100644 --- a/container-search/src/test/java/com/yahoo/search/handler/Json2SinglelevelMapTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/handler/Json2SinglelevelMapTestCase.java @@ -1,17 +1,17 @@ package com.yahoo.search.handler; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; import java.nio.charset.StandardCharsets; import java.util.Map; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; public class Json2SinglelevelMapTestCase { @Test - public void testDecodeString() { + void testDecodeString() { Map<String, String> m = new Json2SingleLevelMap(new ByteArrayInputStream("{\"yql\":\"text\", \"f1\":7.3, \"i1\":7, \"t\":true, \"f\":false, \"n\":null, \"a\":[0.786, 0.193]}".getBytes(StandardCharsets.UTF_8))).parse(); assertEquals(7, m.size()); assertTrue(m.containsKey("yql")); @@ -29,8 +29,9 @@ public class Json2SinglelevelMapTestCase { assertEquals("null", m.get("n")); assertEquals("[0.786, 0.193]", m.get("a")); } + @Test - public void testThatWeAllowSingleQuotes() { + void testThatWeAllowSingleQuotes() { Map<String, String> m = new Json2SingleLevelMap(new ByteArrayInputStream("{'yql':'text'}".getBytes(StandardCharsets.UTF_8))).parse(); assertTrue(m.containsKey("yql")); assertEquals("text", m.get("yql")); diff --git a/container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java b/container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java index a0374570b69..eb461d6211f 100644 --- a/container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java +++ b/container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java @@ -23,12 +23,11 @@ import com.yahoo.search.result.Hit; import com.yahoo.search.result.Relevance; import com.yahoo.search.searchchain.Execution; import com.yahoo.search.searchchain.config.test.SearchChainConfigurerTestCase; -import org.junit.After; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.ByteArrayInputStream; import java.io.File; @@ -37,13 +36,7 @@ import java.net.URI; import java.util.concurrent.Executors; import static com.yahoo.yolean.Exceptions.uncheckInterrupted; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.*; /** * @author bratseth @@ -56,17 +49,17 @@ public class SearchHandlerTest { private static String tempDir = ""; - @Rule - public TemporaryFolder tempfolder = new TemporaryFolder(); + @TempDir + public File tempfolder; private RequestHandlerTestDriver driver = null; private HandlersConfigurerTestWrapper configurer = null; private MockMetric metric; private SearchHandler searchHandler; - @Before + @BeforeEach public void startUp() throws IOException { - File cfgDir = tempfolder.newFolder("SearchHandlerTestCase"); + File cfgDir = newFolder(tempfolder, "SearchHandlerTestCase"); tempDir = cfgDir.getAbsolutePath(); String configId = "dir:" + tempDir; @@ -79,7 +72,7 @@ public class SearchHandlerTest { driver = new RequestHandlerTestDriver(searchHandler); } - @After + @AfterEach public void shutDown() { if (configurer != null) configurer.shutdown(); if (driver != null) driver.close(); @@ -98,30 +91,30 @@ public class SearchHandlerTest { } @Test - public void testNullQuery() { + void testNullQuery() { assertEquals("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + - "<result total-hit-count=\"0\">\n" + - " <hit relevancy=\"1.0\">\n" + - " <field name=\"relevancy\">1.0</field>\n" + - " <field name=\"uri\">testHit</field>\n" + - " </hit>\n" + - "</result>\n", - driver.sendRequest("http://localhost?format=xml").readAll() - ); + "<result total-hit-count=\"0\">\n" + + " <hit relevancy=\"1.0\">\n" + + " <field name=\"relevancy\">1.0</field>\n" + + " <field name=\"uri\">testHit</field>\n" + + " </hit>\n" + + "</result>\n", + driver.sendRequest("http://localhost?format=xml").readAll() + ); } @Test - public void testFailing() { - assertTrue(driver.sendRequest("http://localhost?query=test&searchChain=classLoadingError").readAll().contains("NoClassDefFoundError")); + void testFailing() { + assertTrue(driver.sendRequest("http://localhost?query=test&searchChain=classLoadingError").readAll().contains("NoClassDefFoundError")); } @Test - public synchronized void testPluginError() { + synchronized void testPluginError() { assertTrue(driver.sendRequest("http://localhost?query=test&searchChain=exceptionInPlugin").readAll().contains("NullPointerException")); } @Test - public synchronized void testWorkingReconfiguration() throws Exception { + synchronized void testWorkingReconfiguration() throws Exception { assertJsonResult("http://localhost?query=abc", driver); // reconfiguration @@ -131,17 +124,17 @@ public class SearchHandlerTest { // ...and check the resulting config SearchHandler newSearchHandler = fetchSearchHandler(configurer); - assertNotSame("Have a new instance of the search handler", searchHandler, newSearchHandler); - assertNotNull("Have the new search chain", fetchSearchHandler(configurer).getSearchChainRegistry().getChain("hello")); - assertNull("Don't have the new search chain", fetchSearchHandler(configurer).getSearchChainRegistry().getChain("classLoadingError")); + assertNotSame(searchHandler, newSearchHandler, "Have a new instance of the search handler"); + assertNotNull(fetchSearchHandler(configurer).getSearchChainRegistry().getChain("hello"), "Have the new search chain"); + assertNull(fetchSearchHandler(configurer).getSearchChainRegistry().getChain("classLoadingError"), "Don't have the new search chain"); try (RequestHandlerTestDriver newDriver = new RequestHandlerTestDriver(newSearchHandler)) { assertJsonResult("http://localhost?query=abc", newDriver); } } @Test - @Ignore //TODO: Must be done at the ConfiguredApplication level, not handlers configurer? Also, this must be rewritten as the above - public synchronized void testFailedReconfiguration() throws Exception { + @Disabled //TODO: Must be done at the ConfiguredApplication level, not handlers configurer? Also, this must be rewritten as the above + synchronized void testFailedReconfiguration() throws Exception { assertXmlResult(driver); // attempt reconfiguration @@ -150,15 +143,15 @@ public class SearchHandlerTest { configurer.reloadConfig(); SearchHandler newSearchHandler = fetchSearchHandler(configurer); RequestHandler newMockHandler = configurer.getRequestHandlerRegistry().getComponent("com.yahoo.search.handler.test.MockHandler"); - assertSame("Reconfiguration failed: Kept the existing instance of the search handler", searchHandler, newSearchHandler); - assertNull("Reconfiguration failed: No mock handler", newMockHandler); + assertSame(searchHandler, newSearchHandler, "Reconfiguration failed: Kept the existing instance of the search handler"); + assertNull(newMockHandler, "Reconfiguration failed: No mock handler"); try (RequestHandlerTestDriver newDriver = new RequestHandlerTestDriver(searchHandler)) { assertXmlResult(newDriver); } } @Test - public void testResponseBasics() { + void testResponseBasics() { Query q = new Query("?query=dummy&tracelevel=3"); q.trace("nalle", 1); Result r = new Result(q); @@ -172,13 +165,13 @@ public class SearchHandlerTest { } @Test - public void testInvalidYqlQuery() throws Exception { + void testInvalidYqlQuery() throws Exception { IOUtils.copyDirectory(new File(testDir, "config_yql"), new File(tempDir), 1); generateComponentsConfigForActive(); configurer.reloadConfig(); SearchHandler newSearchHandler = fetchSearchHandler(configurer); - assertNotSame("Have a new instance of the search handler", searchHandler, newSearchHandler); + assertNotSame(searchHandler, newSearchHandler, "Have a new instance of the search handler"); try (RequestHandlerTestDriver newDriver = new RequestHandlerTestDriver(newSearchHandler)) { RequestHandlerTestDriver.MockResponseHandler responseHandler = newDriver.sendRequest( "http://localhost/search/?yql=select%20*%20from%20foo%20where%20bar%20%3E%201453501295%27%3B"); @@ -189,7 +182,7 @@ public class SearchHandlerTest { } @Test - public void testRequestType() throws Exception { + void testRequestType() throws Exception { IOUtils.copyDirectory(new File(testDir, "config_yql"), new File(tempDir), 1); generateComponentsConfigForActive(); configurer.reloadConfig(); @@ -205,14 +198,14 @@ public class SearchHandlerTest { // Query handling takes a different code path when a query profile is active, so we test both paths. @Test - public void testInvalidQueryParamWithQueryProfile() throws Exception { + void testInvalidQueryParamWithQueryProfile() throws Exception { try (RequestHandlerTestDriver newDriver = driverWithConfig("config_invalid_param")) { testInvalidQueryParam(newDriver); } } @Test - public void testInvalidQueryParamWithoutQueryProfile() { + void testInvalidQueryParamWithoutQueryProfile() { testInvalidQueryParam(driver); } private void testInvalidQueryParam(final RequestHandlerTestDriver testDriver) { @@ -225,7 +218,7 @@ public class SearchHandlerTest { } @Test - public void testResultStatus() { + void testResultStatus() { assertEquals(200, httpStatus(result().build())); assertEquals(200, httpStatus(result().withHit().build())); assertEquals(200, httpStatus(result().withGroups().build())); @@ -238,7 +231,7 @@ public class SearchHandlerTest { } @Test - public void testWebServiceStatus() { + void testWebServiceStatus() { RequestHandlerTestDriver.MockResponseHandler responseHandler = driver.sendRequest("http://localhost/search/?query=web_service_status_code"); String response = responseHandler.readAll(); @@ -247,32 +240,32 @@ public class SearchHandlerTest { } @Test - public void testNormalResultImplicitDefaultRendering() { + void testNormalResultImplicitDefaultRendering() { assertJsonResult("http://localhost?query=abc", driver); } @Test - public void testNormalResultExplicitDefaultRendering() { + void testNormalResultExplicitDefaultRendering() { assertJsonResult("http://localhost?query=abc&format=default", driver); } @Test - public void testNormalResultXmlAliasRendering() { + void testNormalResultXmlAliasRendering() { assertXmlResult("http://localhost?query=abc&format=xml", driver); } @Test - public void testNormalResultJsonAliasRendering() { + void testNormalResultJsonAliasRendering() { assertJsonResult("http://localhost?query=abc&format=json", driver); } @Test - public void testNormalResultExplicitDefaultRenderingFullRendererName1() { + void testNormalResultExplicitDefaultRenderingFullRendererName1() { assertXmlResult("http://localhost?query=abc&format=XmlRenderer", driver); } @Test - public void testNormalResultExplicitDefaultRenderingFullRendererName2() { + void testNormalResultExplicitDefaultRenderingFullRendererName2() { assertJsonResult("http://localhost?query=abc&format=JsonRenderer", driver); } @@ -319,7 +312,7 @@ public class SearchHandlerTest { } @Test - public void testFaultyHandlers() throws Exception { + void testFaultyHandlers() throws Exception { assertHandlerResponse(500, null, "NullReturning"); assertHandlerResponse(500, null, "NullReturningAsync"); assertHandlerResponse(500, null, "Throwing"); @@ -327,7 +320,7 @@ public class SearchHandlerTest { } @Test - public void testForwardingHandlers() throws Exception { + void testForwardingHandlers() throws Exception { assertHandlerResponse(200, jsonResult, "ForwardingAsync"); // Fails because we are forwarding from a sync to an async handler - @@ -341,9 +334,9 @@ public class SearchHandlerTest { try (RequestHandlerTestDriver forwardingDriver = new RequestHandlerTestDriver(forwardingHandler)) { RequestHandlerTestDriver.MockResponseHandler response = forwardingDriver.sendRequest("http://localhost/" + handlerName + "?query=test"); response.awaitResponse(); - assertEquals("Expected HTTP status", status, response.getStatus()); + assertEquals(status, response.getStatus(), "Expected HTTP status"); if (responseData == null) - assertNull("Connection closed with no data", response.read()); + assertNull(response.read(), "Connection closed with no data"); else assertEquals(responseData, response.readAll()); } @@ -355,7 +348,7 @@ public class SearchHandlerTest { configurer.reloadConfig(); SearchHandler newSearchHandler = fetchSearchHandler(configurer); - assertNotSame("Should have a new instance of the search handler", searchHandler, newSearchHandler); + assertNotSame(searchHandler, newSearchHandler, "Should have a new instance of the search handler"); return new RequestHandlerTestDriver(newSearchHandler); } @@ -387,6 +380,15 @@ public class SearchHandlerTest { return result; } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } /** Referenced from config */ @@ -396,6 +398,15 @@ public class SearchHandlerTest { public Result search(Query query, Execution execution) { throw new NoClassDefFoundError(); // Simulate typical OSGi problem } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } /** Referenced from config */ @@ -411,6 +422,15 @@ public class SearchHandlerTest { } return result; } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } /** Referenced from config */ @@ -422,6 +442,15 @@ public class SearchHandlerTest { result.hits().add(new Hit("HelloWorld")); return result; } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } /** Referenced from config */ @@ -435,6 +464,15 @@ public class SearchHandlerTest { result.hits().add(hit); return result; } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } /** Referenced from config */ @@ -459,6 +497,15 @@ public class SearchHandlerTest { } } + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } + } /** Referenced from config */ @@ -483,6 +530,15 @@ public class SearchHandlerTest { } } + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } + } /** Referenced from config */ @@ -497,6 +553,15 @@ public class SearchHandlerTest { return null; } + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } + } /** Referenced from config */ @@ -511,6 +576,15 @@ public class SearchHandlerTest { return null; } + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } + } /** Referenced from config */ @@ -525,6 +599,15 @@ public class SearchHandlerTest { throw new RuntimeException(); } + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } + } /** Referenced from config */ @@ -539,6 +622,15 @@ public class SearchHandlerTest { throw new RuntimeException(); } + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } + } private ResultBuilder result() { return new ResultBuilder(); } @@ -564,6 +656,24 @@ public class SearchHandlerTest { public Result build() { return result; } + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } + + } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; } } |