Asynchronous Actions

In this test, service orders are created synchronously in the first action and are then injected asynchronously in different modules. This kind of testing might be especially useful to test that an interface supports concurrent accesses.

<test name="test_action_async_1">
		<flow>flow1</flow>
		<description>Test asynchronous actions</description>
		<expect mod="port1">
			<so orderId="1"/>
		</expect>
		<expect mod="port1">
			<so orderId="2"/>
		</expect>
		<expect mod="port1">
			<so orderId="3"/>
		</expect>
		<expect mod="port1">
			<so orderId="4"/>
		</expect>
		<action>
			<createSo orderId="1"/>
			<createSo orderId="2"/>
			<createSo orderId="3"/>
			<createSo orderId="4"/>
		</action>
		<action async="true">
			<invoke object="getSo" operation="onPut">
				<in name="msg" object="1"/>
			</invoke>
		</action>
		<action async="true">
			<invoke object="getSo" operation="onPut">
				<in name="msg" object="2"/>
			</invoke>
		</action>
		<action async="true">
			<invoke object="getSo" operation="onPut">
				<in name="msg" object="3"/>
			</invoke>
		</action>
		<action async="true">
			<invoke object="getSo" operation="onPut">
				<in name="msg" object="4"/>
			</invoke>
		</action>
	</test>