Arquillian Cube Extension 1.15.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.15.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.15.0 view tag
Release date 2018-02-13
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-junit5 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-istio-kubernetes-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-istio-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
  • org.arquillian.cube » arquillian-cube-requirement-spi jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-starter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-starter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-starter jar javadoc pom

Release notes and resolved issues 5

Other
Enhancement
Train/ginger

Thanks to the following list of contributors: Alex Soto, Hemani, Arquillian, Ioannis Canellos

Arquillian Core 1.3.0.Final Released

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

The Arquillian team is proud to announce the 1.3.0.Final release of the Arquillian Core component!

Deployment Archives using Java SPI

Usually, you deploy into a container using @Deployment annotation. But now you can implement your own strategy to generate deployable archive. For this purpose we created simplified Java SPI org.jboss.arquillian.container.test.spi.client.deployment.AutomaticDeployment.

The service must conform following signature:

/**
* Method called for generating the deployment configuration.
* @param testClass of current running test.
* @return Model object that contains all the information related to deployment configuration.
*/
DeploymentConfiguration generateDeploymentScenario(TestClass testClass);

Moreover, you can use @BeforeDeployment method annotation which allows you to modify the archive before it is deployed. The method must be public static and receive as a parameter an org.jboss.shrinkwrap.api.Archive which is the archive created by AutomaticDeployment implementation. The method returns enriched org.jboss.shrinkwrap.api.Archive based on your needs.

@BeforeDeployment
public static Archive addDeploymentContent(Archive archive) {
    // Modify Archive
    return archive;
}

Test Observer

The inner communication between Arquillian Core and other Arquillian extensions is based on the event machine. To get information about the event flow you can run your tests using the property -Darquillian.debug=true.

In case you need to add an additional logic to the whole test suite, you can use Arquillian SPI and create your own Arquillian extension to observe any event that you need. The downside of this approach is that this extension is applied to all test classes.

In this release, we introduce a new annotation @Observer. Adding it to the test class you can specify additional observers that will be applied only to this specific test class (without any need of using SPI). You can observe any Arquillian event in the context of the related test class that you need (starting with BeforeClass and ending with AfterClass):

