Write a small set of integration (aka e2e or "end-to-end") tests against the example Rocchio implementation.
Ideally, a set of integration tests would be nice as it would allow us to test our real performance against a running ES instance. We should also include a small set of complementary unit tests that can verify things that are still working at a low level.
Integration tests will involve:
- Write/find a maven task that takes a hostname/port of a running ES instance, or attempts to startup an instance of elasticsearch via Docker if none is provided
- Write/find a maven task to wrap around my scripts to install the plugin (or figure out how to do this during test setUp()?)
- Write setup/teardown code to create/cleanup a connection to an existing instance of elasticsearch
- Write a series of JUnit integration tests against the live Rocchio plugin to test performance and correctness of the results
- The shorter/cleaner the syntax, the better - I imagine we will be writing quite a few of these
- These should verify plugin install/remove, verify our REST endpoint is created properly and responds to the expected paths/inputs, verify runtime of our plugin's expansion/search, compare results against a vanilla search (without expansion), etc
This ticket is complete when the above steps have been explored and completed.