Arquillian Governor 1.0.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.0.0.Final release of the Arquillian Governor component!

Arquillian Governor Extension gives you the possibility to programmatically choose what test methods of your Arquillian tests are going to be executed and what are going to be skipped by putting your custom annotations on the test methods. The resolution of the test method execution is done during the test class execution in BeforeClass phase.

Currenly, there are three implementations which use API of the Arquillian Governor extension – Arquillian JIRA Governor extension, Arquillian GitHub Governor extension and Arquillian Skipper extension.

Arquillian Governor JIRA

JIRA extension enables you to skip some test mehods which are in Unresolved or Open state in your JIRA instance, because you assume that if you run that test it would fail. Once that JIRA is resolved as Done, that test method will not be skipped.

You can even close your JIRAs directly from test methods when you force the execution despite the fact it should be skipped. If this test method passes successfully, you can close related JIRA issue from test. Let’s see it in action:

@RunWith(Arquillian.class)
public class TestCase
{
    @Test
    @Jira("ARQ-1907")
    public void test()
    {
        // this test will be run because ARQ-1907 is 'Done'
        // so we assume that this test has to pass as well
    }

    @Test
    @Jira("ARQ-5000")
    public void test2()
    {
        // if this JIRA exists and its status is 'Unresolved' or 'Open'
        // this test method will be skipped because you assume that
        // if you run it, it would fail
    }
    
    @Test
    @Jira("ARQ-5000", force = true)
    public void automaticClosingTest()
    {
        // when this JIRA exists and its status is 'Unresolved' / 'Open'
        // and you have forced its execution and you set 'closePassed'
        // property in arquillian.xml to 'true', if this test method succeeds,
        // it automatically resolves respective JIRA issue as 'Done'
    }

}

Arquillian Governor GitHub

The GitHub integration work largely the same as the JIRA integration, except it of course integrate with GitHub Issues.

@RunWith(Arquillian.class)
public class AutomaticClosingTestCase
{
    @Test
    @GitHub(value = "2", force = true)
    public void automaticClosingTest)
    {
        // ...
    }
}

Arquillian Governor Skipper

On the other hand, Arquillian Governor Skipper extension adds one annotation – TestSpec – which describes your test method in more details. This information is reported to Arquillian Reporter and it is seamlessly integrated to Arquillian testing reports hence you have betteroverview about the state of your test suite.

If status is set to Status.AUTOMATED, test method will be run, if it is Status.MANUAL, it will be skipped.

@Test
@TestSpec(
    author = "Stefan Miklosovic",
    assertion = "this test should pass",
    feature = "tests if true returns true",
    issue = "ARQ-1",
    prerequisites = "have java",
    status = Status.AUTOMATED,
    steps = "some steps in order to execute this test",
    test = "what does this test do"
    )
public void someTest() {
    Assert.assertTrue(true);
}

How to use these extensions in depth is described in the exhaustive readme.

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 Governor
Version 1.0.0.Final view tag
Release date 2015-09-30
Released by Aslak Knutsen
Compiled against

Published artifacts org.arquillian.extension

  • org.arquillian.extension » arquillian-governor-spi jar javadoc pom
  • org.arquillian.extension » arquillian-governor-api jar javadoc pom
  • org.arquillian.extension » arquillian-governor jar javadoc pom
  • org.arquillian.extension » arquillian-governor-jira jar javadoc pom
  • org.arquillian.extension » arquillian-governor-skipper jar javadoc pom
  • org.arquillian.extension » arquillian-governor-github jar javadoc pom

Release notes and resolved issues 1

Other

Thanks to the following list of contributors: Aslak Knutsen, Stefan Miklosovic, Alex Soto

ShrinkWrap Descriptors 2.0.0-alpha-8 Released

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

The Arquillian team is proud to announce the 2.0.0-alpha-8 release of the ShrinkWrap Descriptors component!

Highlights in this release

Support for JBossAS/WildFly module.xml

You can now programmatically create module.xml descriptors using the following API:

 ModuleDescriptor module = Descriptors.create(ModuleDescriptor.class)
    .addDefaultNamespaces()
    .name("some.module")
    .slot("impl")
ModuleAliasDescriptor module = Descriptors.create(ModuleAliasDescriptor.class)
    .addDefaultNamespaces()
    .name("some.module")
    .slot("impl")
    .targetName("some.other.module")
    .targetSlot("main");
ModuleAbsentDescriptor module = Descriptors.create(ModuleAbsentDescriptor.class)
    .addDefaultNamespaces()
    .name("some.module")
    .slot("impl");

These descriptors can be found in the shrinkwrap-descriptors-api-jboss module.

Support for JBossAS/WildFly jboss-deployment-structure.xml

And specially configure the deployment structure of your deployment via the jboss-deployment-structure.xml descriptor:

JBossDeploymentStructureDescriptor jbossDeployStructur = create()
    .addDefaultNamespaces()
    .earSubdeploymentsIsolated(false)
    .getOrCreateDeployment()
        .getOrCreateModuleAlias().name("name1").slot("slot1").up()
            .getOrCreateExports().createExclude().path("path1").up().up();

