ammulder    2005/07/09 14:46:36

  Modified:    modules/openejb-builder/src/test/org/openejb/deployment
                        AbstractDeploymentTest.java
                        DeploymentTestSuite.java
  Log:

  Overwrite namespace for PK generator elements, so they don't need to be
    correct in the plan
  Add tests (now one for each type of PK gen, though one doesn't work on
    Axion)
  
  Revision  Changes    Path
  1.7       +34 -10    
openejb/modules/openejb-builder/src/test/org/openejb/deployment/AbstractDeploymentTest.java
  
  Index: AbstractDeploymentTest.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/AbstractDeploymentTest.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AbstractDeploymentTest.java       7 Jul 2005 23:15:29 -0000       1.6
  +++ AbstractDeploymentTest.java       9 Jul 2005 18:46:36 -0000       1.7
  @@ -165,7 +165,7 @@
           assertEquals("MyFistName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
       }
   
  -    public void testPKGenCMP() throws Exception {
  +    public void testPKGenCustomDBName() throws Exception {
           ObjectName cmpBeanName = ObjectName.getInstance(DOMAIN_NAME + 
":j2eeType=EntityBean,J2EEServer=" + SERVER_NAME + ",J2EEApplication=" + 
getJ2eeApplicationName() + ",EJBModule=" + getJ2eeModuleName() + 
",name=PKGenCMPEntity");
           assertRunning(getKernel(), cmpBeanName);
           assertRunning(getKernel(), new 
ObjectName("geronimo.server:name=CMPPKGenerator"));
  @@ -174,11 +174,11 @@
           assertTrue("Home is not an instance of EJBHome", cmpHome instanceof 
EJBHome);
           Object cmp = cmpHome.getClass().getMethod("create", new 
Class[]{}).invoke(cmpHome, new Object[]{});
   
  -        cmp.getClass().getMethod("setFirstName", new 
Class[]{String.class}).invoke(cmp, new Object[]{"MyFistName"});
  -        assertEquals("MyFistName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
  +        cmp.getClass().getMethod("setFirstName", new 
Class[]{String.class}).invoke(cmp, new Object[]{"MyFirstName"});
  +        assertEquals("MyFirstName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
       }
   
  -    public void testPKGenCMP2() throws Exception {
  +    public void testPKGenCustomDBParts() throws Exception {
           ObjectName cmpBeanName = ObjectName.getInstance(DOMAIN_NAME + 
":j2eeType=EntityBean,J2EEServer=" + SERVER_NAME + ",J2EEApplication=" + 
getJ2eeApplicationName() + ",EJBModule=" + getJ2eeModuleName() + 
",name=PKGenCMPEntity2");
           assertRunning(getKernel(), cmpBeanName);
           assertRunning(getKernel(), new 
ObjectName("geronimo.server:name=CMPPKGenerator2"));
  @@ -187,11 +187,11 @@
           assertTrue("Home is not an instance of EJBHome", cmpHome instanceof 
EJBHome);
           Object cmp = cmpHome.getClass().getMethod("create", new 
Class[]{}).invoke(cmpHome, new Object[]{});
   
  -        cmp.getClass().getMethod("setFirstName", new 
Class[]{String.class}).invoke(cmp, new Object[]{"MyFistName"});
  -        assertEquals("MyFistName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
  +        cmp.getClass().getMethod("setFirstName", new 
Class[]{String.class}).invoke(cmp, new Object[]{"MyFirstName"});
  +        assertEquals("MyFirstName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
       }
   
  -    public void testPKGenCMP3() throws Exception {
  +    public void testPKGenSequence() throws Exception {
           ObjectName cmpBeanName = ObjectName.getInstance(DOMAIN_NAME + 
":j2eeType=EntityBean,J2EEServer=" + SERVER_NAME + ",J2EEApplication=" + 
getJ2eeApplicationName() + ",EJBModule=" + getJ2eeModuleName() + 
",name=PKGenCMPEntity3");
           assertRunning(getKernel(), cmpBeanName);
   
  @@ -199,8 +199,32 @@
           assertTrue("Home is not an instance of EJBHome", cmpHome instanceof 
EJBHome);
           Object cmp = cmpHome.getClass().getMethod("create", new 
Class[]{}).invoke(cmpHome, new Object[]{});
   
  -        cmp.getClass().getMethod("setFirstName", new 
Class[]{String.class}).invoke(cmp, new Object[]{"MyFistName"});
  -        assertEquals("MyFistName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
  +        cmp.getClass().getMethod("setFirstName", new 
Class[]{String.class}).invoke(cmp, new Object[]{"MyFirstName"});
  +        assertEquals("MyFirstName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
  +    }
  +/* Axion JDBC driver doesn't supoort returning generated keys -- try this 
again with a different DB
  +    public void testPKGenAutoIncrement() throws Exception {
  +        ObjectName cmpBeanName = ObjectName.getInstance(DOMAIN_NAME + 
":j2eeType=EntityBean,J2EEServer=" + SERVER_NAME + ",J2EEApplication=" + 
getJ2eeApplicationName() + ",EJBModule=" + getJ2eeModuleName() + 
",name=PKGenCMPEntity4");
  +        assertRunning(getKernel(), cmpBeanName);
  +
  +        Object cmpHome = getKernel().getAttribute(cmpBeanName, "ejbHome");
  +        assertTrue("Home is not an instance of EJBHome", cmpHome instanceof 
EJBHome);
  +        Object cmp = cmpHome.getClass().getMethod("create", new 
Class[]{}).invoke(cmpHome, new Object[]{});
  +
  +        cmp.getClass().getMethod("setFirstName", new 
Class[]{String.class}).invoke(cmp, new Object[]{"MyFirstName"});
  +        assertEquals("MyFirstName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
  +    }
  +*/
  +    public void testPKGenSQL() throws Exception {
  +        ObjectName cmpBeanName = ObjectName.getInstance(DOMAIN_NAME + 
":j2eeType=EntityBean,J2EEServer=" + SERVER_NAME + ",J2EEApplication=" + 
getJ2eeApplicationName() + ",EJBModule=" + getJ2eeModuleName() + 
",name=PKGenCMPEntity5");
  +        assertRunning(getKernel(), cmpBeanName);
  +
  +        Object cmpHome = getKernel().getAttribute(cmpBeanName, "ejbHome");
  +        assertTrue("Home is not an instance of EJBHome", cmpHome instanceof 
EJBHome);
  +        Object cmp = cmpHome.getClass().getMethod("create", new 
Class[]{}).invoke(cmpHome, new Object[]{});
  +
  +        cmp.getClass().getMethod("setFirstName", new 
Class[]{String.class}).invoke(cmp, new Object[]{"MyFirstName"});
  +        assertEquals("MyFirstName", cmp.getClass().getMethod("getFirstName", 
null).invoke(cmp, null));
       }
   
       public void testMDBContainer() throws Exception {
  
  
  
  1.9       +6 -2      
openejb/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestSuite.java
  
  Index: DeploymentTestSuite.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestSuite.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- DeploymentTestSuite.java  7 Jul 2005 23:15:29 -0000       1.8
  +++ DeploymentTestSuite.java  9 Jul 2005 18:46:36 -0000       1.9
  @@ -214,11 +214,15 @@
                   connection = dataSource.getConnection();
                   statement = connection.createStatement();
                   statement.execute("CREATE TABLE SIMPLECMP(ID INTEGER, 
FIRSTNAME VARCHAR(50), LASTNAME VARCHAR(50))");
  +                statement.execute("CREATE SEQUENCE PKGENCMP4_SEQ");
  +                statement.execute("CREATE SEQUENCE PKGENCMP5_SEQ");
                   statement.execute("CREATE TABLE PKGENCMP(ID INTEGER, 
FIRSTNAME VARCHAR(50), LASTNAME VARCHAR(50))");
                   statement.execute("CREATE TABLE PKGENCMP2(ID INTEGER, 
FIRSTNAME VARCHAR(50), LASTNAME VARCHAR(50))");
                   statement.execute("CREATE TABLE PKGENCMP3(ID INTEGER, 
FIRSTNAME VARCHAR(50), LASTNAME VARCHAR(50))");
  -                statement.execute("CREATE TABLE PKGENCMP_SEQ(NAME 
VARCHAR(50), VALUE INTEGER)");
  +                statement.execute("CREATE TABLE PKGENCMP4(ID INTEGER DEFAULT 
PKGENCMP4_SEQ.NEXTVAL, FIRSTNAME VARCHAR(50), LASTNAME VARCHAR(50))");
  +                statement.execute("CREATE TABLE PKGENCMP5(ID INTEGER, 
FIRSTNAME VARCHAR(50), LASTNAME VARCHAR(50))");
                   // First two sequence rows initialized by OpenEJB wrappers 
around PK generators
  +                statement.execute("CREATE TABLE PKGENCMP_SEQ(NAME 
VARCHAR(50), VALUE INTEGER)"); 
                   statement.execute("INSERT INTO PKGENCMP_SEQ 
VALUES('PKGENCMP3', 100)");
               } finally {
                   JDBCUtil.close(statement);
  
  
  

Reply via email to