Continuing the series of articles, let's check how we do integration tests for nexus plugins.
The kungfu virus scanner
The kungfu virus scanner is a simple nexus plugin. It will prevent nexus from caching infected files (it will still serve the file, but won't cache it). To know if a file is infected or not, there is a "sophisticated" algorithm that checks if the file has the word "infected" in its name. It is used for demonstration purposes only and is useless for everything else. You can download its source files here.
To run our test, first of all, we will need a Nexus instance that will be launched and used to hold the plugin being tested. Originally we used the maven-dependency-plugin to unpack the Nexus bundle. Then, we used the same to copy the plugin under test to nexus plugin-repository directory. This alone would mean about 20 lines in the POM and no potential for reuse between different plugins, so we decided to write a specific testing plugin to create the environment required by Nexus plugins. Thus was born the nexus-test-environment-maven-plugin (we should come up with a shorter name =D ).