Contact Us 1-800-596-4880

Enable Flow Sources

The Enable Flow Sources element within the MUnit test tells MUnit which flow sources to load and execute for the test.

By default, MUnit does not start any of the event sources (flow sources such as triggers, and listeners). You must configure which flow sources must start for your tests.

Assume that your application has a flow with an HTTP listener that returns a specific payload:

<http:listener-config name="HTTP_Listener_config">
    <http:listener-connection host="localhost" port="1234"/>
</http:listener-config>

<flow name="http-example-flow">
    <http:listener path="/" config-ref="HTTP_Listener_config"/>
    <set-payload value="#['Hello World!']" mimeType="text/plain"/>
</flow>

For MUnit to be able to invoke that listener you must enable the http-example-flow in your enable-flow-source property within your MUnit test:

<http:request-config name="HTTP_Request_config">
    <http:request-connection host="localhost" port="1234"/>
</http:request-config>

<munit:test name="http-example-test">
    <munit:enable-flow-sources>
        <munit:enable-flow-source value="http-example-flow"/>
    </munit:enable-flow-sources>

    <munit:execution>
        <http:request method="GET" path="/" config-ref="HTTP_Request_config"/>
    </munit:execution>

    <munit:validation>
        <munit-tools:assert-that expression="#[payload]"
                                 is="#[MunitTools::equalTo('Hello World!')]"/>
    </munit:validation>
</munit:test>

If the http-example-flow value is not listed as an enabled flow source, your MUnit test fails because it cannot initialize the HTTP listener configuration.

MUnit starts flow sources at the beginning of the test, and stops them at the end of the test. Flow sources are not executed during the before-suite/before-test, nor during the after-test/after-suite.
See Before/After scopes for more information.

Enabling Flow Sources from Anypoint Studio

You can define flow sources using the Mule Properties view of your MUnit test in Studio:

Flow sources defined using the Mule Properties view in Studio.
  1. Click Add.

  2. Select the name of the flow you want to enable from the Name of the flow drop-down menu.