You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by kw...@apache.org on 2007/01/04 22:35:49 UTC
svn commit: r492758 -
/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java
Author: kwilliams
Date: Thu Jan 4 13:35:48 2007
New Revision: 492758
URL: http://svn.apache.org/viewvc?view=rev&rev=492758
Log:
Added unit test to demonstrate TUSCANY-1027
Modified:
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java
Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java?view=diff&rev=492758&r1=492757&r2=492758
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java Thu Jan 4 13:35:48 2007
@@ -29,6 +29,7 @@
import org.apache.tuscany.das.rdb.Command;
import org.apache.tuscany.das.rdb.DAS;
+import org.apache.tuscany.das.rdb.test.data.BookData;
import org.apache.tuscany.das.rdb.test.data.CompanyData;
import org.apache.tuscany.das.rdb.test.data.CompanyDeptData;
import org.apache.tuscany.das.rdb.test.data.CustomerData;
@@ -40,6 +41,10 @@
import commonj.sdo.DataObject;
+/**
+ *
+ *
+ */
public class DefectTests extends DasTest {
protected void setUp() throws Exception {
@@ -52,6 +57,7 @@
new EmployeeData(getAutoConnection()).refresh();
new CompanyDeptData(getAutoConnection()).refresh();
new DepEmpData(getAutoConnection()).refresh();
+ new BookData(getAutoConnection()).refresh();
}
@@ -80,27 +86,30 @@
}
- public void testUpdateChildThatHasGeneratedKey() throws Exception {
- DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"));
-
- //Read a specific company based on the known ID
- Command readCust = das.getCommand("all companies and departments");
- DataObject root = readCust.executeQuery();
- DataObject lastCustomer = root.getDataObject("COMPANY[3]");
- Iterator i = lastCustomer.getList("departments").iterator();
- Random generator = new Random();
- int random = generator.nextInt(1000) + 1;
- DataObject department;
- while (i.hasNext()) {
- department = (DataObject) i.next();
- System.out.println("Modifying department: " + department.getString("NAME"));
- department.setString("NAME", "Dept-" + random);
- random = random + 1;
- }
+ /**
+ * Test expected failure when applyChanges processes DO with no PK columns. We
+ * should throw a better error than NPE
+ */
- das.applyChanges(root);
+ public void testReadUpdateWithNoPKColumns() throws Exception {
+
+ DAS das = DAS.FACTORY.createDAS(getConfig("BooksConfig.xml"),getConnection());
+ // Read a book instance
+ Command select = das.createCommand("SELECT NAME, AUTHOR, QUANTITY, OCC FROM BOOK WHERE BOOK_ID = 1");
+ DataObject root = select.executeQuery();
+ DataObject book = root.getDataObject("BOOK[1]");
+ // Change a field to mark the instance 'dirty'
+ book.setInt("QUANTITY", 2);
+
+ try {
+ das.applyChanges(root);
+ fail("An exception should be thrown since the DO has no PK defined");
+ } catch (NullPointerException ex) {
+ fail("We should do better than an NPE");
+ }
}
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org