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>


Reply via email to