public void run() { //need to use a new copy each time for the case of re-assertion ArrayList<Predicate> predicatesCopy = new ArrayList<>(mockDefinition.getPredicates()); for (Exchange exchange : mockEndpoint.getExchanges()) assertTrue("Message " + exchange + " was received but not matched against a predicate " + "on endpoint " + mockDefinition.getEndpointUri(), remove(predicatesCopy, exchange)); }
protected void logMessagesReceived(MockEndpoint... mockEndpoints) { for (MockEndpoint mockEndpoint : mockEndpoints) { LOG.info("Messages received on endpoint " + mockEndpoint.getEndpointUri()); List<Exchange> exchanges = mockEndpoint.getExchanges(); Assertions.assertThat(exchanges).describedAs("exchanges on " + mockEndpoint).isNotNull(); int count = 0; for (Exchange exchange : exchanges) { LOG.info(" " + count++ + " = " + exchange.getIn().getBody(String.class)); } } }
private void assertXqueryOutput(String resultXml) throws InterruptedException { mockOutput.assertIsSatisfied(); String result = mockOutput.getExchanges().get(0).getIn() .getBody(String.class); assertNotNull(result); assertTrue(result.contains("<item name=\"pid\">" + resultXml + "</item>")); }
private void assertXsltOutput(String processingCode, String processingMode) throws InterruptedException { mockOutput.assertIsSatisfied(); String result = (String)mockOutput.getExchanges().get(0).getIn().getBody(); assertNotNull(result); assertTrue(result.contains("<processingCode code=\"" + processingCode + "\"")); assertTrue(result.contains("<processingModeCode code=\"" + processingMode + "\"")); }
@Test public void testInvalidSchematronTransmogrifier() throws InterruptedException, IOException { mockOutput.expectedMessageCount(1); producerTemplate.sendBody("direct:input23", content("/schematron/schematron-test-fail.xml")); mockOutput.assertIsSatisfied(); String result = (String)mockOutput.getExchanges().get(0).getIn().getBody(); assertTrue(result.contains("svrl:failed-assert")); }
@Test public void testSchematronTransmogrifier() throws InterruptedException, IOException { mockOutput.expectedMessageCount(1); producerTemplate.sendBody("direct:input23", content("/schematron/schematron-test.xml")); mockOutput.assertIsSatisfied(); String result = (String)mockOutput.getExchanges().get(0).getIn().getBody(); assertFalse(result.contains("svrl:failed-assert")); }
@Test public void testXqueryTransmogrifierReturningDOMResult() throws InterruptedException, IOException { mockOutput.expectedMessageCount(1); producerTemplate.sendBody("direct:input27", content("/xquery/labreport.xml")); mockOutput.assertIsSatisfied(); DOMResult result = mockOutput.getExchanges().get(0).getIn() .getBody(DOMResult.class); assertNotNull(result); }
@Test public void testListContainers() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint( "mock:result" ); mockEndpoint.expectedMessageCount( 1 ); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "kieServices"); headers.put(KIE_OPERATION, "listContainers"); template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); KieContainerResourceList result = getResultMessage( mockEndpoint.getExchanges().get( 0 ) ).getBody( KieContainerResourceList.class ); assertEquals("Number of listed containers", 2, result.getContainers().size()); }
@Test public void testSolverServiceCamelProducer() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint("mock:result"); mockEndpoint.expectedMessageCount(1); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "solver"); headers.put(KIE_OPERATION, "getSolvers"); headers.put(asCamelKieName("containerId"), "my-container"); template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); List<NodeInstance> nodeInstanceList = getResultMessage(mockEndpoint.getExchanges().get(0)).getBody(List.class); assertCollectionSize(nodeInstanceList, 0); }
@Test public void testCaseServiceCamelProducer() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint("mock:result"); mockEndpoint.expectedMessageCount(1); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "case"); headers.put(KIE_OPERATION, "findProcesses"); headers.put(asCamelKieName("page"), 1); headers.put(asCamelKieName("pageSize"), 1); template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); List<ProcessDefinition> result = (List<ProcessDefinition>) getResultMessage(mockEndpoint.getExchanges().get(0)).getBody(List.class); assertCollectionSize(result, 1); }
@Test public void testExceptionObject() throws InterruptedException { mockOutput.expectedMessageCount(1); Exchange result = producerTemplate.request("direct:input1", exchange -> { exchange.getIn().setBody("blah"); }); mockOutput.assertIsSatisfied(); Exchange received = mockOutput.getExchanges().get(0); Exception exception = (Exception)received.getIn().getHeader("foo"); assertEquals("message rejected", result.getException().getMessage()); assertEquals("message rejected", exception.getMessage()); assertNull(received.getException()); }
@Test public void testXsltTransmogrifierReturningInputStream() throws InterruptedException, IOException { mockOutput.expectedMessageCount(1); producerTemplate.sendBody("direct:input17", xsltInput()); mockOutput.assertIsSatisfied(); InputStream result = (InputStream) mockOutput.getExchanges().get(0) .getIn().getBody(); assertNotNull(result); }
@Test public void testCustomOperation() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint( "mock:result" ); mockEndpoint.expectedMessageCount( 1 ); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "kieServices"); headers.put(KIE_OPERATION, "myCustomOperation"); template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); KieServerInfo result = getResultMessage(mockEndpoint.getExchanges().get(0)).getBody(KieServerInfo.class); assertEquals("Server version", "1.2.3", result.getVersion()); }
@Test public void testExceptionMessage() throws InterruptedException { mockOutput.expectedMessageCount(1); Exchange result = producerTemplate.request("direct:input2", exchange -> exchange.getIn().setBody("blah")); mockOutput.assertIsSatisfied(); Exchange received = mockOutput.getExchanges().get(0); assertEquals("message rejected", result.getException().getMessage()); assertEquals("message rejected", result.getOut().getBody()); assertNull(received.getException()); }
@Test public void testBodyParam() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint( "mock:result" ); mockEndpoint.expectedMessageCount( 1 ); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "process"); headers.put(KIE_OPERATION, "signal"); headers.put(asCamelKieName("containerId"), "containerId"); headers.put(asCamelKieName("signalName"), "signalName"); template.sendBodyAndHeaders("direct:start", "test", headers); assertMockEndpointsSatisfied(); String result = getResultMessage(mockEndpoint.getExchanges().get(0)).getBody(String.class); assertNull(result); }
@Test public void testJobServiceCamelProducer() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint("mock:result"); mockEndpoint.expectedMessageCount(1); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "job"); headers.put(KIE_OPERATION, "getRequestsByStatus"); headers.put(asCamelKieName("statuses"), Arrays.asList(STATUS.values())); headers.put(asCamelKieName("page"), 1); headers.put(asCamelKieName("pageSize"), 10); template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); List<RequestInfoInstance> requestInfoInstanceList = getResultMessage(mockEndpoint.getExchanges().get(0)).getBody(List.class); assertCollectionSize(requestInfoInstanceList, 0); }
@Test public void testXqueryTransmogrifierReturningInputStream() throws InterruptedException, IOException, SAXException { mockOutput.expectedMessageCount(1); producerTemplate.sendBody("direct:input26", content("/xquery/labreport.xml")); mockOutput.assertIsSatisfied(); InputStream result = mockOutput.getExchanges().get(0).getIn() .getBody(InputStream.class); assertNotNull(result); }
@Test public void testRest() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint( "mock:result" ); mockEndpoint.expectedMessageCount( 1 ); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "kieServices"); headers.put(KIE_OPERATION, "getServerInfo"); template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); KieServerInfo result = getResultMessage(mockEndpoint.getExchanges().get(0)).getBody(KieServerInfo.class); assertEquals("Server version", "1.2.3", result.getVersion()); }
@Test public void testQueryServiceCamelProducer() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint("mock:result"); mockEndpoint.expectedMessageCount(1); Map<String, Object> headers = new HashMap<>(); headers.put(KIE_CLIENT, "query"); headers.put(KIE_OPERATION, "findCompletedNodeInstances"); headers.put(asCamelKieName("processInstanceId"), 100L); headers.put(asCamelKieName("page"), 1); headers.put(asCamelKieName("pageSize"), 10); template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); List<NodeInstance> nodeInstanceList = getResultMessage(mockEndpoint.getExchanges().get(0)).getBody(List.class); assertCollectionSize(nodeInstanceList, 0); }
@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"); }