Arquillian Persistence Extension 1.0.0.Alpha6 Released

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

Arquillian Persistence Extension is back on the release train and the future plan is stronger than ever. The Alpha6 release brings a lot of improvements and fixes thanks to invaluable feedback from the community.

Big thanks go to Marco Cella, Matti Linnanvuori, Bernard Łabno, Tiago Wanke Marques, Karsten Ohme, Vineet Reynolds, Cyrill Ruettimann, Bryan Saunders, Anton Shaykin, Nicolas-Xavier Vanderlinden and Noah White for their feedback which led us to fix some minor annoyances and shortcomings of APE. We are proud of the vibrant and active community around Arquillian!

Some of the highlights in this release

Transaction support has been replaced with Transaction Extension. By default the JTA implementation is included. The only thing you will need to change in your tests is the import sttement for the @Transactional annotation. From now on it’s under org.jboss.arquillian.transaction.api.annotation.

Support for row ordering when comparing datasets. When using Generated ID’s for instance, such as UUID’s, the rows need to be sorted in order for the DbUnit comparison to pass. If they are not ordered, then the assertion is unreliable.

Improved error reporting, including rows comparision and misconfigured entries.

DTD support for flat XML data sets (DBUnit feature).

Proper support for multiple line SQL scripts with comments (ANSI SQL compliant)

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

Important change: We re-groupped configuration entries arquillian.xml giving them more qualifiers:
persistence – for all basic settings
persistence-dbunit – for DBUnit specific configuration
persistence-script – for SQL related things
Please refer to our confluence documentation for detailed description.

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.Alpha6 view tag
Release date 2013-03-07
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-persistence-api jar pom
  • org.jboss.arquillian.extension » arquillian-persistence-impl jar pom

Release notes and resolved issues 27

Bug
  • ARQ-1028 - @ShouldMatchDataSet before persist
  • ARQ-1081 - DTD not supported by APE
  • ARQ-1086 - @CleanuUsingScript with phase NONE
  • ARQ-1087 - Wrong dump directory path
  • ARQ-1094 - @ShouldMatchDataSet Not Properly Comparing Datasets
  • ARQ-1100 - Datetime conversion does not work as expected for YAML data sets
  • ARQ-1101 - Exception with nested transaction with MySQL
  • ARQ-1127 - Order of scripts and data sets should be preserved when defined on class level
  • ARQ-1146 - Single statement which spans multiple lines is not handled properly
  • ARQ-1167 - Transactional support from Seam 3 interfere Persistence Extension resulting in ExclusiveTransactionException
  • ARQ-1208 - Multiple line statements are not handled properly
  • ARQ-1299 - Persistence extension throws NPE with empty table DataSets
  • ARQ-1300 - Execute script handler does not properly ignore /* */ and {} ANSI compliant SQL comments
Enhancement
  • ARQ-1085 - Unify JPA Cache eviction events with APE
  • ARQ-1215 - Clean slf4j dependency
Feature Request
  • ARQ-1093 - Support for Row Ordering when Comparing Datasets
  • ARQ-1149 - Dataset comparision should collect all differences in the rows instead of failing on the first column
  • ARQ-1157 - Replace Persistence internal Transaction management with Transaction Extension
  • ARQ-1231 - Should observe required object ArquillianDescriptor instead of assuming Lifecycle
  • ARQ-1248 - Add Derby to the testing matrix
  • ARQ-1333 - Should provide more meaningful diagnostic messages
Task
  • ARQ-1342 - Clean up POM
  • ARQ-1343 - Schema creation scripts should be repeatable
Sub-task
  • ARQ-1158 - Extract JTA from APE and replace with Transaction Extension dependency
  • ARQ-1334 - Should inform if table defined for exclusion is not defined in the schema
  • ARQ-1335 - Should inform when non-defined configuration key encountered in arquillian.xml

Thanks to the following list of contributors: Bartosz Majsak, Jakub Narloch, Aslak Knutsen, Vineet Reynolds, Artur Dryomov