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