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 2006/03/02 04:51:19 UTC

svn commit: r382285 - in /incubator/tuscany/java/das/rdb/src/test: java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java resources/CompanyConfig.xml

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>