@Override public void updateDocument(DocumentInstance documentInstance) { if( config.isRest() ) { Map<String, Object> valuesMap = new HashMap<String, Object>(); valuesMap.put(DOCUMENT_ID, documentInstance.getIdentifier()); makeHttpPutRequestAndCreateCustomResponse( build(loadBalancer.getUrl(), DOCUMENT_URI + "/" + DOCUMENT_INSTANCE_PUT_URI, valuesMap), documentInstance, Object.class, new HashMap<String, String>()); } else { CommandScript script = new CommandScript( Collections.singletonList( (KieServerCommand) new DescriptorCommand("DocumentService", "updateDocument", serialize(documentInstance), marshaller.getFormat().getType(), new Object[]{documentInstance.getIdentifier()})) ); ServiceResponse<String> response = (ServiceResponse<String>) executeJmsCommand( script, DescriptorCommand.class.getName(), "BPM" ).getResponses().get(0); throwExceptionOnFailure(response); } }
@Test public void testDocumentServiceCamelProducer() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint("mock:result"); mockEndpoint.expectedMessageCount(1); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "document"); headers.put(KIE_OPERATION, "getDocument"); headers.put(asCamelKieName("identifier"), "1234"); template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); DocumentInstance documentInstance = getResultMessage(mockEndpoint.getExchanges().get(0)).getBody(DocumentInstance.class); assertEquals(documentInstance.getIdentifier(), "1234"); }
@Test public void testListDocuments() { List<DocumentInstance> docs = documentClient.listDocuments(0, 10); assertNotNull(docs); assertEquals(0, docs.size()); String documentId = documentClient.createDocument(document); assertNotNull(documentId); docs = documentClient.listDocuments(0, 10); assertNotNull(docs); assertEquals(1, docs.size()); DocumentInstance fromServer = docs.get(0); assertEquals(documentId, fromServer.getIdentifier()); assertDocumentInstances(document, fromServer, false); }
@Test public void testUpdateDocument() { String documentId = documentClient.createDocument(document); assertNotNull(documentId); DocumentInstance fromServer = documentClient.getDocument(documentId); assertEquals(documentId, fromServer.getIdentifier()); assertDocumentInstances(document, fromServer, true); String udpatedDoc = "here comes the update"; byte[] updateDocBytes = udpatedDoc.getBytes(); fromServer.setContent(updateDocBytes); fromServer.setSize(updateDocBytes.length); fromServer.setLastModified(new Date()); documentClient.updateDocument(fromServer); DocumentInstance updatedFromServer = documentClient.getDocument(documentId); assertEquals(documentId, updatedFromServer.getIdentifier()); assertDocumentInstances(fromServer, updatedFromServer, true); }
@Test public void testCreateDocument() { String documentId = documentClient.createDocument(document); assertNotNull(documentId); DocumentInstance fromServer = documentClient.getDocument(documentId); assertEquals(documentId, fromServer.getIdentifier()); assertDocumentInstances(document, fromServer, true); }
assertNotNull(doc); assertEquals(documentInstance.getName(), doc.getName()); assertEquals(documentId, doc.getIdentifier());
@Test public void testCreateEmptyDocument() { content = ""; contentBytes = content.getBytes(); document = DocumentInstance.builder() .name("first document") .size(contentBytes.length) .lastModified(new Date()) .content(contentBytes) .build(); String documentId = documentClient.createDocument(document); assertNotNull(documentId); DocumentInstance fromServer = documentClient.getDocument(documentId); assertEquals(documentId, fromServer.getIdentifier()); assertDocumentInstances(document, fromServer, true); }
private void assertDocumentInstances(DocumentInstance expected, DocumentInstance actual, boolean assertContent) { assertNotNull(actual); assertNotNull(actual.getIdentifier()); assertNotNull(actual.getName()); assertNotNull(actual.getLastModified()); assertNotNull(actual.getSize()); assertEquals(expected.getName(), actual.getName()); assertEquals(expected.getSize(), actual.getSize()); if (assertContent) { assertEquals(new String(expected.getContent()), new String(actual.getContent())); } }
@Test @Category(Smoke.class) public void testCreateLoadDeleteDocument() throws Exception { String documentId = documentClient.createDocument(document); assertNotNull(documentId); DocumentInstance fromServer = documentClient.getDocument(documentId); assertEquals(documentId, fromServer.getIdentifier()); assertDocumentInstances(document, fromServer, true); documentClient.deleteDocument(documentId); try { documentClient.getDocument(documentId); fail("Document with id " + documentId + " was deleted so should not be found anymore"); } catch (KieServicesException e) { // expected } }