private CoreEvent createMuleEvent(Message message, int numProperties) { final Builder builder; try { builder = CoreEvent.builder(create(flow, CONNECTOR_LOCATION)).message(message); } catch (Exception e) { throw new RuntimeException(e); } for (int i = 1; i <= numProperties; i++) { builder.addVariable("FlOwVaRiAbLeKeY" + i, "val"); } return builder.build(); }
@Test public void operationReturnsOperationResultThatOnlySpecifiesPayload() throws Exception { Object payload = "hello world!"; when(operationExecutor.execute(any(ExecutionContext.class))).thenReturn(just(builder().output(payload).build())); event = CoreEvent.builder(event).message(Message.builder().value("").attributesValue(mock(Object.class)).build()).build(); Message message = messageProcessor.process(event).getMessage(); assertThat(message, is(notNullValue())); assertThat(message.getPayload().getValue(), is(sameInstance(payload))); assertThat(message.getAttributes().getValue(), is(nullValue())); assertThat(message.getPayload().getDataType().getType().equals(String.class), is(true)); }
protected CoreEvent configureEvent() throws Exception { when(message.getPayload()) .thenReturn(new TypedValue<>(TEST_PAYLOAD, DataType.builder().mediaType(MediaType.create("*", "*", defaultCharset())).build())); when(message.getAttributes()) .thenReturn(new TypedValue<>(null, DataType.builder().fromObject(null).build())); return eventBuilder(muleContext).message(message).build(); }
private CoreEvent createStreamPayloadEventWithLength(OptionalLong length) throws MuleException { return builder(testEvent()) .message(Message.builder().payload(new TypedValue(new NullInputStream(length.orElse(-1l)), INPUT_STREAM, length)) .build()) .build(); }
@Test public void unbalancedBrackets() throws MuleException { CoreEvent event = eventBuilder(muleContext).message(Message.of(TEST_PAYLOAD)).build(); expectedEx.expect(ExpressionExecutionException.class); expectedEx.expectMessage(containsString("Unbalanced brackets in expression")); expressionLanguage.evaluate("#[unbalanced", event, BindingContext.builder().build()); }
private void assertRemainingMoney(String configName, String name, long expectedAmount) throws Exception { CoreEvent event = CoreEvent.builder(testEvent()).message(of("")).addVariable("myName", name).build(); HeisenbergExtension heisenbergExtension = ExtensionsTestUtils.getConfigurationFromRegistry(configName, event, muleContext); assertThat(heisenbergExtension.getMoney(), equalTo(BigDecimal.valueOf(expectedAmount))); }
@Test public void batchSize() throws Exception { foreach = createForeach(); List<Processor> processors = getSimpleMessageProcessors(new TestMessageProcessor("zas")); foreach.setMessageProcessors(processors); foreach.setBatchSize(2); initialiseIfNeeded(foreach, muleContext); foreach.process(eventBuilder(muleContext).message(of(asList(1, 2, 3))).build()); assertThat(processedEvents, hasSize(2)); assertThat(((PrivilegedEvent) processedEvents.get(0)).getMessageAsString(muleContext), is("[1, 2]:foo:zas")); assertThat(((PrivilegedEvent) processedEvents.get(1)).getMessageAsString(muleContext), is("[3]:foo:zas")); }
@Test public void nestedIterablePayload() throws Exception { Iterable<DummySimpleIterableClass> iterable = new DummyNestedIterableClass(); process(nestedForeach, eventBuilder(muleContext).message(of(iterable)).build()); assertNestedProcessedMessages(); }
@Test public void testSingleChainedTransformer() throws Exception { AbstractTransformer validTransformer = (AbstractTransformer) this.getIncreaseByOneTransformer(); assertNotNull(validTransformer); Message message = of(new Integer(0)); Transformer messageTransformer = new TransformerChain(validTransformer); message = transformationService.applyTransformers(message, eventBuilder(muleContext).message(of(0)).build(), messageTransformer); Object transformedMessage = message.getPayload().getValue(); assertNotNull(transformedMessage); assertEquals(new Integer(1), transformedMessage); }
@Test public void nullKeyWhichGetsValueLater() throws Exception { Map<String, String> payload = new HashMap<>(); CoreEvent event = eventBuilder(muleContext).message(of(payload)).build(); assertMapKey(event, KEY, null); payload.put(KEY, VALUE); assertMapKey(event, KEY, VALUE); }
private CoreEvent createStreamPayloadEventWithLength(OptionalLong length) throws MuleException { return builder(testEvent()) .message(Message.builder().payload(new TypedValue(new NullInputStream(length.orElse(-1l)), INPUT_STREAM, length)) .build()) .build(); }
private MessagingException buildFailingFlowException(final CoreEvent event, final Exception exception) { return new MessagingException(CoreEvent.builder(event) .error(ErrorBuilder.builder(exception).errorType(ERROR_FROM_FLOW).build()) .build(), exception); }
@Test public void assignValueToFlowVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar_old").build(); CoreEvent.Builder eventBuilder = CoreEvent.builder(event); evaluate("flowVars['foo']='bar'", event, eventBuilder); assertEquals("bar", eventBuilder.build().getVariables().get("foo").getValue()); }
private Processor createSetStringMessageProcessor(final String appendText) { return event -> { return CoreEvent.builder(event).message(InternalMessage.builder(event.getMessage()).value(appendText).build()).build(); }; }
@Test public void outboundIsEmpty() throws Exception { assertTrue((Boolean) evaluate("message.outboundProperties.isEmpty()", event)); event = CoreEvent.builder(event).message(InternalMessage.builder(event.getMessage()).addOutboundProperty("foo", "abc") .addOutboundProperty("bar", "xyz").build()).build(); assertFalse((Boolean) evaluate("message.outboundProperties.isEmpty()", event)); }
@SuppressWarnings("unchecked") @Test public void outboundEntrySet() throws Exception { event = CoreEvent.builder(event).message(InternalMessage.builder(event.getMessage()).addOutboundProperty("foo", "abc") .addOutboundProperty("bar", "xyz").build()).build(); Set<Map.Entry<String, Object>> entrySet = (Set<Entry<String, Object>>) evaluate("message.outboundProperties.entrySet()", event); assertEquals(2, entrySet.size()); entrySet.contains(new DefaultMapEntry("foo", "abc")); entrySet.contains(new DefaultMapEntry("bar", "xyz")); }
@SuppressWarnings("unchecked") @Test public void inboundValues() throws Exception { Message message = event.getMessage(); event = CoreEvent.builder(event) .message(InternalMessage.builder(message).addInboundProperty("foo", "abc").addInboundProperty("bar", "xyz").build()) .build(); Collection<DataHandler> values = (Collection<DataHandler>) evaluate("message.inboundProperties.values()", event); assertEquals(2, values.size()); values.contains("abc"); values.contains("xyz"); }
@Test public void inboundContainsKey() throws Exception { Message message = event.getMessage(); mock(DataHandler.class); event = CoreEvent.builder(event).message(InternalMessage.builder(message).addInboundProperty("foo", "abc").build()).build(); assertTrue((Boolean) evaluate("message.inboundProperties.containsKey('foo')", event)); assertFalse((Boolean) evaluate("message.inboundProperties.containsKey('bar')", event)); }
@Test public void inboundSize() throws Exception { Message message = event.getMessage(); mock(DataHandler.class); event = CoreEvent.builder(event) .message(InternalMessage.builder(message).addInboundProperty("foo", "abc").addInboundProperty("bar", "xyz").build()) .build(); assertEquals(2, evaluate("message.inboundProperties.size()", event)); }
@Test public void assignValueToNewOutboundProperty() throws Exception { CoreEvent.Builder eventBuilder = CoreEvent.builder(event); evaluate("message.outboundProperties['foo']='bar'", event, eventBuilder); assertEquals("bar", ((InternalMessage) eventBuilder.build().getMessage()).getOutboundProperty("foo")); }