Author: arminw
Date: Thu Feb  2 11:25:37 2006
New Revision: 374466

URL: http://svn.apache.org/viewcvs?rev=374466&view=rev
Log:
add tests for OJB-93

Modified:
    
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
    
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java

Modified: 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
URL: 
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java?rev=374466&r1=374465&r2=374466&view=diff
==============================================================================
--- 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
 (original)
+++ 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
 Thu Feb  2 11:25:37 2006
@@ -1216,6 +1216,36 @@
         assertNull(newM1);
     }
 
+    public void testDelete_2()
+    {
+        long timestamp = System.currentTimeMillis();
+        Long id_2 = new Long(timestamp);
+        String name = "testDelete_2_" + timestamp;
+        Manager m1 = new Manager(id_2, "manager_" + name);
+
+        broker.beginTransaction();
+        broker.store(m1);
+        broker.commitTransaction();
+
+        Identity m1_oid = broker.serviceIdentity().buildIdentity(m1);
+        broker.clearCache();
+        Manager newM1 = (Manager) broker.getObjectByIdentity(m1_oid);
+        assertNotNull(newM1);
+
+        broker.beginTransaction();
+        broker.delete(newM1);
+        broker.commitTransaction();
+
+        newM1 = (Manager) broker.getObjectByIdentity(m1_oid);
+        assertNull(newM1);
+
+        Query q = QueryFactory.newQuery(
+                Employee.class,
+                new Criteria().addEqualTo("id", m1.getId()).addEqualTo("name", 
m1.getName()));
+        Object result = broker.getObjectByQuery(q);
+        assertNull(result);
+    }
+
     /**
      * Check backward compatibility with 'old' super-reference handling using 
explicite
      * anonymous field for FK to super class/table.

Modified: 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java
URL: 
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java?rev=374466&r1=374465&r2=374466&view=diff
==============================================================================
--- 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java
 (original)
+++ 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java
 Thu Feb  2 11:25:37 2006
@@ -759,7 +759,7 @@
 
         long timestamp = System.currentTimeMillis();
         Long id_2 = new Long(timestamp);
-        String name = "testUpdate" + timestamp;
+        String name = "testDelete_" + timestamp;
         Employee em1 = new Employee(id_2, "employee_" + name);
         Executive ex1 = new Executive(id_2, "executive_" + name, 
"department_1", null);
         Executive ex2 = new Executive(id_2, "executive_" + name, 
"department_2", null);
@@ -809,6 +809,52 @@
         assertNull(newEm1);
         assertNull(newEx1);
         assertNull(newM1);
+    }
+
+    public void testDelete_2() throws Exception
+    {
+        // not all objects will be deleted
+        // arminw: fixed
+        // if (ojbSkipKnownIssueProblem()) return;
+
+        long timestamp = System.currentTimeMillis();
+        Long id_2 = new Long(timestamp);
+        String name = "testDelete_2_" + timestamp;
+        Manager m1 = new Manager(id_2, "manager_" + name);
+
+        TransactionExt tx = (TransactionExt) odmg.newTransaction();
+        tx.begin();
+        database.makePersistent(m1);
+        tx.commit();
+
+        tx.begin();
+        Identity m1_oid = tx.getBroker().serviceIdentity().buildIdentity(m1);
+        tx.getBroker().clearCache();
+        Manager newM1 = (Manager) tx.getBroker().getObjectByIdentity(m1_oid);
+        tx.commit();
+
+        assertNotNull(newM1);
+        //*************************************
+        tx.begin();
+        database.deletePersistent(newM1);
+        tx.commit();
+        //*************************************
+
+        tx.begin();
+        newM1 = (Manager) tx.getBroker().getObjectByIdentity(m1_oid);
+        tx.commit();
+
+        assertNull(newM1);
+
+        tx.begin();
+        OQLQuery query = odmg.newOQLQuery();
+        // search for entry in base class table, this should removed too
+        query.create("select m from " + Employee.class.getName() + " where 
name = $1");
+        query.bind(m1.getName());
+        Collection result = (Collection) query.execute();
+        tx.commit();
+
+        assertEquals(0, result.size());
     }
 
     //************************************************************



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to