So finally, I've finished refactoring and rebasing everything to the latest version of master. Things to consider:
* I've rewritten the entire `BaseHttpCommandExecutorServiceIntegrationTest` class to use mockwebserver in all tests (and also added a few more). I've taken special care in keeping all tests and semantics provided by the `BaseJettytest` and properly modeling them in each test using mockwebserver. * There is only one test I haven't kept: the one that verifies that arbitrary HTTP verbs can be used. Does it still make sense, now that we know that the JRE default implementation does not support them? Also, the GAE driver doesn't support that either, so I think that test should be implemented in each specific driver that supports arbitrary HTTP verbs. Sounds good? * I've also rewritten the `BackoffLimitedRetryJavaTest` to use mockwebserver too. With these two changes the indeterminism introduced by the `BaseJettyTest` is gone and everything is properly tested. A few more notes: * I've commented out the JVM memory configuration for the integration tests. It was only set for the integration tests, but not for unit or live tests. Does this make sense? (I've also sent a mail to the ML about this). * I've properly configured the tests in the GAE. Basically removed all overridden methods and rely on the `@BeforeMethod` annotation to prepare the tests. There was no need o override them all. * The `BaseJettyTest` class cannot be removed because there are classes in some providers that use it. Refactoring those tests could be done in a new PR. @adriancole Many thanks for your feedback, it's been very instructive and I'm learning a lot with this refactor :) Could you kindly have a look at the `BaseHttpCommandExecutorServiceIntegrationTest` class, just to make sure I haven't missed any specific bit that should be tested? @everett-toews If CI builds pass now, could you checkout the branch, and configure the `MarconiApiMetadata` to include the `OkHttpCommandExecutorServiceModule` module, and see if everything works, including the PATCH methods? --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds/pull/232#issuecomment-30833189