private List<JsonObject> getNodes(final Header[] headers) throws Exception { HttpResponse response = doGetExternalAPI("/nodes", headers); assertResponseStatus(response, HttpResponseStatus.OK); return getJsonListFromResponse(response); }
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; }
protected static JsonObject getJsonObjectFromResponse(HttpResponse response) throws IOException { Reader reader = getInputStreamReaderFromResponse(response); JsonObject object = gson.fromJson(reader, JsonObject.class); reader.close(); return object; }
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 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()); }
@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()); }
private List<Node> createNodes(int numberOfNodesToCreate) { List<Node> createdNodes = new ArrayList<Node>(); for (int i = 0; i < numberOfNodesToCreate; i++) { createdNodes.add(createNode(Integer.toString(i))); } return createdNodes; }
private Node createNode(String id) { return createNode(id, "1234", new HashSet<Service>(){}, NodeProperties.builder().build()); }
protected static List<JsonObject> getJsonListFromResponse(HttpResponse response) throws IOException { Reader reader = getInputStreamReaderFromResponse(response); List<JsonObject> result = gson.fromJson(reader, new TypeToken<List<JsonObject>>() {}.getType()); reader.close(); return result; }