Arquillian Cube Extension 1.13.0 Released

The Arquillian team is proud to announce the 1.13.0 release of the Arquillian Cube Extension component!

We are delighted to announce a new version of Arquillian Cube 1.13.0 with a bunch of awesome features related to Docker and bug fixes.

Important change: One of the important fixes we introduced is about handlings multiple values for env.dependencies and wait.for.service.list. We have changed the separation char from white-space to comma-separated, so to migrate to a new version, just add a comma instead of white space in the property to separate each of the element.

What’s new

Allow parallelization of networks

Now you can use the star pattern for networks. It works the same as the container star pattern.

<property name="dockerContainers">
     networks:
       testnetwork*:
         driver: bridge
     tomcat*:
       image: tutum/tomcat:8.0
      portBindings: [8080/tcp]
       networkMode: testnetwork*
     ping*:
       image: jonmorehouse/ping-pong
       exposedPorts: [8089/tcp]
       networks:
         - testnetwork*
</property>

Allow docker configuration to be loaded from the classpath

Currently Docker definition files were loaded from file (relative or absolute). In this version, dockerContainersResource where you can specify a file containing the container definitions on the Java classpath.

Use comma to separate multiple values in arquillian.xml

env.dependencies or wait.for.service.list properties have changed the separation char from white-space to comma-separated. To migrate to new version, just add a comma instead of white space in the property to separate each of the element.

Many thanks to Martin Spisiak Aleš Justin and Ivan Kelly for their help.

What is Arquillian Cube Extension?

With Arquillian Cube you can control the lifecycle of Docker images as part of the test lifecyle, either automatically or manually. This gives you the chance to scale up from a integration/functional test level all the way up to the system test level.

Release details

Component Arquillian Cube Extension
Version 1.13.0 view tag
Release date 2018-01-15
Released by Alien Ike
Compiled against

Published artifacts org.arquillian.cube

  • org.arquillian.cube » arquillian-cube-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-spi jar javadoc pom
  • org.arquillian.cube » arquillian-cube-core jar javadoc pom
  • org.arquillian.cube » arquillian-cube-containerless jar javadoc pom
  • org.arquillian.cube » assertj-docker-java jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-drone jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-reporter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-restassured jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-junit-rule jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-junit-rules jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-shrinkwrap jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-restassured jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-fabric8 jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-reporter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-requirement jar javadoc pom
  • org.arquillian.cube » arquillian-cube-bom pom

Release notes and resolved issues 5

Enhancement
Docker
Bug

Thanks to the following list of contributors: Ivan Kelly, Arquillian, Martin Spisiak, Georgios Andrianakis, Dipak Pawar, Ales Justin

Arquillian Cube Extension 1.12.0 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.12.0 release of the Arquillian Cube Extension component!

What is Arquillian Cube Extension?

With Arquillian Cube you can control the lifecycle of Docker images as part of the test lifecyle, either automatically or manually. This gives you the chance to scale up from a integration/functional test level all the way up to the system test level.

Release details

Component Arquillian Cube Extension
Version 1.12.0 view tag
Release date 2018-01-04
Released by Alien Ike
Compiled against

Published artifacts org.arquillian.cube

  • org.arquillian.cube » arquillian-cube-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-spi jar javadoc pom
  • org.arquillian.cube » arquillian-cube-core jar javadoc pom
  • org.arquillian.cube » arquillian-cube-containerless jar javadoc pom
  • org.arquillian.cube » assertj-docker-java jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-drone jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-reporter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-restassured jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-junit-rule jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-junit-rules jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-shrinkwrap jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-restassured jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-fabric8 jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-reporter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-requirement jar javadoc pom
  • org.arquillian.cube » arquillian-cube-bom pom

Release notes and resolved issues 7

Enhancement
Train/ginger
Bug
Other

Thanks to the following list of contributors: Hemanik, Dipak Pawar, Filippe, Bartosz Majsak, Arquillian, Alex Soto

Arquillian Cube Extension 1.11.0 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.11.0 release of the Arquillian Cube Extension component!

