Arquillian Drone Extension 2.0.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 2.0.0.Alpha2 release of the Arquillian Drone Extension 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 Drone Extension
Version 2.0.0.Alpha2 view tag
Release date 2014-05-12
Released by Karel Piwko
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-drone-bom pom
  • org.jboss.arquillian.extension » arquillian-drone-webdriver-depchain pom
  • org.jboss.arquillian.extension » arquillian-drone-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-spi jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-configuration jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-impl jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-selenium-server jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-webdriver jar javadoc pom

Release notes and resolved issues 10

Component Upgrade
  • ARQ-1752 - Upgrade junit dependency to version 4.11
  • ARQ-1755 - Update Selenium to 2.41.0
Enhancement
  • ARQ-1045 - Fail fast if path to browser is not valid
Feature Request
  • ARQ-1744 - Provide metadata storage in DroneContext
  • ARQ-1745 - Rename InjectionPoint
  • ARQ-1746 - Remove objects (instance, configuration) from Drone events
  • ARQ-1747 - Move InjectionPoint one level up in DroneContext
Bug
  • ARQ-1771 - Putting custom annotation on Drone creates multiple instances
Task
  • ARQ-1691 - Flexible model for browsers SPI
  • ARQ-1754 - Replace deprecated junit.framework.Assert

Thanks to the following list of contributors: Tadeas Kriz, Karel Piwko

Arquillian Persistence Extension 1.0.0.Alpha7 Released

The Arquillian team is proud to announce the 1.0.0.Alpha7 release of the Arquillian Persistence Extension component!

After quite a while we are happy to announce new version of Arquillian Persistence Extension with anticipated fixes and improvements.

Big thanks go to Sándor Bodó-Merle, Michel Graciano, Masao Kunii, kumm and Jakub Narloch for their contributions as well as all users who gave us feedback on the community forums.

Some of the highlights in this release

SQL script handling improvements

SQL script handling has been significantly improved. It not only has improved performance (namely for Oracle) but also let you provide your own implementation for parsing multi-line scripts through simple SPI org.jboss.arquillian.persistence.spi.script.StatementSplitter.

Direct access to DBUnit

Ability to inject DBUnit DatabaseConnection making it possible to interact with DBUnit directly in the tests.

@ArquillianResource
private DatabaseConnection databaseConnection;
New SPI module

Through newly introduce SPI module you can now register your own datasource providers. This can be leveraged by frameworks such as Spring which can now do their own lookups (from application context) instead of relying on JNDI.

New extension point

We have also implemented extension point to define custom implementation of org.dbunit.database.DatabaseSequenceFilter which is used to seed and clean database by DBUnit. Out of the box we provide sequence filter strategy for Oracle. You can register it in arquillian.xml as part of persistence-dbunit

<property name=“filterTables”>true</property>
<property name=“customTableFilter”>org.jboss.arquillian.persistence.dbunit.filter.OracleDatabaseSequenceFilterProvider</property>
Custom filtering strategy

You can also define column filtering strategy when comparing datasets through @ShouldMatchDataSet annotation. By simply providing an implementation of org.dbunit.dataset.filter.IColumnFilter and decorating your test with e.g. @CustomColumnFilter({FirstNameColumnFilter.class, LastNameColumnFilter.class}). Filter classes are packaged automatically.

This version comes with latest DBUnit 2.5.0.

We’ve also extended our test suite by adding Apache Tomee to our continuous integration pipeline.

We are still shaping up the extension and its modularity hence we split modules in the following manner:
persistence-api
persistence-core
persistence-dbunit – you can replace old impl dependency by this one
persistence-spi – SPI for future extensions

We look forward to hearing your feedback about this release in the community forums!

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 Persistence Extension
Version 1.0.0.Alpha7 view tag
Release date 2014-05-12
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-persistence-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-persistence-core jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-persistence-dbunit jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-persistence-spi jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-persistence-integration-tests jar javadoc pom

Release notes and resolved issues 16

Enhancement
  • ARQ-812 - Split DBUnit and Core implemenation
  • ARQ-1398 - DatabaseSequenceFilter should be optional
Feature Request
  • ARQ-1147 - Improve the column filtering feature to use custom IColumnFilter implementations
  • ARQ-1338 - Should be able to define ad-hoc sql script through ApplyScript annotation
  • ARQ-1355 - Access the DatabaseConnection for additional verifications in an arquillian test
  • ARQ-1444 - Oracle does not support query delimiter inside statements
  • ARQ-1572 - Marry Persistence and JRebel extensions
  • ARQ-1664 - Provide custom table filter for seeding and cleaning databases
Bug
  • ARQ-1009 - ClassNotFoundException when using CLEAN_INSERT
  • ARQ-1352 - Script can not insert unix path separator '/' into the DB
  • ARQ-1360 - Persistence extension doesn't handle certain special characters.
  • ARQ-1373 - Cleanup does not work when none datasets provided for seeding
  • ARQ-1440 - Performance drops > 300%
  • ARQ-1530 - Column ordering does not work properly due to DBUnit bug
