You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2006/12/21 16:51:58 UTC

svn commit: r489391 - in /incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test: CrudWithChangeHistory.java PartialUpdateTests.java

Author: lresende
Date: Thu Dec 21 07:51:58 2006
New Revision: 489391

URL: http://svn.apache.org/viewvc?view=rev&rev=489391
Log:
TUSCANY-1008

Modified:
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java?view=diff&rev=489391&r1=489390&r2=489391
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java Thu Dec 21 07:51:58 2006
@@ -268,33 +268,6 @@
 
     }
 
-    /**
-     * Read graph.  Add new DO and apply without seting any attributes.
-     * 
-     */
-/*    public void testReadInsertApply() throws Exception {
-
-        DAS das = DAS.FACTORY.createDAS(getConnection());
-        // Read some customers
-        Command select = das.createCommand("Select * from CUSTOMER");
-        DataObject root = select.executeQuery();
-        
-        //Remember count
-        int count = root.getList("CUSTOMER").size();
-
-        // Create a new customer
-        root.createDataObject("CUSTOMER");
-
-        // Build apply changes command
-        das.applyChanges(root);
-
-        // verify insert
-        root = select.executeQuery();
-        assertEquals(count + 1, root.getList("CUSTOMER").size());
-
-    }*/
-    
-    
     public void testReadModifyApplyWithAssumedID() throws Exception {
 
         DAS das = DAS.FACTORY.createDAS(getConnection());

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java?view=diff&rev=489391&r1=489390&r2=489391
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java Thu Dec 21 07:51:58 2006
@@ -42,7 +42,10 @@
         super.tearDown();
     }
 
