arquillian / arquillian-cube

Control (docker, kubernetes, openshift) containers in your tests with ease!
http://arquillian.org/arquillian-cube/
120 stars 98 forks source link

arquillian-cube-docker 1.15.3 is incompatible with snakeyaml 1.21 #1049

Closed haster closed 4 years ago

haster commented 6 years ago
Issue Overview

Running tests using arquillian-cube with snakeyaml managed on version 1.21 fails because snakeyaml made changes to their api which means it is binary incompatible with 1.20 (https://bitbucket.org/asomov/snakeyaml/diff/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java?diff2=628ee4dd2605&at=default)

This can be resolved by releasing a version of arquillian build against snakeyaml 1.21

Expected Behaviour

Running tests using arquillian-cube starts docker containers and runs tests as normal.

Current Behaviour

Starting tests fails with a stacktrace:

[ERROR] nl.topicus.keyhub.arquillian.selenium.Test140UIMyGroups  Time elapsed: 2.262 s  <<< ERROR!
java.lang.RuntimeException: Could not create new instance of class org.jboss.arquillian.test.impl.EventTestRunnerAdaptor
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
Caused by: java.lang.reflect.InvocationTargetException
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
Caused by: java.lang.NoSuchMethodError: org.arquillian.cube.docker.impl.util.ConfigUtil$CubeConstructor.constructScalar(Lorg/yaml/snakeyaml/nodes/ScalarNode;)Ljava/lang/Object;
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
Steps To Reproduce

Have an existing test setup, manage the snakeyaml dependency on version 1.21, run a maven build including tests.

We can workaround this by downgrading snakeyaml to 1.20 for now but we would like to upgrade in the near future.

Additional Information

arquillian-cube-docker: version 1.15.3 snakeyaml: version 1.21