8 Replies Latest reply on Dec 3, 2013 6:43 AM by Unice Gwe Mbuamuh

    Arquillian Persistence questions and a possible bug in 1.0.0.Alpha5 on an Oracle database

    Patrick Verboom Newbie

      Dear All,

       

      I am using Arquillian with Arquillian persistence 1.0.0.Alpha5 on an Oracle database.

      I am having two questions about this Arquillian extension.

       

      First question:

       

      Is it possible to get a reference to the  org.dbunit.IDatabaseTester object that is being used?

      I would like to use it to execute assert queries.

       

       

      Second question:

       

      Following the change log from 1.0.0.Alpha5 it is supposed to support schema's.

       

      Somehow this doesn't seem to be working the way I would expect it to work.

       

      I have the following in my arquillian.xml file ( I have tried other combinations as well):

      <extension qualifier="persistence">

      <property name="defaultDataSource">jdbc/testDs</property>

      <property name="userTransactionJndi">java:jboss/UserTransaction</property>

      <property name="skipOracleRecycleBinTables">true</property>

      <property name="defaultDataSetLocation">datasets/</property>

      <property name="defaultDataSetFormat">EXCEL</property>

      <property name="dataSeedStrategy">CLEAN_INSERT</property>

      <property name="batchedStatements">true</property>

      <property name="datatypeFactory">org.dbunit.ext.oracle.OracleDataTypeFactory</property>

      <property name="qualifiedTableNames">true</property>

      <property name="schema">test</property>

      </extension>

       

      @UsingDataSet(value = "dataset.xls")

      @Cleanup(strategy = CleanupStrategy.STRICT, phase = TestExecutionPhase.BEFORE)

      @Test

      public void testMethod() {

      }

       

      When I execite it without the @Cleanup than it does an insert but no delete_all before the execution from the test method.

      To my understanding this is wrong since DBUnit should execute a delete_all and than an insert.

       

      When I execute it with the @Cleanup than it does a delete but it is not using the tables specified in the dataset nor does it use the schema specified in the arquillian.xml.

      The cleanup method tries to execute delete statements on tables existing in a completely different schema's.

      This results in Oracle table does not exist exceptions.

       

      Am I do something wrong? Is there something else I need to configure for this to work?

      Before I fillout a bug ticket I would like to make sure it is not something I misconfigured.

       

      Kind regards,

      Patrick