Apache MiNiFi includes a suite of docker-based system integration tests. These tests are designed to test the integration between distinct MiNiFi instances as well as other systems which are available in docker, such as Apache NiFi.
The test framework is written in Python 3 and uses pip3 to add required packages. The framework it uses is python-behave, a BDD testing framework. The feature specifications are written in human readable format in the features directory. Please refer to the behave documentation on how the framework performs testing.
The tests use docker containers so docker engine should be installed on your system. Check the get docker page for further information.
One of the required python packages is the m2crypto
package which depends on swig
for compilation, so swig
should also be installed on your system (e.g. sudo apt install swig
on debian based systems).
Flows are executed immediately upon deployment and according to schedule properties defined in the flow.yml. As such, to minimize test latency it is important to ensure that test inputs are added to the test cluster before flows are deployed. Filesystem events are monitored using event APIs, ensuring that flows are executed immediately upon input availability and output is validated immediately after it is written to disk.