Arquillian Core 1.1.9.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.1.9.Final release of the Arquillian Core component!

Highlights in this release

@ArquillianResource URL for in-container tests

You can now inject the base URL for any deployment by using the @ArquillianResource injection point even in in-container tests.

@Deployment
public static WebArchive test() {
   return ShrinkWrap.create(WebArchive.class);
}

@Deployment(name = "X")
public static WebArchive test2() {
   return ShrinkWrap.create(WebArchive.class);
}

@ArquillianResource
private URL url;

@Test
public void should() {
   // ... inject the url to the default deployment
}

@Test
public void shouldX(@ArquillianResource @OperatesOnDeployment("X") URL url) {
   // .. inject the url from the other deployment
}

When in-container URL injection happen a callback to the client is done to lookup the URL. A clalback has a little performance hit so it’s only recommended to do this if really needed.

@ArquillianResource ServletContext for in-container tests

The Servlet Protocol now expose the current ServletContext for a in-container test execution via the @ArquillianResource injection point.

@ArquillianResource
private ServletContext context;

When running Arquillian with the Tomcat or Jetty embedded container adapters, then ServletContext injection is supported on the client side as well in the next release.

Support ENV variables to configure Arquillian

We’ve opened up to allow to configure Arquillian via ENV variables following the same schema as for System Properties. The new configuration override order is as following:

  1. arquillian.xml
  2. arquillian.properties
  3. System properties
  4. ENV

Higher the number, higher the power.

Use secure communication when invoking in-container tests

Have you ever seen invoking Arquillian tests over a public network as a risk? Then this is your lucky day! The ServletProtocolConfiguration has been changed to allow for https based communication with the target container.

<container>
   <protocol qualifier="Servlet 3.0">
      <property name="scheme">https</property>
      <property name="port">8443</property>
   </protocol>
</container>

Currently no container adapter support automatic lookup of https context metadata so you need to manually configure the https port. The host should be auto resolved tho.

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.1.9.Final view tag
Release date 2015-09-02
Released by Aslak Knutsen
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 5

Enhancement
  • ARQ-540 - Support @ArquillianResource URL for in-container test cases
Feature Request
  • ARQ-1966 - Support ENV variables to configure Arquillian
  • ARQ-1975 - Adds ServletContext as Arquillian Resource
  • ARQ-1977 - Allow for setting the protocol in ServletProtocolConfiguration
Bug
  • ARQ-1976 - All ResourceProvider#canProvide implementations could try to inject subtypes

Thanks to the following list of contributors: Aslak Knutsen, Radoslav Husar, Hielke Hoeve, George Gastaldi, Alex Soto