diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-07-29 15:44:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-29 15:44:31 +0200 |
commit | 372f6d7371d42ef23b543d4349cfeabf25ac400b (patch) | |
tree | 9af9d03b14f4a3cf4747428071574ec668e3f3f7 /clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/StateRestAPITest.java | |
parent | 5aa9bb607b7d4262c8ea13d20671f7264c3c59c5 (diff) | |
parent | 4b53d0d135fcacc5964b2720678642f182fd15d1 (diff) |
Merge pull request #23555 from vespa-engine/bjorncs/more-junit5v8.26.15
Bjorncs/more junit5
Diffstat (limited to 'clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/StateRestAPITest.java')
-rw-r--r-- | clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/StateRestAPITest.java | 335 |
1 files changed, 167 insertions, 168 deletions
diff --git a/clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/StateRestAPITest.java b/clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/StateRestAPITest.java index 0f6e9e235dc..d0378dd9065 100644 --- a/clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/StateRestAPITest.java +++ b/clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/StateRestAPITest.java @@ -9,12 +9,11 @@ import com.yahoo.vespa.clustercontroller.utils.staterestapi.errors.*; import com.yahoo.vespa.clustercontroller.utils.staterestapi.server.RestApiHandler; import com.yahoo.vespa.clustercontroller.utils.test.TestTransport; import org.codehaus.jettison.json.JSONObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Optional; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.*; public class StateRestAPITest { @@ -60,96 +59,96 @@ public class StateRestAPITest { AsyncOperation<HttpResult> op = testTransport.getClient().execute(request); AsyncUtils.waitFor(op); if (!op.isSuccess()) { // Don't call getCause() unless it fails - assertTrue(op.getCause().toString(), op.isSuccess()); + assertTrue(op.isSuccess(), op.getCause().toString()); } assertTrue(op.getResult() != null); return op.getResult(); } private JSONObject executeOkJsonRequest(HttpRequest request) { HttpResult result = execute(request); - assertEquals(result.toString(true), 200, result.getHttpReturnCode()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(200, result.getHttpReturnCode(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); return (JSONObject) result.getContent(); } @Test - public void testTopLevelList() throws Exception { + void testTopLevelList() throws Exception { setupDummyStateApi(); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2")); - assertEquals(result.toString(true), 200, result.getHttpReturnCode()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(200, result.getHttpReturnCode(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"cluster\": {\n" - + " \"foo\": {\"link\": \"\\/cluster\\/v2\\/foo\"},\n" - + " \"bar\": {\"link\": \"\\/cluster\\/v2\\/bar\"}\n" - + "}}"; + + " \"foo\": {\"link\": \"\\/cluster\\/v2\\/foo\"},\n" + + " \"bar\": {\"link\": \"\\/cluster\\/v2\\/bar\"}\n" + + "}}"; assertEquals(expected, ((JSONObject) result.getContent()).toString(2)); } @Test - public void testClusterState() throws Exception { + void testClusterState() throws Exception { setupDummyStateApi(); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo")); - assertEquals(result.toString(true), 200, result.getHttpReturnCode()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(200, result.getHttpReturnCode(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"node\": {\n" - + " \"1\": {\"link\": \"\\/cluster\\/v2\\/foo\\/1\"},\n" - + " \"3\": {\"link\": \"\\/cluster\\/v2\\/foo\\/3\"}\n" - + "}}"; + + " \"1\": {\"link\": \"\\/cluster\\/v2\\/foo\\/1\"},\n" + + " \"3\": {\"link\": \"\\/cluster\\/v2\\/foo\\/3\"}\n" + + "}}"; assertEquals(expected, ((JSONObject) result.getContent()).toString(2)); } @Test - public void testNodeState() throws Exception { + void testNodeState() throws Exception { setupDummyStateApi(); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3")); - assertEquals(result.toString(true), 200, result.getHttpReturnCode()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(200, result.getHttpReturnCode(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\n" - + " \"attributes\": {\"group\": \"mygroup\"},\n" - + " \"state\": {\"current\": {\n" - + " \"state\": \"up\",\n" - + " \"reason\": \"\"\n" - + " }},\n" - + " \"metrics\": {\"doc-count\": 8}\n" - + "}"; + + " \"attributes\": {\"group\": \"mygroup\"},\n" + + " \"state\": {\"current\": {\n" + + " \"state\": \"up\",\n" + + " \"reason\": \"\"\n" + + " }},\n" + + " \"metrics\": {\"doc-count\": 8}\n" + + "}"; assertEquals(expected, ((JSONObject) result.getContent()).toString(2)); } @Test - public void testRecursiveMode() throws Exception { + void testRecursiveMode() throws Exception { setupDummyStateApi(); { JSONObject json = executeOkJsonRequest( new HttpRequest().setPath("/cluster/v2").addUrlOption("recursive", "true")); String expected = "{\"cluster\": {\n" + - " \"foo\": {\"node\": {\n" + - " \"1\": {\n" + - " \"attributes\": {\"group\": \"mygroup\"},\n" + - " \"state\": {\"current\": {\n" + - " \"state\": \"initializing\",\n" + - " \"reason\": \"\"\n" + - " }},\n" + - " \"metrics\": {\"doc-count\": 5}\n" + - " },\n" + - " \"3\": {\n" + - " \"attributes\": {\"group\": \"mygroup\"},\n" + - " \"state\": {\"current\": {\n" + - " \"state\": \"up\",\n" + - " \"reason\": \"\"\n" + - " }},\n" + - " \"metrics\": {\"doc-count\": 8}\n" + - " }\n" + - " }},\n" + - " \"bar\": {\"node\": {\"2\": {\n" + - " \"attributes\": {\"group\": \"mygroup\"},\n" + - " \"state\": {\"current\": {\n" + - " \"state\": \"down\",\n" + - " \"reason\": \"\"\n" + - " }},\n" + - " \"metrics\": {\"doc-count\": 0}\n" + - " }}}\n" + - "}}"; + " \"foo\": {\"node\": {\n" + + " \"1\": {\n" + + " \"attributes\": {\"group\": \"mygroup\"},\n" + + " \"state\": {\"current\": {\n" + + " \"state\": \"initializing\",\n" + + " \"reason\": \"\"\n" + + " }},\n" + + " \"metrics\": {\"doc-count\": 5}\n" + + " },\n" + + " \"3\": {\n" + + " \"attributes\": {\"group\": \"mygroup\"},\n" + + " \"state\": {\"current\": {\n" + + " \"state\": \"up\",\n" + + " \"reason\": \"\"\n" + + " }},\n" + + " \"metrics\": {\"doc-count\": 8}\n" + + " }\n" + + " }},\n" + + " \"bar\": {\"node\": {\"2\": {\n" + + " \"attributes\": {\"group\": \"mygroup\"},\n" + + " \"state\": {\"current\": {\n" + + " \"state\": \"down\",\n" + + " \"reason\": \"\"\n" + + " }},\n" + + " \"metrics\": {\"doc-count\": 0}\n" + + " }}}\n" + + "}}"; assertEquals(expected, json.toString(2)); } { @@ -157,17 +156,17 @@ public class StateRestAPITest { new HttpRequest().setPath("/cluster/v2").addUrlOption("recursive", "1")); String expected = "{\"cluster\": {\n" + - " \"foo\": {\"node\": {\n" + - " \"1\": {\"link\": \"\\/cluster\\/v2\\/foo\\/1\"},\n" + - " \"3\": {\"link\": \"\\/cluster\\/v2\\/foo\\/3\"}\n" + - " }},\n" + - " \"bar\": {\"node\": {\"2\": {\"link\": \"\\/cluster\\/v2\\/bar\\/2\"}}}\n" + - "}}"; + " \"foo\": {\"node\": {\n" + + " \"1\": {\"link\": \"\\/cluster\\/v2\\/foo\\/1\"},\n" + + " \"3\": {\"link\": \"\\/cluster\\/v2\\/foo\\/3\"}\n" + + " }},\n" + + " \"bar\": {\"node\": {\"2\": {\"link\": \"\\/cluster\\/v2\\/bar\\/2\"}}}\n" + + "}}"; // Verify that the actual link does not contain backslash. It's just an artifact of // jettison json output. assertEquals("/cluster/v2/foo/1", - json.getJSONObject("cluster").getJSONObject("foo").getJSONObject("node") - .getJSONObject("1").getString("link")); + json.getJSONObject("cluster").getJSONObject("foo").getJSONObject("node") + .getJSONObject("1").getString("link")); assertEquals(expected, json.toString(2)); } { @@ -175,23 +174,23 @@ public class StateRestAPITest { new HttpRequest().setPath("/cluster/v2/foo").addUrlOption("recursive", "1")); String expected = "{\"node\": {\n" + - " \"1\": {\n" + - " \"attributes\": {\"group\": \"mygroup\"},\n" + - " \"state\": {\"current\": {\n" + - " \"state\": \"initializing\",\n" + - " \"reason\": \"\"\n" + - " }},\n" + - " \"metrics\": {\"doc-count\": 5}\n" + - " },\n" + - " \"3\": {\n" + - " \"attributes\": {\"group\": \"mygroup\"},\n" + - " \"state\": {\"current\": {\n" + - " \"state\": \"up\",\n" + - " \"reason\": \"\"\n" + - " }},\n" + - " \"metrics\": {\"doc-count\": 8}\n" + - " }\n" + - "}}"; + " \"1\": {\n" + + " \"attributes\": {\"group\": \"mygroup\"},\n" + + " \"state\": {\"current\": {\n" + + " \"state\": \"initializing\",\n" + + " \"reason\": \"\"\n" + + " }},\n" + + " \"metrics\": {\"doc-count\": 5}\n" + + " },\n" + + " \"3\": {\n" + + " \"attributes\": {\"group\": \"mygroup\"},\n" + + " \"state\": {\"current\": {\n" + + " \"state\": \"up\",\n" + + " \"reason\": \"\"\n" + + " }},\n" + + " \"metrics\": {\"doc-count\": 8}\n" + + " }\n" + + "}}"; assertEquals(expected, json.toString(2)); } { @@ -199,9 +198,9 @@ public class StateRestAPITest { new HttpRequest().setPath("/cluster/v2/foo").addUrlOption("recursive", "false")); String expected = "{\"node\": {\n" + - " \"1\": {\"link\": \"\\/cluster\\/v2\\/foo\\/1\"},\n" + - " \"3\": {\"link\": \"\\/cluster\\/v2\\/foo\\/3\"}\n" + - "}}"; + " \"1\": {\"link\": \"\\/cluster\\/v2\\/foo\\/1\"},\n" + + " \"3\": {\"link\": \"\\/cluster\\/v2\\/foo\\/3\"}\n" + + "}}"; assertEquals(expected, json.toString(2)); } } @@ -217,15 +216,15 @@ public class StateRestAPITest { json.put("response-wait", responseWait.get()); } HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 200, result.getHttpReturnCode()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(200, result.getHttpReturnCode(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); StringBuilder print = new StringBuilder(); result.printContent(print); return print.toString(); } @Test - public void testSetNodeState() throws Exception { + void testSetNodeState() throws Exception { setupDummyStateApi(); { JSONObject json = new JSONObject().put("state", new JSONObject() @@ -233,8 +232,8 @@ public class StateRestAPITest { .put("state", "retired") .put("reason", "No reason"))); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 200, result.getHttpReturnCode()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(200, result.getHttpReturnCode(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); } { JSONObject json = executeOkJsonRequest(new HttpRequest().setPath("/cluster/v2/foo/3")); @@ -246,14 +245,14 @@ public class StateRestAPITest { + " }},\n" + " \"metrics\": {\"doc-count\": 8}\n" + "}"; - assertEquals(json.toString(2), expected, json.toString(2)); + assertEquals(expected, json.toString(2), json.toString(2)); } { JSONObject json = new JSONObject().put("state", new JSONObject() .put("current", new JSONObject())); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 200, result.getHttpReturnCode()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(200, result.getHttpReturnCode(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); } { JSONObject json = executeOkJsonRequest(new HttpRequest().setPath("/cluster/v2/foo/3")); @@ -265,12 +264,12 @@ public class StateRestAPITest { + " }},\n" + " \"metrics\": {\"doc-count\": 8}\n" + "}"; - assertEquals(json.toString(2), expected, json.toString(2)); + assertEquals(expected, json.toString(2), json.toString(2)); } } @Test - public void set_node_state_response_wait_type_is_propagated_to_handler() throws Exception { + void set_node_state_response_wait_type_is_propagated_to_handler() throws Exception { setupDummyStateApi(); { String result = retireAndExpectHttp200Response(Optional.of("wait-until-cluster-acked")); @@ -291,7 +290,7 @@ public class StateRestAPITest { } @Test - public void set_node_state_response_wait_type_is_cluster_acked_by_default() throws Exception { + void set_node_state_response_wait_type_is_cluster_acked_by_default() throws Exception { setupDummyStateApi(); String result = retireAndExpectHttp200Response(Optional.empty()); assertEquals(result, @@ -302,92 +301,92 @@ public class StateRestAPITest { } @Test - public void testMissingUnits() throws Exception { + void testMissingUnits() throws Exception { setupDummyStateApi(); { HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/unknown")); - assertEquals(result.toString(true), 404, result.getHttpReturnCode()); - assertEquals(result.toString(true), "No such resource 'unknown'.", result.getHttpReturnCodeDescription()); + assertEquals(404, result.getHttpReturnCode(), result.toString(true)); + assertEquals("No such resource 'unknown'.", result.getHttpReturnCodeDescription(), result.toString(true)); String expected = "{\"message\":\"No such resource 'unknown'.\"}"; assertEquals(expected, result.getContent().toString()); } { HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/1234")); - assertEquals(result.toString(true), 404, result.getHttpReturnCode()); - assertEquals(result.toString(true), "No such resource 'foo/1234'.", result.getHttpReturnCodeDescription()); + assertEquals(404, result.getHttpReturnCode(), result.toString(true)); + assertEquals("No such resource 'foo/1234'.", result.getHttpReturnCodeDescription(), result.toString(true)); String expected = "{\"message\":\"No such resource 'foo\\/1234'.\"}"; assertEquals(expected, result.getContent().toString()); } } @Test - public void testUnknownMaster() throws Exception { + void testUnknownMaster() throws Exception { setupDummyStateApi(); stateApi.induceException(new UnknownMasterException()); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2")); - assertEquals(result.toString(true), 503, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Service Unavailable", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(503, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Service Unavailable", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"No known master cluster controller currently exists.\"}"; assertEquals(expected, result.getContent().toString()); - assertTrue(result.getHeader("Location") == null); + assertNull(result.getHeader("Location")); } @Test - public void testOtherMaster() throws Exception { + void testOtherMaster() throws Exception { setupDummyStateApi(); { stateApi.induceException(new OtherMasterException("example.com", 80)); HttpResult result = execute(new HttpRequest().setScheme("https").setPath("/cluster/v2").addUrlOption(" %=?&", "&?%=").addUrlOption("foo", "bar")); - assertEquals(result.toString(true), 307, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Temporary Redirect", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "https://example.com:80/cluster/v2?%20%25%3D%3F%26=%26%3F%25%3D&foo=bar", result.getHeader("Location")); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(307, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Temporary Redirect", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("https://example.com:80/cluster/v2?%20%25%3D%3F%26=%26%3F%25%3D&foo=bar", result.getHeader("Location"), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"Cluster controller not master. Use master at example.com:80.\"}"; assertEquals(expected, result.getContent().toString()); } { stateApi.induceException(new OtherMasterException("example.com", 80)); HttpResult result = execute(new HttpRequest().setScheme("http").setPath("/cluster/v2/foo")); - assertEquals(result.toString(true), 307, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Temporary Redirect", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "http://example.com:80/cluster/v2/foo", result.getHeader("Location")); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(307, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Temporary Redirect", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("http://example.com:80/cluster/v2/foo", result.getHeader("Location"), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"Cluster controller not master. Use master at example.com:80.\"}"; assertEquals(expected, result.getContent().toString()); } } @Test - public void testRuntimeException() throws Exception { + void testRuntimeException() throws Exception { setupDummyStateApi(); stateApi.induceException(new RuntimeException("Moahaha")); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2")); - assertEquals(result.toString(true), 500, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Failed to process request", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(500, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Failed to process request", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"java.lang.RuntimeException: Moahaha\"}"; assertEquals(expected, result.getContent().toString()); } @Test - public void testClientFailures() throws Exception { + void testClientFailures() throws Exception { setupDummyStateApi(); { stateApi.induceException(new InvalidContentException("Foo bar")); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2")); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Content of HTTP request had invalid data", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Content of HTTP request had invalid data", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"Foo bar\"}"; assertEquals(expected, result.getContent().toString()); } { stateApi.induceException(new InvalidOptionValueException("foo", "bar", "Foo can not be bar")); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2")); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Option 'foo' have invalid value 'bar'", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Option 'foo' have invalid value 'bar'", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"Option 'foo' have invalid value 'bar': Foo can not be bar\"}"; assertEquals(expected, result.getContent().toString()); } @@ -396,94 +395,94 @@ public class StateRestAPITest { path[0] = "foo"; stateApi.induceException(new OperationNotSupportedForUnitException(path, "Foo")); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2")); - assertEquals(result.toString(true), 405, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Operation not supported for resource", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(405, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Operation not supported for resource", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"[foo]: Foo\"}"; assertEquals(expected, result.getContent().toString()); } } @Test - public void testInternalFailure() throws Exception { + void testInternalFailure() throws Exception { setupDummyStateApi(); { stateApi.induceException(new InternalFailure("Foo")); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2")); - assertEquals(result.toString(true), 500, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Failed to process request", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(500, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Failed to process request", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"Internal failure. Should not happen: Foo\"}"; assertEquals(expected, result.getContent().toString()); } } @Test - public void testInvalidRecursiveValues() throws Exception { + void testInvalidRecursiveValues() throws Exception { setupDummyStateApi(); { HttpResult result = execute(new HttpRequest().setPath("/cluster/v2").addUrlOption("recursive", "-5")); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Option 'recursive' have invalid value '-5'", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Option 'recursive' have invalid value '-5'", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"Option 'recursive' have invalid value '-5': Recursive option must be true, false, 0 or a positive integer\"}"; assertEquals(expected, result.getContent().toString()); } { HttpResult result = execute(new HttpRequest().setPath("/cluster/v2").addUrlOption("recursive", "foo")); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Option 'recursive' have invalid value 'foo'", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Option 'recursive' have invalid value 'foo'", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"Option 'recursive' have invalid value 'foo': Recursive option must be true, false, 0 or a positive integer\"}"; assertEquals(expected, result.getContent().toString()); } } @Test - public void testInvalidJsonInSetStateRequest() throws Exception { + void testInvalidJsonInSetStateRequest() throws Exception { setupDummyStateApi(); { JSONObject json = new JSONObject(); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Content of HTTP request had invalid data", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); - assertTrue(result.toString(true), result.getContent().toString().contains("Set state requests must contain a state object")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Content of HTTP request had invalid data", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); + assertTrue(result.getContent().toString().contains("Set state requests must contain a state object"), result.toString(true)); } { JSONObject json = new JSONObject().put("state", 5); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Content of HTTP request had invalid data", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); - assertTrue(result.toString(true), result.getContent().toString().contains("value of state is not a json object")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Content of HTTP request had invalid data", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); + assertTrue(result.getContent().toString().contains("value of state is not a json object"), result.toString(true)); } { JSONObject json = new JSONObject().put("state", new JSONObject() .put("current", 5)); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Content of HTTP request had invalid data", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); - assertTrue(result.toString(true), result.getContent().toString().contains("value of state->current is not a json object")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Content of HTTP request had invalid data", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); + assertTrue(result.getContent().toString().contains("value of state->current is not a json object"), result.toString(true)); } { JSONObject json = new JSONObject().put("state", new JSONObject() .put("current", new JSONObject().put("state", 5))); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Content of HTTP request had invalid data", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); - assertTrue(result.toString(true), result.getContent().toString().contains("value of state->current->state is not a string")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Content of HTTP request had invalid data", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); + assertTrue(result.getContent().toString().contains("value of state->current->state is not a string"), result.toString(true)); } { JSONObject json = new JSONObject().put("state", new JSONObject() .put("current", new JSONObject().put("state", "down").put("reason", 5))); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Content of HTTP request had invalid data", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); - assertTrue(result.toString(true), result.getContent().toString().contains("value of state->current->reason is not a string")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Content of HTTP request had invalid data", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); + assertTrue(result.getContent().toString().contains("value of state->current->reason is not a string"), result.toString(true)); } { String result = retireAndExpectHttp400Response("Non existing condition", "no-wait"); @@ -506,21 +505,21 @@ public class StateRestAPITest { .put("condition", condition) .put("response-wait", responseWait); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2/foo/3").setPostContent(json)); - assertEquals(result.toString(true), 400, result.getHttpReturnCode()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(400, result.getHttpReturnCode(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); StringBuilder print = new StringBuilder(); result.printContent(print); return print.toString(); } @Test - public void testInvalidPathPrefix() throws Exception { + void testInvalidPathPrefix() throws Exception { DummyBackend backend = new DummyBackend(); stateApi = new DummyStateApi(backend); populateDummyBackend(backend); testTransport = new TestTransport(); RestApiHandler handler = new RestApiHandler(stateApi); - try{ + try { handler.setDefaultPathPrefix("cluster/v2"); assertTrue(false); } catch (IllegalArgumentException e) { @@ -528,14 +527,14 @@ public class StateRestAPITest { } @Test - public void deadline_exceeded_exception_returns_http_504_error() throws Exception { + void deadline_exceeded_exception_returns_http_504_error() throws Exception { setupDummyStateApi(); stateApi.induceException(new DeadlineExceededException("argh!")); HttpResult result = execute(new HttpRequest().setPath("/cluster/v2")); - assertEquals(result.toString(true), 504, result.getHttpReturnCode()); - assertEquals(result.toString(true), "Gateway Timeout", result.getHttpReturnCodeDescription()); - assertEquals(result.toString(true), "application/json", result.getHeader("Content-Type")); + assertEquals(504, result.getHttpReturnCode(), result.toString(true)); + assertEquals("Gateway Timeout", result.getHttpReturnCodeDescription(), result.toString(true)); + assertEquals("application/json", result.getHeader("Content-Type"), result.toString(true)); String expected = "{\"message\":\"argh!\"}"; assertEquals(expected, result.getContent().toString()); } |