These descriptors can be found in the shrinkwrap-descriptors-api-jboss module.

What is ShrinkWrap Descriptors?

The Shrinkwrap Descriptor project provides an uniformed fluent API for creating and modifying Java EE deployment descriptors on the fly. Starting from the very early JEE 1.3 to the brand new Java EE 7 version, the descriptor project includes almost all official deployment descriptors. Several vendor specific deployment descriptors, mostly JBoss related, are covered as well.

Release details

Component ShrinkWrap Descriptors
Version 2.0.0-alpha-8 view tag
Release date 2015-09-29
Released by Aslak Knutsen

Published artifacts org.jboss.shrinkwrap.descriptors

  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-base jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-javaee jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-javaee-prototype jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-jboss jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-misc jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-ant jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-bom pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-depchain pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-gen jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-base jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-javaee jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-javaee-prototype jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-jboss jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-misc jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-spi jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-test jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-test-util jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-metadata-parser-test jar javadoc pom

Release notes and resolved issues 3

Feature Request
Bug
  • SHRINKDESC-161 - org.jboss.shrinkwrap.descriptor.api.beans11.Scan should provide "createExclude" method

Thanks to the following list of contributors: Ralf Battenfeld, Aslak Knutsen, Toby Crawley

Arquillian Recorder 1.1.0.Alpha2 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.0.Alpha2 release of the Arquillian Recorder 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 Recorder
Version 1.1.0.Alpha2 view tag
Release date 2015-09-27
Released by Aslak Knutsen
Compiled against

Published artifacts org.arquillian.extension

  • org.arquillian.extension » arquillian-recorder-api jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-spi jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-reporter-api jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-reporter-spi jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-reporter-impl jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-screenshooter-api jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-screenshooter-spi jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-screenshooter-impl-base jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-video-api jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-video-spi jar javadoc pom
  • org.arquillian.extension » arquillian-recorder-video-impl-base jar javadoc pom
  • org.arquillian.extension » arquillian-desktop-video-recorder jar javadoc pom

Thanks to the following list of contributors: Aslak Knutsen, Stefan Miklosovic

Arquillian Governor 1.0.0.Alpha3 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.Alpha3 release of the Arquillian Governor 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 Governor
Version 1.0.0.Alpha3 view tag
Release date 2015-09-27
Released by Aslak Knutsen
Compiled against

Published artifacts org.arquillian.extension

  • org.arquillian.extension » arquillian-governor-spi jar javadoc pom
  • org.arquillian.extension » arquillian-governor-api jar javadoc pom
  • org.arquillian.extension » arquillian-governor jar javadoc pom
  • org.arquillian.extension » arquillian-governor-jira jar javadoc pom
  • org.arquillian.extension » arquillian-governor-skipper jar javadoc pom

Thanks to the following list of contributors: Stefan Miklosovic, Aslak Knutsen

ShrinkWrap Resolver 2.2.0 Released

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

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

The most significant change since the previous release is the postponing of the settings.xml loading.
Previously, when a user wanted to specify completely different settings.xml:

Maven.configureResolver().fromFile("path/to/my_settings.xml");

During the call configureResolver() the default settings.xml was immediately loaded and later on regenerated with the given my_settings.xml. This process could in some cases cause unexpected behavior (eg. the default settings.xml was corrupted).

In this new release, the loading has been postponed to the time when:

  1. the settings.xml is needed (eg. artifacts resolving)
    or
  2. the resolver is configured with some specific settings.xml (eg. calling fromFile("path/to/my_settings.xml"))

So, there is no change for the user in the usage – it now just does what the user wants (ie. when some different settings.xml is specified, the default one is never loaded).

Significant additions since the last final release 2.1.1:

Gradle importer
List resolution
MavenCoordinates as output
Better cooperation of MavenImporter and IDEs
Upgrade to Aether 1.0.0.v20140518
Upgrade to Maven 3.2.5

And many other bugfixes and feature requests. For more information see the release notes of the preceding alpha releases.

Big kudos to all contributors who helped to make this stable release.

We hope that you’ll enjoy our new release and look forward to hear your feedback on the community forums.

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 2.2.0 view tag
Release date 2015-09-16
Released by Matous Jobanek
Compiled against
  • JUnit – 4.11

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-api-gradle-embedded-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-depchain pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-gradle-depchain pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-gradle-embedded-archive 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-spi jar javadoc pom

Release notes and resolved issues 4

Feature Request
  • SHRINKRES-226 - Loading of the settings.xml configuration should be postponed
Bug
  • SHRINKRES-224 - Generated artifacts from workspace are missing directory entries
  • SHRINKRES-229 - Fix the javadoc to meet JDK 8 requirements
  • SHRINKRES-230 - Tests in ClasspathWorkspaceReaderTestCase are failing when running in IDE

Thanks to the following list of contributors: Matous Jobanek, Olivier Spieser, Michal Matloka, Karel Piwko