private List<Node> postNodes(int numberOfNodes, Header[] headers) throws Exception { List<Node> nodes = createNodes(numberOfNodes); for (Node node : nodes) { HttpResponse response = doPostExternalAPI("/nodes", gson.toJson(node), headers); assertResponseStatus(response, HttpResponseStatus.CREATED); } return nodes; }
private List<JsonObject> getNodes(final Header[] headers) throws Exception { HttpResponse response = doGetExternalAPI("/nodes", headers); assertResponseStatus(response, HttpResponseStatus.OK); return getJsonListFromResponse(response); }
private JsonObject getNode(final Header[] headers, final String nodeId) throws Exception { HttpResponse response = doGetExternalAPI("/nodes/" + nodeId, headers); assertResponseStatus(response, HttpResponseStatus.OK); return getJsonObjectFromResponse(response); }
@Test public void testDeleteNodeAsUser() throws Exception { Node node = postNodes(1, USER1_HEADERS).get(0); HttpResponse response = doDeleteExternalAPI("/nodes/" + node.getId(), USER1_HEADERS); assertResponseStatus(response, HttpResponseStatus.NO_CONTENT); List<JsonObject> nodes = getNodes(USER1_HEADERS); Assert.assertEquals(0, nodes.size()); }
@Test public void testUpdateNodeAsUser() throws Exception { Node node = postNodes(2, USER1_HEADERS).get(0); NodeProperties.Builder propertiesBuilder = NodeProperties.builder(); propertiesBuilder.setHostname("my-updated-host"); Node updatedNode = createNode(node.getId(),node.getClusterId(), node.getServices(), propertiesBuilder.build()); String updatedNodeJsonString = getNodeAsJsonString(updatedNode); HttpResponse response = doPutExternalAPI("/nodes/" + node.getId(), updatedNodeJsonString, USER1_HEADERS); assertResponseStatus(response, HttpResponseStatus.NO_CONTENT); Node updatedNodeFromServer = convertNodeFromJson(getNode(USER1_HEADERS, updatedNode.getId())); Assert.assertEquals(node.getId(), updatedNodeFromServer.getId()); Assert.assertNotEquals(node.getProperties(), updatedNodeFromServer.getProperties()); }