Project: usergrid
Issue USERGRID-273: 5 Cleanup test harness and create a more declarative test framework
Currently our test harnesses are a mess of spaghetti. We need to decouple this mess, and allow us to cleanly define the rules and requirements of our system. I think we need to break it down into the following behaviors. h1. Test Execution Environments h2. Parallel Execution This should be the default behavior. All tests are assumed to be parallel h2. Serial Execution This should be the exception, and only used when parallel execution cannot be accomplished. Tests in this classification should run in a method at a time, with no concurrency h1. External resources h2. Cassandra # Configure the runtime # Pre invocation hook ## Create default implementation of truncating column families. This should be manually added, and not execute by default. # Post invocation hook h2. ElasticSearch # Configure the runtime # Pre invocation hook ## Create default implementation of truncating column families. This should be manually added, and not execute by default. # Post invocation hook h1. Lifecycle A test itself can have numerous lifecycle operations. These should be set up as rules, both class and instance, and should NOT be done via inheritance of abstract tests. This is the old Junit3 way of operating, and needs removed.
Story points: 8