p. We are delighted to announce a new version of Arquillian Cube 1.11.0 with a new integration to another Arquillian project and bug fixes.

What’s new

Integration between Graphene and OpenShift

We have created an integration between Arquillian Graphene and Arquillian Cube OpenShift.

Now, if you are using Arquillian Graphene (in standalone mode) together with Arquillian Cube OpenShift, the base URI of Graphene is automatically set to the URL specified in OpenShift Route.

You can configure a specific URL using the url property from graphene configuration. In this case, the hostname is going to be resolved as OpenShift route name, and if there is no route with that name, then URL is treated as is. For example:

<extension qualifier="graphene">
  <property name="url">http://hello-world:8080</property>
</extension>

In the previous example, this integration will try to find an OpenShift route with name hello-world and inject its IP. If there is no route with that name, then the url field is considered to be the final URL.

You can see full example at Graphene example

Many thanks to Ioannis Canellos for his help in most of the bugfixes.

What is Arquillian Cube Extension?

With Arquillian Cube you can control the lifecycle of Docker images as part of the test lifecyle, either automatically or manually. This gives you the chance to scale up from a integration/functional test level all the way up to the system test level.

Release details

Component Arquillian Cube Extension
Version 1.11.0 view tag
Release date 2017-12-15
Released by Alien Ike
Compiled against

Published artifacts org.arquillian.cube

  • org.arquillian.cube » arquillian-cube-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-spi jar javadoc pom
  • org.arquillian.cube » arquillian-cube-core jar javadoc pom
  • org.arquillian.cube » arquillian-cube-containerless jar javadoc pom
  • org.arquillian.cube » assertj-docker-java jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-drone jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-reporter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-restassured jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-junit-rule jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-shrinkwrap jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-fabric8 jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-reporter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-requirement jar javadoc pom
  • org.arquillian.cube » arquillian-cube-bom pom

Release notes and resolved issues 4

Other
Bug
Train/ginger
Enhancement

Thanks to the following list of contributors: Hemanik, Ioannis Canellos, Arquillian, Dipak Pawar, Alex Soto

Arquillian Drone Extension 2.5.0 Released

The Arquillian team is proud to announce the 2.5.0 release of the Arquillian Drone Extension component!

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Drone Extension
Version 2.5.0 view tag
Release date 2017-12-12
Released by Matous Jobanek
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-drone-bom pom
  • org.jboss.arquillian.extension » arquillian-drone-webdriver-depchain pom
  • org.jboss.arquillian.extension » arquillian-drone-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-spi jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-configuration jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-impl jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-webdriver jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-saucelabs-extension jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-browserstack-extension jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-appium-extension jar javadoc pom

Release notes and resolved issues 6

Component Upgrade
  • ARQ-2159 - Update Arquillian core to 1.1.15.Final
  • ARQ-2160 - Upgrade to Selenium 3.8.0
  • ARQ-2161 - Update HtmlUnit driver to 2.28
  • ARQ-2167 - Upgrade to Selenium 3.8.1
Bug
  • ARQ-2154 - phantomjs download and extraction remains without effect if Maven is started in a parent or aggregator project
  • ARQ-2163 - SessionNotCreatedException when running PhantomJS as remotewebdriver with Selenium 3.8.0

Thanks to the following list of contributors: Matous Jobanek

Arquillian Cube Extension 1.10.0 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.10.0 release of the Arquillian Cube Extension component!

We are deligthed to announce a new version of Arquillian Cube 1.10.0 with new features and bug fixes.

In this new version of Arquillian Cube there has been major improvements in OpenShift:“https://www.openshift.com/” integration.

What’s new

[OpenShift] Add support for role binding and add roles to service accounts

If you are using OpenShift:“https://www.openshift.com/” you can use @AddRoleToServiceAccount and @RoleBinding annotations to bind roles for a test.

[OpenShift] Add support for setting templates with annotation

If you are using OpenShift:“https://www.openshift.com/”, you can set OpenShift templates location using an annotation (@Template) instead of a configuration parameter.