@RunWith(Arquillian.class)
@Observer(MyObserver.class)
public class MyTestCase {

The Arquillian observer class has to have a non-parametric constructor and the observer method should be defined by @Observes annotation:

public void observeBeforeClass(@Observes BeforeClass event) {

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 Core
Version 1.3.0.Final view tag
Release date 2018-02-05
Released by Bartosz Majsak
Compiled against

Published artifacts org.jboss.arquillian.core

  • org.jboss.arquillian.core » arquillian-core-api jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-spi jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-impl-base jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-api jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-spi jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-impl-base jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-api jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-spi jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-api jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-impl-base jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-core jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-standalone jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-container jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-core jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-standalone jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-container jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-cdi jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-ejb jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-resource jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-initialcontext jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-servlet jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-jmx jar javadoc pom
  • org.jboss.arquillian » arquillian-bom pom

Release notes and resolved issues 2

Enhancement
  • ARQ-2173 - Create of SPI for auto-deployment feature
  • ARQ-2174 - Provide a way of observing Arqullian events within a test class

Thanks to the following list of contributors: Bartosz Majsak, Matous Jobanek, Alex Soto

Arquillian Cube Extension 1.14.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.14.0 release of the Arquillian Cube Extension component!

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

What’s new

Istio Support

We have added Istio support so you can annotate your class with @IstioResource to apply an Istio resource. Alternatively, if you prefer using programmatic way we have provided IstioAssistant. To use it you need to import following dependency:

<dependency>
  <groupId>org.arquillian.cube</groupId>
  <artifactId>arquillian-cube-istio-kubernetes</artifactId>
  <version>${version}</version>
  <scope>test</scope>
</dependency>

Same dependency can be used either with Kubernetes or OpenShift.

Here you can see a full example.

Allow OpenShift Template to use resources on classpath

You can define OpenShift Templates as classpath resources using classpath: protocol. @Template(url = "classpath:hello-template.yaml")

Create OpenShift Template DSL for OpenShiftAssistant

We have added a new capability to OpenShiftAssistant so you can apply OpenShift Templates programmatically.

openShiftAssistant
    .usingTemplate(getClass().getClassLoader().getResource("hello-template.yaml"))
    .parameter("RESPONSE", "Hello from Arquillian Template")
.deploy();

You can see a full example at OpenShiftAssistant Template creation

Add @Template annotation in test method scope

Now you can use @Template at the method level, so the template is applied before executing the test method and everything applied from that template removed after the test is finished.

Simplify dependencies for standalone mode

With this version we have added three new dependencies which simplify the usage of Cube. Since almost all tests written in Cube are using arquillian-standalone mode, instead of having to define both arquillian-standalone and arquillian-cube, we created a starter dependency which registers both.

In case of using Cube Docker:

<dependency>
    <groupId>org.arquillian.cube</groupId>
    <artifactId>arquillian-cube-docker-starter</artifactId>
    <scope>test</scope>
</dependency>

In case of using Cube Kubernetes:

<dependency>
    <groupId>org.arquillian.cube</groupId>
    <artifactId>arquillian-cube-kubernetes-starter</artifactId>
    <scope>test</scope>
</dependency>

In case of using Cube OpenShift:

<dependency>
    <groupId>org.arquillian.cube</groupId>
    <artifactId>arquillian-cube-openshift-starter</artifactId>
    <scope>test</scope>
</dependency>

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.14.0 view tag
Release date 2018-02-02
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-istio-kubernetes-api jar javadoc pom
  • org.arquillian.cube » arquillian-cube-istio-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
  • org.arquillian.cube » arquillian-cube-requirement-spi jar javadoc pom
  • org.arquillian.cube » arquillian-cube-docker-starter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-kubernetes-starter jar javadoc pom
  • org.arquillian.cube » arquillian-cube-openshift-starter jar javadoc pom

Release notes and resolved issues 10

Bug
Other
Train/ginger
Enhancement
Docker
Documentation

Thanks to the following list of contributors: Hemani, Dipak Pawar, Arquillian, Alex Soto

Arquillian Core 1.2.1.Final Released

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

The Arquillian team is proud to announce the 1.2.1.Final release of the Arquillian Core 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 Core
Version 1.2.1.Final view tag
Release date 2018-01-23
Released by Bartosz Majsak
Compiled against

Published artifacts org.jboss.arquillian.core

  • org.jboss.arquillian.core » arquillian-core-api jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-spi jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-impl-base jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-api jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-spi jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-impl-base jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-api jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-spi jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-api jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-impl-base jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-core jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-standalone jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-container jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-core jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-standalone jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-container jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-cdi jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-ejb jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-resource jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-initialcontext jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-servlet jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-jmx jar javadoc pom
  • org.jboss.arquillian » arquillian-bom pom

Release notes and resolved issues 3

Enhancement
  • ARQ-2172 - Remove duplication in TestRunnerAdaptor
Bug
  • ARQ-2169 - Already Exported/Exploded directory should delete if exists before exploding/exporting
  • ARQ-2171 - @ClassRules should not be executed in container

Thanks to the following list of contributors: Bartosz Majsak, Matous Jobanek, Dipak Pawar

ShrinkWrap Resolver 3.1.2 Released

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

The Arquillian team is proud to announce the 3.1.2 release of the ShrinkWrap Resolver component!

What is ShrinkWrap Resolver?

The ShrinkWrap Resolvers project provides a Java API to obtain artifacts from a repository system. This is handy to include third party libraries available in any Maven repository in your test archive. ShrinkWrap Resolvers additionally allow you to reuse all the configuration you've already specified in the Maven build file, making packaging of an application archive much easier job.

Release details

Component ShrinkWrap Resolver
Version 3.1.2 view tag
Release date 2018-01-19
Released by Matous Jobanek
Compiled against

Published artifacts org.jboss.shrinkwrap.resolver

  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-bom pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-spi jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-depchain pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-maven-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-spi-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-spi-maven-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-maven-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-maven-embedded jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-maven-embedded jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-gradle jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-gradle-embedded-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-gradle-depchain pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-gradle-embedded-archive jar javadoc pom

Release notes and resolved issues 1

Bug
  • SHRINKRES-287 - The shaded maven-iml jar is exposing not relocated libraries

Thanks to the following list of contributors: Matous Jobanek