0
votes

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.

2

2 Answers

1
votes

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.

0
votes

Check whether the file connector is defined in the files you loaded for munit.

 <spring:beans>
    <spring:import resource="classpath:api.xml"/>
 </spring:beans>

You may also try mocking the mule requester.