@Template(url = "https://gist.githubusercontent.com/lordofthejars/8781cacd4000a516695ad6c55b5815b3/raw/5151aeef0f5dd8823e2c581c3b7452f04a76af59/hello-template.yaml",
          parameters = @TemplateParameter(name = "RESPONSE", value = "Hello from Arquillian Template"))
public class HelloWorldTemplateTest {}

@Template accepts only any location in URL form. It is important to note that URL can contain references to system properties or environment variables by using ${systemproperty} in case of a system property or ${env.environmentvariable} in case of an environment variable.
You can add : after attribute name to provide a default value.

You can see full example at template project

[OpenShift] Add support for creating OpenShift Resources with annotation

If you are using OpenShift:“https://www.openshift.com/”, you can set any OpenShift resource to be executed either before test class or before test method. Notice that after test class/test method execution these resources are going to be deleted.

To set OpenShift resources you need to use @OpenShiftResource at class or method level.

@OpenShiftResource("classpath:hello-route.yaml")
public class HelloWorldOpenShiftResourcesTest {}

@OpenShiftResource value attribute can either be:

  • a link (https://www.github.com/alesj/template-testing/some.json)
  • a test classpath resource (classpath:some.json)
  • or plain content ({"kind" : "Secret", ...})

You can see full example at openshift resources project

[Docker/Kubernetes/OpenShift] Provides abstraction for executing CLI operations

You can instantiate CommandExecutor class to execute CLI operations directly from your test.
Usually, you use this class to execute commands directly from kubectl or oc tool.

private static CommandExecutor commandExecutor = new CommandExecutor();
final List<String> namespaces = commandExecutor.execCommand("kubectl get ns -o=name");

You can see full example at command executor project

[OpenShift] Provides a way to skip readiness await

Able to turn off readiness await to workaround Fabric8 Kubernetes Client issues such as https://github.com/fabric8io/kubernetes-client/issues/921

By default readiness await is always performed, but you can skip it by setting configuration parameter wait.enabled to false in arquillian.xml.

[Kubernetes/OpenShift] Namespace in annotation name

Now you can enrich a test with an element of another namespace different fromfa
the current one.

@ArquillianResource
@Named(value = "my-service", namespace = "my-predefined-namespace")
Service service;

[OpenShift] Provides an OpenShift assistant to deploy resources programmatically

Sometimes you need to decide when and what to deploy in OpenShift:“https://www.openshift.com/” cluster. Maybe you want to deploy something in one specific part of the test method and delete it in another part. For this reason a test can be enriched with OpenShiftAssistant to execute operations in current OpenShift cluster namespace in any part of the test.

@ArquillianResource
OpenShiftAssistant openShiftAssistant;

openShiftAssistant.deployApplication("hello-world", "hello-route.json");

final Optional<URL> route = openShiftAssistant.getRoute();
openShiftAssistant.awaitUrl(route.get());

You can see full example at OpenShift assistant project

What is Arquillian Cube Extension?

With Arquillian Cube you can control the lifecycle of Docker images as part of the test lifecyle, either automatically or manually. This gives you the chance to scale up from a integration/functional test level all the way up to the system test level.

Release details

Component Arquillian Cube Extension
Version 1.10.0 view tag
Release date 2017-12-08
Released by Alien Ike
Compiled against

Published artifacts org.arquillian.cube

  • org.arquillian.cube » arquillian-cube-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-spi jar javadoc pom
  • org.arquillian.cube » arquillian-cube-core jar javadoc pom
  • org.arquillian.cube » arquillian-cube-containerless jar javadoc pom
  • org.arquillian.cube » assertj-docker-java jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-drone jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-reporter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-restassured jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-junit-rule jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-shrinkwrap jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-fabric8 jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-reporter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-requirement jar javadoc pom
  • org.arquillian.cube » arquillian-cube-bom pom

Release notes and resolved issues 27

Other
Enhancement
Openshift
Train/ginger
Documentation

Thanks to the following list of contributors: Alex Soto, Dipak Pawar, Jonh Wendell, Bartosz Majsak, Strowk, Ladislav Thon, Hemanik, Georg Wolf, Arquillian