jlaskowski    2005/07/17 13:36:33

  Modified:    modules/itests/src/itest/org/openejb/test
                        DerbyTestDatabase.java
  Log:

  A testcase that shows the issue with running PetStore 1.3.2 in 
Geronimo/OpenEJB.
  
  To execute the testcase and see the issue do the following:
  
   1. Check out the changes
   2. Remove 'BUG_' from the method names of 
org.openejb.test.entity.cmp2.PetstoreTests
  
       + BUG_test01_create()
       + BUG_test02_setterAfterCreate()
  
   3. Go to modules/itests directory
   4. Run itests
  
       maven -Dmaven.itest.includes=**/Cmp2TestSuite.java
  
   5. Look at 
target/itest-reports/TEST-org.openejb.test.entity.cmp2.Cmp2TestSuite.txt
  
  See http://docs.openejb.org/Creating+itests for more information about 
OpenEJB itests module and how to create and run EJB tests
  
  Revision  Changes    Path
  1.4       +70 -11    
openejb/modules/itests/src/itest/org/openejb/test/DerbyTestDatabase.java
  
  Index: DerbyTestDatabase.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/itests/src/itest/org/openejb/test/DerbyTestDatabase.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DerbyTestDatabase.java    22 Jun 2005 11:27:18 -0000      1.3
  +++ DerbyTestDatabase.java    17 Jul 2005 17:36:33 -0000      1.4
  @@ -1,33 +1,90 @@
  +/* ====================================================================
  + * Redistribution and use of this software and associated documentation
  + * ("Software"), with or without modification, are permitted provided
  + * that the following conditions are met:
  + *
  + * 1. Redistributions of source code must retain copyright
  + *    statements and notices.  Redistributions must also contain a
  + *    copy of this document.
  + *
  + * 2. Redistributions in binary form must reproduce this list of
  + *    conditions and the following disclaimer in the documentation
  + *    and/or other materials provided with the distribution.
  + *
  + * 3. The name "OpenEJB" must not be used to endorse or promote
  + *    products derived from this Software without prior written
  + *    permission of The OpenEJB Group.  For written permission,
  + *    please contact [EMAIL PROTECTED]
  + *
  + * 4. Products derived from this Software may not be called "OpenEJB"
  + *    nor may "OpenEJB" appear in their names without prior written
  + *    permission of The OpenEJB Group. OpenEJB is a registered
  + *    trademark of The OpenEJB Group.
  + *
  + * 5. Due credit should be given to the OpenEJB Project
  + *    (http://www.openejb.org/).
  + *
  + * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
  + * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
  + * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
  + * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  + * OF THE POSSIBILITY OF SUCH DAMAGE.
  + *
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the OpenEJB Project.  For more information
  + * please see <http://www.openejb.org/>.
  + *
  + * ====================================================================
  + */
   package org.openejb.test;
   
   import java.sql.SQLException;
   
  -
   /**
  - *
  + * @version $Revision$ $Date$
    */
   public class DerbyTestDatabase extends AbstractTestDatabase {
       private static final String CREATE_ACCOUNT = "CREATE TABLE account ( ssn 
VARCHAR(25), first_name VARCHAR(256), last_name VARCHAR(256), balance integer)";
  +
       private static final String DROP_ACCOUNT = "DROP TABLE account";
   
       private static final String CREATE_ENTITY = "CREATE TABLE entity ( id 
integer GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), first_name 
VARCHAR(256), last_name VARCHAR(256) )";
  +
       private static final String DROP_ENTITY = "DROP TABLE entity";
   
       private static final String CREATE_ENTITY_EXPLICIT_PK = "CREATE TABLE 
entity_explicit_pk ( id integer, first_name VARCHAR(256), last_name 
VARCHAR(256) )";
  +
       private static final String DROP_ENTITY_EXPLICIT_PK = "DROP TABLE 
entity_explicit_pk";
  -    
  +
       private static final String CREATE_ADDRESS = "CREATE TABLE address (id 
INTEGER, street VARCHAR(256), city VARCHAR(256))";
  +
       private static final String DROP_ADDRESS = "DROP TABLE address";
  -    
  +
       private static final String CREATE_LINE_ITEM = "CREATE TABLE line_item 
(id INTEGER, quantity INTEGER, fk_order INTEGER, fk_product INTEGER)";
  +
       private static final String DROP_LINE_ITEM = "DROP TABLE line_item";
   
       private static final String CREATE_ORDER = "CREATE TABLE order_table (id 
INTEGER, reference VARCHAR(256), fk_shipping_address INTEGER, 
fk_billing_address INTEGER)";
  +
       private static final String DROP_ORDER = "DROP TABLE order_table";
   
       private static final String CREATE_PRODUCT = "CREATE TABLE product (id 
INTEGER, name VARCHAR(256), product_type VARCHAR(256))";
  +
       private static final String DROP_PRODUCT = "DROP TABLE product";
   
  +    private static final String CREATE_SEQUENCE_TABLE = "CREATE TABLE 
SEQUENCE_TABLE (ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, 
INCREMENT BY 1), DUMMY INT)";
  +
  +    private static final String DROP_SEQUENCE_TABLE = "DROP TABLE 
SEQUENCE_TABLE";
  +
       static {
           System.setProperty("noBanner", "true");
       }
  @@ -55,7 +112,7 @@
       protected String getDropEntityExplicitPK() {
           return DROP_ENTITY_EXPLICIT_PK;
       }
  -    
  +
       public void createCMP2Model() throws SQLException {
           executeStatementIgnoreErrors(DROP_ACCOUNT);
           executeStatement(CREATE_ACCOUNT);
  @@ -68,11 +125,14 @@
   
           executeStatementIgnoreErrors(DROP_ORDER);
           executeStatement(CREATE_ORDER);
  -        
  +
           executeStatementIgnoreErrors(DROP_PRODUCT);
           executeStatement(CREATE_PRODUCT);
  +
  +        executeStatementIgnoreErrors(DROP_SEQUENCE_TABLE);
  +        executeStatement(CREATE_SEQUENCE_TABLE);
       }
  -    
  +
       public void dropCMP2Model() throws SQLException {
           executeStatementIgnoreErrors(DROP_ACCOUNT);
   
  @@ -81,10 +141,9 @@
           executeStatementIgnoreErrors(DROP_LINE_ITEM);
   
           executeStatementIgnoreErrors(DROP_ORDER);
  -        
  +
           executeStatementIgnoreErrors(DROP_PRODUCT);
  +
  +        executeStatementIgnoreErrors(DROP_SEQUENCE_TABLE);
       }
   }
  -
  -
  -
  
  
  

Reply via email to