Task
  • ARQ-1646 - Add WildFly managed container

Thanks to the following list of contributors: Bartosz Majsak, Aslak Knutsen, Kumm, Sandor Bodo-merle, Michel Graciano, Masao Kunii, Jakub Narloch

Arquillian AngularJS 1.2.0.Alpha1 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.0.Alpha1 release of the Arquillian AngularJS component!

New Arquillian Extension for AngularJS!

This is the first release of a new Arquillian Extension for use with AngularJS. Initially we’re providing extensions to Arquillian Graphene, but we’re interested in hearing your ideas for other possible extensions to the Arquillian universe for AngularJS testing.

It might seem odd that the first release of a completely new extension is 1.2.0.Alpha1, but we’re intending to tie the releases of this extension to the minor releases of AngularJS. What that means is that this release will be compatible with 1.2.x versions of AngularJS. Whether the extension is compatible with versions of AngularJS outside 1.2.x depends on the extent that we have depended on AngularJS internal APIs that were either not present in previous versions, or removed in future ones.

Graphene enhancements for AngularJS

  • WebDriver event synchronization
  • @FindByNg selectors (see below)

@FindByNg Selectors

With this first release, we support the following use of @FindByNg:

  • Model bindings – @FindByNg(model = "..")
  • Button, link or form actions – @FindByNg(action = "..")
  • Repeated DOM blocks – @FindByNg(repeat = "..")

Here’s an example of these in use:

@RunWith(Arquillian.class)
@RunAsClient
public class AngularTest {

    ..

    @FindByNg(model = "todo.done")
    List<WebElement> todos;

    @FindByNg(model = "todoText")
    WebElement todoEntry;

    @FindByNg(action = "archive()")
    WebElement archive;

    @FindByNg(action = "addTodo()")
    WebElement addTodo;

    @FindByNg(repeat = "todo in todos")
    List<WebElement> todoRepeat;

    @Before
    public void loadPage() {
        browser.navigate().to(contextRoot + "index.html");
    }

    @Test
    public void testNumberOfTodos() {
        assertEquals(2, todos.size());
    }

    @Test
    public void testArchive() {
        assertEquals(2, todos.size());
        archive.click();
        assertEquals(1, todos.size());
    }

    @Test
    public void testAddTodo() {
        assertEquals(2, todos.size());
        todoEntry.sendKeys("This is a new TODO item");
        addTodo.submit();
        assertEquals(3, todos.size());
    }

    @Test
    public void testRepeater() {
        assertEquals(2, todoRepeat.size());
        WebElement secondRow = todoRepeat.get(1);
        WebElement checkbox = secondRow.findElement(By.tagName("input"));
        WebElement todoItem = secondRow.findElement(By.tagName("span"));
        assertEquals("second todo", todoItem.getText());

        checkbox.click();
        archive.click();

        assertEquals(0, todoRepeat.size());
    }
}

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

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 AngularJS
Version 1.2.0.Alpha1 view tag
Release date 2014-05-05
Released by Ken Finnigan
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-angularjs-graphene pom
  • org.jboss.arquillian.extension » arquillian-angularjs-graphene-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-angularjs-graphene-impl jar javadoc pom

Release notes and resolved issues 0

First Alpha for support for Angular 1.2

Thanks to the following list of contributors: Ken Finnigan, Lukas Fryc

Arquillian Container WebSphere AS 1.0.0.Beta1 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.Beta1 release of the Arquillian Container WebSphere AS 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 Container WebSphere AS
Modules
Version 1.0.0.Beta1 view tag
Release date 2014-04-25
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.container

  • org.jboss.arquillian.container » arquillian-was-remote-7 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-was-embedded-8 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-was-remote-8 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-was-remote-8.5 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-wlp-managed-8.5 jar javadoc pom

Release notes and resolved issues 8

Stable API v

Enhancement
  • ARQ-1729 - Add ability to deploy application to WAS Liberty server.xml file
  • ARQ-1736 - Make defaultServer the default serverName in WLP Managed
  • ARQ-1762 - Add configuration for keyStoreType and trustStoreType
Feature Request
  • ARQ-1624 - Create a DeployableContainer integration for remote WAS V8.5
  • ARQ-1764 - Expose AllowConnectingToRunningServer configuration option
Bug
  • ARQ-1737 - Missing Container Configuration cause NullPointerException in validate
  • ARQ-1759 - Could not start container LifecycleException with wlp-managed container

Thanks to the following list of contributors: Gerhard Poul, Aslak Knutsen, Nichole Stewart

ShrinkWrap Resolver 2.2.0-alpha-2 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-alpha-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 2.2.0-alpha-2 view tag
Release date 2014-04-17
Released by Karel Piwko
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 2

Bug
  • SHRINKRES-177 - Version range resolution fails if metadata file doesn't exist in local repository
  • SHRINKRES-178 - Class path resolution should omit directories it does not understand

Thanks to the following list of contributors: Karel Piwko, Tadeas Kriz