Arquillian Cube Extension 1.0.0.Alpha16 Released
Since we wrote this post we didn't laze around. Check our latest announcement.
The Arquillian team is proud to announce the 1.0.0.Alpha16 release of the Arquillian Cube Extension component!
New version of Arquillian Cube 1.0.0.Alpha16 has been released with quite a bunch of enhancements and bugfixes.
What’s new
RestAssured configuration done via RequestSpecBuilder
In the previous version of Arquillian Cube, all parameters were set using internal RestAssured
static method. This approach made test methods unable to be ran in parallel.
To address this issue we provide injection of RequestSpecBuilder
class which lets you specify parameters such as host, port or HTTP headers on a test basis.
@ArquillianResource RequestSpecBuilder requestSpecBuilder;
@Test public void should_receive_ok_message() { RestAssured .given() .spec(requestSpecBuilder.build()) .when() .get() .then() .assertThat().body("status", equalTo("OK")); }
Arquillian Recorder/Reporter integration with Kubernetes
We have enhanced integration of Arquillian Recorder/Reporter in Cube by providing Kubernetes module. By using it you can easily get access to all configuration parameters used for test execution, as well as the session status which include Pods
, Services
, Replication Controllers
, Namespaces
, …
Kubernetes namespace prefix are fully configurable
namespace.prefix
configuration parameter has been added to configure the namespace prefix.
Creates an AssertJ custom assertions for Docker
Now you can use AssertJ
custom assertions for validating Docker containers.
@ArquillianResource
DockerClient docker;
assertThat(docker).hasImage("myimage");
assertThat(docker).container("myinstancename").hasExposedPorts(8080);
assertThat(docker).container("myinstancename").hasBindPorts(8080)
Creates stop/kill attribute
It may happen that certain docker image takes a lot of time to shutdown. For example shutting down selenium server in standalone debug mode might take ~10 seconds on the modern machine. These images are not really relavant for your test logic, they simply provide browsers to exercise our app against.
At the end of the tests, you spend 10 seconds waiting that this instance is stopped without a real need. We can simply kill such an image and save time during the build.
For this purpose boolean attribute killContainer
in CUBE
format has been added to set that an image should be killed. By default it is false which means that container is stopped normally.
Support for IP address management
Add support for adding IPAM
options in network section in docker-compose
files.
Add cleanBuildImage
attribute
Configuration boolean cleanBuildImage
parameter has been added so you can choose if all build images should be removed from docker host or not after finishing the build. By default build images are removed.
Reporting improvements
Arquillian Recorder Reporter now also displays information about containers like IO, Network or disk usage.
Port forwarding
Make possible to configure the port forwarder server bind address. This way you can run more than one instance of the port forwarder on the same machine.
UI videos in MP4
format
In the previous version of Cube, videos recorded during UI tests were stored in flv
format. As Flash is slowly disappearing we decided to switch to format supported by HTML5 <video>
tag.
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.0.0.Alpha16 view tag |
Release date | 2017-01-10 |
Released by | Alex Soto |
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-recorder jar javadoc pom
- org.arquillian.cube » arquillian-cube-docker-restassured 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
Release notes and resolved issues 30
- Enhancement
-
- #544 Alternative media format for UI videos.
- #539 Enhancement Add support to show multiple configuration files in reporter
- #536 Enhacement Implement Reporter Integration
- #508 Make the port forwarder bind address configurable
- #506 Display reporting parameters like IO, network, disk usage into a table form
- #486 Add cleanBuildImage attribute
- #484 Add support for network ipam
- #461 Creates an AssertJ custom assertions
- Bug
-
- #538 OutOfMemoryError when copying logs from docker container
- #530 Change from configuring RestAssured using static code to RequestSpecBuilder
- #527 Unable to use ArquillianConditionalRunner for in-container tests
- #525 Docker uri with tcp:// scheme incorrectly forces tlsVerify on OS X
- #523 Multiple image tags pulled if a specific tag is not specified in the container spec
- #519 StatsLogsResultCallback is not releasing thread only for Tomcat Container.
- #515 Statistics are not showing in human readable format for negative number.
- #512 Set relative path for file entry for use in Reports.
- #509 ftest-docker-compose tests are ignoring are due to incorrect serverURI
- #502 Unable to use log await strategy
- #499 Await polling strategy should not make assumptions about the container environment
- #498 should_report_network_topology_of_docker_containers fails
- #496 Some test perform assertions on things not controlled by the test.
- #478 Null Pointer Exception is thrown when docker machine is not accessible
- #477 Add support for git repos in context
- #475 ClassNotFoundException org/eclipse/jgit/api/errors/GitAPIException
- #473 Add Support for multiple networks for a single service mentioned in docker-compose.yml in version 2
- #470 Couldn't create a service with mentioned networks in docker-compose.yml version 2
- Other
Thanks to the following list of contributors: Dipak Pawar, Bartosz Majsak, Hemani, Alex Soto, Ioannis Canellos, Jonh Wendell, Filippe, EddĂș MelĂ©ndez Gonzales, Rob Cernich