我正在尝试对一个 groovy 组件进行单元测试。
<sub-flow name="public_sf_util_munit"
doc:description="Input:Mule Message
Processing:Adds correlationId to MuleMessage
Output:MuleMessage with populated correlationId property">
<scripting:component doc:name="Add correlationId">
<scripting:script engine="Groovy"><![CDATA[String correlationId = message.correlationId;
if(message.correlationId==null){
correlationId = message.getInboundProperty('x-messageid');
if(correlationId == null){
correlationId = message.rootId;
}
}
message.correlationId = correlationId;
return message]]></scripting:script>
</scripting:component>
</sub-flow>
下面的行需要一个入站消息属性,我怎样才能将它添加到我的测试 Mule 消息中?我正在使用 MUnit 3.6.1。
correlationId = message.getInboundProperty('x-messageid');
我目前的测试如下,我需要在入站属性中添加
@Test
public void givenAMuleMessageWithNullCorrelationIdAndXMessageIdHeader_whenCorrelationIdIsSet_itShouldSetCorrelationWithMessageId() throws Exception {
MuleEvent testEvent = testEvent("something");
MuleEvent resultMuleEvent = runFlow("transformToOutbound", testEvent);
assertThat(resultMuleEvent).isNotNull();
assertThat(resultMuleEvent.getMessage().getCorrelationId()).isEqualTo("321");
}