Get upgrade integration tests to run using `DropwizardTestSupport` inside classloaders and reflection
See original GitHub issueIt should be possible to run:
mvn -Pintegration-upgrade-tests -Dtest=ReaperCassandraIT
but trying to start the jetty/jersey server via reflection ( https://github.com/thelastpickle/cassandra-reaper/blob/master/src/server/src/test/java/io/cassandrareaper/acceptance/ReaperTestJettyRunner.java#L171 ) throws a class cast exception (around jboss’ AutoDiscoverable).
When this is fixed then the upgrade integration tests can be uncommented and run again in both travis and circleCI.
The requirement to the upgrade integration tests is that the previous versions of ReaperApplication
(inside a DropwizardTestSupport
) is run via separated classloaders. The classloaders need to be child-first, as opposed to parent-first, for this to work. The upgrade integration tests run the cucumber scenarios against the past version of a ReaperApplication
test server, and then mid-scenario replaces the ReaperApplication
test server with once from the test classpath. The upgrade integration tests ensure all normal Reaper operations complete successfully while Reaper is upgraded.
┆Issue is synchronized with this Jira Task by Unito ┆Issue Number: K8SSAND-384
Issue Analytics
- State:
- Created 5 years ago
- Comments:31 (10 by maintainers)
Top GitHub Comments
@michaelsembwever I’ve managed to build successfully (the only thing
bower
been needed to be installed globally throughnpm i -g bower
. That should be stated somewhere in docs).Seems your issue explained here: https://stackoverflow.com/questions/37145127/java-lang-classcastexception-org-glassfish-jersey-jackson-internal-jacksonautod
so, going to play with it once @gitcoinbot allow me to bid on
@michaelsembwever could you please help with that?
This happens on
circleci local execute --config .circleci/config.yml