-    public void testPartialUpdate() throws SQLException {
+    /**
+     * Update with one changed property
+     */
+    public void testPartialUpdateSingleProperty() throws SQLException {
         DAS das = DAS.FACTORY.createDAS(getConnection());
         Command readCustomers = das.createCommand("select * from CUSTOMER where ID = 1");
 
@@ -69,13 +72,176 @@
         assertEquals("main street", customer.getString("ADDRESS"));
     }
 
-    public void testPartialInsert() throws SQLException {
+    /**
+     * Update with all changed properties
+     */
+    public void testPartialUpdateAllProperties() throws SQLException {
         DAS das = DAS.FACTORY.createDAS(getConnection());
         Command readCustomers = das.createCommand("select * from CUSTOMER where ID = 1");
 
         // Read
         DataObject root = readCustomers.executeQuery();
 
+        DataObject customer = root.getDataObject("CUSTOMER[1]");
+        // Verify
+        assertEquals(1, customer.getInt("ID"));
+
+        customer.setString("LASTNAME", "lastname modified");
+        customer.setString("ADDRESS", "address modified");
+        
+        das.applyChanges(root);
+
+        root = readCustomers.executeQuery();
+
+        // If partial update was not used, LASTNAME would not be 'modified'
+        customer = root.getDataObject("CUSTOMER[1]");
+        assertEquals(1, customer.getInt("ID"));
+        assertEquals("lastname modified", customer.getString("LASTNAME"));
+        assertEquals("address modified", customer.getString("ADDRESS"));
+    }    
+    
+    /**
+     * Insert with no changed properties and no generated ID
+     * Read graph.  Add new DO and apply without seting any attributes.
+     * 
+     */
+//    public void testPartialReadInsertApply() throws Exception {
+//
+//        DAS das = DAS.FACTORY.createDAS(getConnection());
+//        // Read some customers
+//        Command select = das.createCommand("Select * from CUSTOMER");
+//        DataObject root = select.executeQuery();
+//        
+//        //Remember count
+//        int count = root.getList("CUSTOMER").size();
+//
+//        // Create a new customer
+//        root.createDataObject("CUSTOMER");
+//
+//        // Build apply changes command
+//        das.applyChanges(root);
+//
+//        // verify insert
+//        root = select.executeQuery();
+//        assertEquals(count + 1, root.getList("CUSTOMER").size());
+//
+//    }
+
+    /**
+     * Insert with no changed properties to row with generated ID
+     * Read graph.  Add new DO and apply without seting any attributes. 
+     */
+    public void testPartialInsertWithGeneratedID() throws Exception {
+
+        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"),getConnection());
+        // Read some companies
+        Command select = das.createCommand("Select * from COMPANY");
+        DataObject root = select.executeQuery();
+        
+        //Remember count
+        int count = root.getList("COMPANY").size();
+
+        // Create a new company
+        root.createDataObject("COMPANY");
+
+        // Build apply changes command
+        das.applyChanges(root);
+
+        // verify insert
+        root = select.executeQuery();
+        assertEquals(count + 1, root.getList("COMPANY").size());
+
+    }
+    
+    /**
+     * Insert with 1 changed property that is not the ID
+     * @throws SQLException
+     */
+    public void testPartialInsertWithSinglePropertyChange() throws Exception {
+
+        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"),getConnection());
+        // Read some company
+        Command select = das.createCommand("Select * from COMPANY");
+        DataObject root = select.executeQuery();
+        
+        //Remember count
+        int count = root.getList("COMPANY").size();
+
+        // Create a new company
+        DataObject company = root.createDataObject("COMPANY");
+        company.setString("NAME", "New company name");
+        
+        // Build apply changes command
+        das.applyChanges(root);
+
+        // verify insert
+        root = select.executeQuery();
+        assertEquals(count + 1, root.getList("COMPANY").size());
+    }
+
+    /**
+     * Insert with 1 changed property that is the ID
+     * @throws SQLException
+     */
+    public void testPartialInsertWithIdChange() throws SQLException {
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+        Command readCustomers = das.createCommand("select * from CUSTOMER");
+
+        // Read
+        DataObject root = readCustomers.executeQuery();
+
+        // Create a new customer
+        DataObject newCust = root.createDataObject("CUSTOMER");
+        newCust.set("ID", Integer.valueOf(200));
+        // Purposely do not set lastname to let it default to 'Garfugengheist'
+        // newCust.set("LASTNAME", "Gerkin" );
+
+        das.applyChanges(root);
+
+        Command readNewCust = das.createCommand("select * from CUSTOMER where ID = 200");
+        root = readNewCust.executeQuery();
+
+        // If partial insert was not used, LASTNAME would not be
+        // 'Garfugengheist'
+        newCust = root.getDataObject("CUSTOMER[1]");
+        assertEquals(200, newCust.getInt("ID"));
+        assertEquals("Garfugengheist", newCust.getString("LASTNAME"));
+        assertNull(newCust.getString("ADDRESS"));
+
+    }
+    
+    public void testPartialInsertWithAllPropertyChange() throws SQLException {
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+        Command readCustomers = das.createCommand("select * from CUSTOMER");
+
+        // Read
+        DataObject root = readCustomers.executeQuery();
+
+        // Create a new customer
+        DataObject newCust = root.createDataObject("CUSTOMER");
+        newCust.set("ID", Integer.valueOf(300));
+        newCust.set("ADDRESS", "5528 Wells Fargo Drive");
+        newCust.set("LASTNAME", "Gerkin" );
+
+        das.applyChanges(root);
+
+        Command readNewCust = das.createCommand("select * from CUSTOMER where ID = 300");
+        root = readNewCust.executeQuery();
+
+        newCust = root.getDataObject("CUSTOMER[1]");
+        assertEquals(300, newCust.getInt("ID"));
+        assertEquals("Gerkin", newCust.getString("LASTNAME"));
+        assertEquals("5528 Wells Fargo Drive", newCust.getString("ADDRESS"));
+
+    }
+    
+    public void testPartialInsert() throws SQLException {
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+        Command readCustomers = das.createCommand("select * from CUSTOMER");
+
+        // Read
+        DataObject root = readCustomers.executeQuery();
+
         // Create a new customer
         DataObject newCust = root.createDataObject("CUSTOMER");
         newCust.set("ID", Integer.valueOf(100));
@@ -96,4 +262,6 @@
         assertEquals("5528 Wells Fargo Drive", newCust.getString("ADDRESS"));
 
     }
+    
+    
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org