Description
oak-core and oak-jcr modules uses the fixture mechanism to provide NodeStore implementations to the unit/integration tests. There is a few problems with the fixture implementation:
- the NodeStoreFixture class is duplicated between two modules and supports different set of options (eg. the oak-core version doesn't support the RDB node store at all, while the oak-jcr doesn't support MemoryNodeStore)
- it isn't possible to set the MongoDB URL manually from the Maven command line (it can be done for the RDB, though), which makes running the tests on a Mongo replica hard,
- the Mongo fixture doesn't remove the test database after the test is done.
There should be just one NodeStoreFixture implementation (the oak-jcr can reuse the oak-core version), supporting all values of the Fixture enum. The Mongo fixture should be more customisable and also should clean-up the database.