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 2007/10/18 09:39:00 UTC

svn commit: r585893 - /incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java

Author: lresende
Date: Thu Oct 18 00:38:59 2007
New Revision: 585893

URL: http://svn.apache.org/viewvc?rev=585893&view=rev
Log:
Adding a variation of the test case to show provided connection on a managed environment

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

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java?rev=585893&r1=585892&r2=585893&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java Thu Oct 18 00:38:59 2007
@@ -19,13 +19,14 @@
 package org.apache.tuscany.das.rdb.test;
 
 /*
- * Test capability to participate in an extenrlly managed transaction. 
+ * Test capability to participate in an extenrnally managed transaction. 
  * The client is managing the transaction boundary so the DAS will not issue
  * commit/rollback
  * 
  */
 
 import org.apache.tuscany.das.rdb.Command;
+import org.apache.tuscany.das.rdb.ConfigHelper;
 import org.apache.tuscany.das.rdb.DAS;
 import org.apache.tuscany.das.rdb.test.data.CustomerData;
 import org.apache.tuscany.das.rdb.test.framework.DasTest;
@@ -91,4 +92,57 @@
         assertEquals("Pavick", root.getString("CUSTOMER[1]/LASTNAME"));
     }
 
+    /**
+     * Read and modify a customer. Uses a "passive" connection
+     */
+    public void testReadModifyApplyWithoutConfig() throws Exception {
+
+        // Create and initialize a DAS connection and initialize for externally
+        // managed transaction boundaries
+        java.sql.Connection c = getConnection();
+
+        // Create config programmatically
+        ConfigHelper helper = new ConfigHelper();
+        helper.addConnectionInfo(null, false);
+
+        DAS das = DAS.FACTORY.createDAS(helper.getConfig(), c);
+        // Read customer 1
+        Command select = das.createCommand("Select * from CUSTOMER where ID = 1");
+        DataObject root = select.executeQuery();
+
+        DataObject customer = (DataObject) root.get("CUSTOMER[1]");
+
+        String lastName = customer.getString("LASTNAME");
+
+        // Modify customer
+        customer.set("LASTNAME", "Pavick");
+
+        try {
+            das.applyChanges(root);
+
+            throw new Exception("Test Exception");
+
+            // Since the DAS is not managing tx boundaries, I must
+        } catch (Exception e) {
+            // assert here to make sure we didn't run into some hidden error
+            assertEquals("Test Exception", e.getMessage());
+            // Roll back the transaction
+            c.rollback();
+        }
+
+        // Verify that the changes did not go through
+        root = select.executeQuery();
+        assertEquals(lastName, root.getString("CUSTOMER[1]/LASTNAME"));
+
+        // Try again
+        customer = (DataObject) root.get("CUSTOMER[1]");
+        customer.set("LASTNAME", "Pavick");
+        das.applyChanges(root);
+        c.commit();
+
+        root = select.executeQuery();
+        assertEquals("Pavick", root.getString("CUSTOMER[1]/LASTNAME"));
+    }
+    
+    
 }



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