Search code examples
junitmuleanypoint-studiomunit

MUnit test fails - Cannot process event as “FileConnector” is stopped


I am implementing Munit for a flow which involves Mule Requester. This mule requester would be picking up a file.

So, when i run the java class as Junit, it throws out an exception as, Cannot perform the operation on the FileConnector as it is stopped.

The expression used in mule requester is ,

file ://${path}?connector=FileConnector

I have also defined a global file connector.

Please let me know how to resolve this issue.

Thank you.


Solution

  • All connectors and inbound-endpoints are disabled by default in MUnit. This is to prevent flow accidentally processing/generating real data. (Some explanation here). For the same reason File Connector is also disabled.

    To enable connectors, you need to override a method in your MUnitsuite as below -

    @Override
    protected boolean haveToMockMuleConnectors() {
        return false;
    }
    

    For XML Munit, see this to enable connectors.

    Note: This will enable and start all the connectors that you are using in your mule-configs under test. If you have SMTP connector, DB connector, MQ connector etc, they all be started during test, so use it with caution.