For KC we would like the ability to execute our unit tests using different modes of operation.
A few things that need to be done:
SQLDataLoaderLifecycle, ClearDatabaseLifecycle, @PerSuiteUnitTestData() - cannot always assume a single datasource
Also KC is extending the RiceTestCase. Maybe to support this we will need to extend something else. Assuming we keep the inheritance the way it is. The RiceTestCase will need to differentiate between the server port & client port, the server config location & client config location, etc. etc.
Also, right now KC is manually starting up a JettyLifeCycle - maybe there is a rice test case the could start up a single JettyServer (for bunded mode testing) or multiple JettyServers (for embedded mode testing). Then this would be transparent to KC.
From our perspective all we should have to due for unit testing different modes is the following:
1) set which mode we want to test in (bundled, embedded, remote)
2) make sure our DB bootstrap data is separated between client & server data
3) make sure we provide the appropriate configurations for each mode of operation (ie. a rice-config.xml when running standalone rice)
that's all I can thing of...