@BeforeClass public static void buildAndDeployArtifacts() { KieServerDeployer.buildAndDeployCommonMavenParent(); KieServerDeployer.buildAndDeployMavenProjectFromResource("/kjars-sources/rest-processes"); // set the accepted formats with quality param to express preference acceptHeadersByFormat.put(MarshallingFormat.JAXB, "application/xml;q=0.9,application/json;q=0.3");// xml is preferred over json acceptHeadersByFormat.put(MarshallingFormat.JSON, "application/json;q=0.9,application/xml;q=0.3");// json is preferred over xml createContainer(CONTAINER, releaseId); }
@Test public void testBasicJbpmRequestWithSingleAcceptHeader() throws Exception { KieContainerResource resource = new KieContainerResource(CONTAINER, releaseId); Map<String, Object> valuesMap = new HashMap<String, Object>(); valuesMap.put(CONTAINER_ID, resource.getContainerId()); valuesMap.put(PROCESS_ID, HUMAN_TASK_OWN_TYPE_ID); Response response = null; try { WebTarget clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), PROCESS_URI + "/" + START_PROCESS_POST_URI, valuesMap)); logger.info( "[POST] " + clientRequest.getUri()); response = clientRequest.request(getMediaType()).post(createEntity("")); Assert.assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus()); Assertions.assertThat((String)response.getHeaders().getFirst("Content-Type")).startsWith(getMediaType().toString()); JaxbLong pId = response.readEntity(JaxbLong.class); valuesMap.put(PROCESS_INST_ID, pId.unwrap()); clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), PROCESS_URI + "/" + ABORT_PROCESS_INST_DEL_URI, valuesMap)); logger.info( "[DELETE] " + clientRequest.getUri()); response = clientRequest.request(getMediaType()).delete(); int noContentStatusCode = Response.Status.NO_CONTENT.getStatusCode(); int okStatusCode = Response.Status.OK.getStatusCode(); assertTrue("Wrong status code returned: " + response.getStatus(), response.getStatus() == noContentStatusCode || response.getStatus() == okStatusCode); } finally { if(response != null) { response.close(); } } }
@Test public void testContentTypeOnErrorResponse() throws Exception { Map<String, Object> empty = new HashMap<>(); Response response = null; try { // create document WebTarget clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), DOCUMENT_URI, empty)); Map<String, Object> valuesMap = new HashMap<String, Object>(); valuesMap.put(DOCUMENT_ID, "not-existing-doc"); clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), DOCUMENT_URI +"/"+ DOCUMENT_INSTANCE_GET_URI, valuesMap)); logger.info( "[GET] " + clientRequest.getUri()); response = clientRequest.request(getMediaType()).get(); Assertions.assertThat(response.getStatus()).isEqualTo(Response.Status.NOT_FOUND.getStatusCode()); Assertions.assertThat((String)response.getHeaders().getFirst("Content-Type")).startsWith(MediaType.TEXT_PLAIN); String responseBody = response.readEntity(String.class); Assertions.assertThat(responseBody).isEqualTo("\"Document with id not-existing-doc not found\""); } finally { if(response != null) { response.close(); } } } }
@Test public void testBasicJbpmRequest() throws Exception { KieContainerResource resource = new KieContainerResource(CONTAINER, releaseId); Map<String, Object> valuesMap = new HashMap<String, Object>(); valuesMap.put(CONTAINER_ID, resource.getContainerId()); valuesMap.put(PROCESS_ID, HUMAN_TASK_OWN_TYPE_ID); Response response = null; try { WebTarget clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), PROCESS_URI + "/" + START_PROCESS_POST_URI, valuesMap)); logger.info( "[POST] " + clientRequest.getUri()); response = clientRequest.request().post(createEntity("")); Assert.assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus()); Assertions.assertThat((String)response.getHeaders().getFirst("Content-Type")).startsWith(getMediaType().toString()); JaxbLong pId = response.readEntity(JaxbLong.class); valuesMap.put(PROCESS_INST_ID, pId.unwrap()); clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), PROCESS_URI + "/" + ABORT_PROCESS_INST_DEL_URI, valuesMap)); logger.info( "[DELETE] " + clientRequest.getUri()); response = clientRequest.request(getMediaType()).delete(); int noContentStatusCode = Response.Status.NO_CONTENT.getStatusCode(); int okStatusCode = Response.Status.OK.getStatusCode(); assertTrue("Wrong status code returned: " + response.getStatus(), response.getStatus() == noContentStatusCode || response.getStatus() == okStatusCode); } finally { if(response != null) { response.close(); } } }
@Test public void testBasicJbpmRequestManyAcceptHeaders() throws Exception { KieContainerResource resource = new KieContainerResource(CONTAINER, releaseId); Map<String, Object> valuesMap = new HashMap<String, Object>(); valuesMap.put(CONTAINER_ID, resource.getContainerId()); valuesMap.put(PROCESS_ID, HUMAN_TASK_OWN_TYPE_ID); Response response = null; try { WebTarget clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), PROCESS_URI + "/" + START_PROCESS_POST_URI, valuesMap)); logger.info( "[POST] " + clientRequest.getUri()); response = clientRequest.request(acceptHeadersByFormat.get(marshallingFormat)).post(createEntity("")); Assert.assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus()); Assertions.assertThat((String)response.getHeaders().getFirst("Content-Type")).startsWith(getMediaType().toString()); JaxbLong pId = response.readEntity(JaxbLong.class); valuesMap.put(PROCESS_INST_ID, pId.unwrap()); clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), PROCESS_URI + "/" + ABORT_PROCESS_INST_DEL_URI, valuesMap)); logger.info( "[DELETE] " + clientRequest.getUri()); response = clientRequest.request(getMediaType()).delete(); int noContentStatusCode = Response.Status.NO_CONTENT.getStatusCode(); int okStatusCode = Response.Status.OK.getStatusCode(); assertTrue("Wrong status code returned: " + response.getStatus(), response.getStatus() == noContentStatusCode || response.getStatus() == okStatusCode); } finally { if(response != null) { response.close(); } } }
try { WebTarget clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), DOCUMENT_URI, empty)); logger.info( "[POST] " + clientRequest.getUri()); response = clientRequest.request(acceptHeadersByFormat.get(marshallingFormat)).post(createEntity(documentEntity)); Assert.assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus()); clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), DOCUMENT_URI, valuesMap)); logger.info( "[GET] " + clientRequest.getUri()); response = clientRequest.request(getMediaType()).get(); Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), DOCUMENT_URI + "/" + DOCUMENT_INSTANCE_CONTENT_GET_URI, valuesMap)); logger.info( "[GET] " + clientRequest.getUri()); response = clientRequest.request(getMediaType()).accept(MediaType.APPLICATION_OCTET_STREAM_TYPE).get(); Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); clientRequest = newRequest(build(TestConfig.getKieServerHttpUrl(), DOCUMENT_URI + "/" + DOCUMENT_INSTANCE_DELETE_URI, valuesMap)); logger.info( "[DELETE] " + clientRequest.getUri()); response = clientRequest.request(getMediaType()).delete(); int noContentStatusCode = Response.Status.NO_CONTENT.getStatusCode(); int okStatusCode = Response.Status.OK.getStatusCode();