Author: kwilliams
Date: Wed Mar 1 19:51:17 2006
New Revision: 382285
URL: http://svn.apache.org/viewcvs?rev=382285&view=rev
Log:
New tests that exercise config file used in stand-alone sample
Modified:
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java
incubator/tuscany/java/das/rdb/src/test/resources/CompanyConfig.xml
Modified:
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java?rev=382285&r1=382284&r2=382285&view=diff
==============================================================================
---
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java
(original)
+++
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java
Wed Mar 1 19:51:17 2006
@@ -16,9 +16,16 @@
*/
package org.apache.tuscany.das.rdb.test;
+import java.util.List;
+
+import org.apache.tuscany.das.rdb.ApplyChangesCommand;
import org.apache.tuscany.das.rdb.Command;
import org.apache.tuscany.das.rdb.CommandGroup;
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.DepEmpData;
+import org.apache.tuscany.das.rdb.test.data.DepartmentData;
+import org.apache.tuscany.das.rdb.test.data.EmployeeData;
import org.apache.tuscany.das.rdb.test.framework.DasTest;
import commonj.sdo.DataObject;
@@ -27,7 +34,13 @@
protected void setUp() throws Exception {
super.setUp();
+
new CompanyData(getAutoConnection()).refresh();
+ new DepartmentData(getAutoConnection()).refresh();
+ new EmployeeData(getAutoConnection()).refresh();
+ new CompanyDeptData(getAutoConnection()).refresh();
+ new DepEmpData(getAutoConnection()).refresh();
+
}
//Read list of companies
@@ -39,5 +52,38 @@
assertEquals(3, root.getList("COMPANY").size());
}
+
+ //Read list of companies
+ public void testReadCompaniesWithDepartments() throws Exception {
+
+ CommandGroup commandGroup =
CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml"));
+ Command read = commandGroup.getCommand("all companies and
departments");
+ DataObject root = read.executeQuery();
+ DataObject firstCompany = root.getDataObject("COMPANY[1]");
+ List departments = firstCompany.getList("departments");
+ assertEquals(0, departments.size());
+
+ }
+
+ public void testddDepartmentToFirstCompany() throws Exception {
+
+ CommandGroup commandGroup =
CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml"));
+ Command read = commandGroup.getCommand("all companies and
departments");
+ DataObject root = read.executeQuery();
+ DataObject firstCustomer = root.getDataObject("COMPANY[1]");
+ int deptCount = firstCustomer.getList("departments").size();
+
+ DataObject newDepartment = root.createDataObject("DEPARTMENT");
+ firstCustomer.getList("departments").add(newDepartment);
+
+ ApplyChangesCommand apply = commandGroup.getApplyChangesCommand();
+ apply.execute(root);
+
+ //verify
+ root = read.executeQuery();
+ firstCustomer = root.getDataObject("COMPANY[1]");
+ assertEquals (deptCount + 1,
firstCustomer.getList("departments").size());
+ }
+
}
Modified: incubator/tuscany/java/das/rdb/src/test/resources/CompanyConfig.xml
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/resources/CompanyConfig.xml?rev=382285&r1=382284&r2=382285&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/resources/CompanyConfig.xml
(original)
+++ incubator/tuscany/java/das/rdb/src/test/resources/CompanyConfig.xml Wed Mar
1 19:51:17 2006
@@ -3,18 +3,29 @@
<Command name="all companies" SQL="select * from COMPANY" kind="Select"/>
+ <Command name="all companies and departments" SQL="select * from COMPANY
left outer join DEPARTMENT on COMPANY.ID = DEPARTMENT.COMPANYID" kind="Select"/>
+
+ <Command name="all departments for company" SQL="select * from COMPANY
inner join DEPARTMENT on COMPANY.ID = DEPARTMENT.COMPANYID where COMPANY.ID =
:ID" kind="Select"/>
+
<!--
- For use in sample application using datasource
- <ConnectionProperties dataSource="jdbc:derby:Databases/dastest"/>
- -->
-
+ <ConnectionProperties dataSource="java:comp/env/jdbc/dastest"/>
+-->
+
+
<ConnectionProperties
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
driverURL="jdbc:derby:dastest"/>
-
-
-
+
<Table name="COMPANY">
<Column name="ID" primaryKey="true" generated="true"/>
</Table>
+ <Table name="DEPARTMENT">
+ <Column name="ID" primaryKey="true" generated="true"/>
+ </Table>
+
+ <Relationship name="departments" primaryKeyTable="COMPANY"
foreignKeyTable="DEPARTMENT" many="true">
+ <KeyPair primaryKeyColumn="ID" foreignKeyColumn="COMPANYID"/>
+ </Relationship>
+
+
</Config>