Arquillian Cube Extension 1.0.0.Alpha17 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.Alpha17 release of the Arquillian Cube Extension component!
New version of Arquillian Cube 1.0.0.Alpha17 has been released!
What’s new
Graphene URL auto resolution
In previous versions, Graphene URL auto resolution was based on rather complex algorithm with absolute or relative URLs to detect which was the real URL in Docker space (Old auto resolution). This has been simplified so now only full URLs are permitted.
In this version if URL contains dockerHost
, it’s resolved to docker host IP. If it contains an IP then this IP is used. If a string is provided, this is considered as the container name and Arquillian Cube resolves it to the internal container IP.
Support for @CubeIp
in Container Objects
Now a Container Object can also be enriched with internal IP of the given container.
Thanks Ramon Rivas for providing this feature!
Provide URL enrichment for standalone mode
New enrichment is provided to construct an URL for black-box tests pointing to a given docker host and resolved exposed port.
@DockerUrl(protocol="http", containerName = "helloworld", exposedPort = "8080", context = "/hello")
@ArquillianResource
URL url;
In the example above URL is the docker host IP pointing to binding port of exposed port 8080
of the container helloworld
and using /hello
as context.
Set Environment variables for Container Objects
Now you can set environment variables to defined container objects.
@Cube(“tomee”)
@Image("tomee:8-jre-1.7.2-webprofile")
@Environment(key = "A", value = "a")
@Environment(key = "B", value = "b")
public static class ImageContainerObject {
}
Annotation can also be used on the field definition.
Create Volumes for Container Objects
@Cube(“tomee”)
@Image("tomee:8-jre-1.7.2-webprofile")
@Volume(hostPath = "/mypath", containerPath = "/containerPath")
@Volume(hostPath = "/mypath2", containerPath = "/containerPath2")
public static class ImageContainerObject {
}
Annotation can also be used on the field definition.
Add @DockerUrl
support for RestAssured enricher
Now you can configure URL for REST-Assured integration using @DockerUrl
annotation.
@DockerUrl(containerName = "pingpong", exposedPort = 8080)
@ArquillianResource
RequestSpecBuilder requestSpecBuilder;
RequestSpecBuilder
is configured with docker host IP, and resolving port binding from container pingpong
and exposed port 8080
.
Provide a new URL ResourceProvider
for Kubernetes and Openshift
Now you can get URL to connect to a Kubernetes/OpenShift service with ease.
@Named("hello-world-service")
@PortForward
@ArquillianResource
URL url;
In this case the URL is provided pointing directly to the service hello-world
so you can easily query it.
Kudos to Ioannis Canellos for providing this feature.
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.Alpha17 view tag |
Release date | 2017-02-01 |
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 8
- Enhancement
- Bug
Thanks to the following list of contributors: Alex Soto, Dipak Pawar, Ramon Rivas, Ioannis Canellos