4.9. Test cases
Test cases are a key tool for ensuring the reliability and correctness of your integrations in Babelway. They allow you to simulate the processing of messages through your channels without affecting your production flows. They are the key to guarantee that you will not break your production flows when you make a change to a channel, and that all the foreseen scenarios will continue to work after your change, and before you activate it in production.
Test cases basically contain the 2 following components :
- The definition of the input that should be submitted to one of your flows.
- The definition of the expected output at the end of the flow execution.
Based on that, Babelway will be able to run your flows with the provided inputs, and check if the expected outputs are correctly produced by your flows. These executions will be executed in some sandbox, and will therefore not affect your production flows.
It is highly recommended that :
- All of your channels have a few test cases to validate the basic scenarios that it supports.
- You run all of the test cases related to one channel after every change, and before you deploy these changes.
- Every time you make a change to some channel, or that you want to support a new scenario, you add new test cases for the new cases.
Here are a few more important points about TestCases.
- Running test cases is completely free. You will not be billed for the test cases in any of our standard price plans.
- Test cases messages will always be kept for 1 month, whatever the retention policy of the associated channel.
- A test case only test a single channel. If you have for example defined flows in which the messages are successively processed by multiple channels, you will need to write test cases in every of these channels, and only test there the responsibility of this channel in the whole flow.
- Gateways will not be tested during test cases. This would indeed be very dangerous/unsafe to issue connections to external systems, and will therefore be avoided. The whole processing of the steps MessageDefinition IN, Transformation and MessageDefinition OUT will be executed. Babelway offers other tools to test gateway connections.
- LookupTables will also not be updated during the execution of the test cases. All the reads to LookupTables will happen normally, but inserts, updates or deletions will affect the real LookupTable. Again, this is done to be sure not to affect your production flows.