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/06/23 22:17:29 UTC
svn commit: r416813 - in /incubator/tuscany/java/das/rdb/src/test:
java/org/apache/tuscany/das/rdb/test/
java/org/apache/tuscany/das/rdb/test/suites/ resources/
Author: kwilliams
Date: Fri Jun 23 13:17:28 2006
New Revision: 416813
URL: http://svn.apache.org/viewvc?rev=416813&view=rev
Log:
Applying Darius' patch for T-250
Added:
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java (with props)
incubator/tuscany/java/das/rdb/src/test/resources/BooksConfigWithAlias.xml (with props)
Modified:
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java
Added: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java?rev=416813&view=auto
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java (added)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java Fri Jun 23 13:17:28 2006
@@ -0,0 +1,141 @@
+/* Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tuscany.das.rdb.test;
+
+import org.apache.tuscany.das.rdb.Command;
+import org.apache.tuscany.das.rdb.ConfigHelper;
+import org.apache.tuscany.das.rdb.test.data.BookData;
+import org.apache.tuscany.das.rdb.test.framework.DasTest;
+import org.apache.tuscany.das.rdb.DAS;
+
+import commonj.sdo.DataObject;
+
+public class AliasTests extends DasTest{
+
+ protected void setUp() throws Exception {
+
+ super.setUp();
+ new BookData(getAutoConnection()).refresh();
+ }
+
+ /**
+ * Tests the use of column aliasing. The property name change is found in the BooksConfig.xml file
+ * Otherwise similar to testTableAlias
+ *
+ * @throws Exception
+ */
+ public void testColumnAlias() throws Exception{
+
+ DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml") );
+ das.setConnection( getConnection() );
+
+ Command select = das.getCommand( "get all books" );
+ //select.setConnection( getConnection() );
+
+ DataObject root = select.executeQuery();
+
+ DataObject book = root.getDataObject("Book[2]");
+ book.set( "Writer", "Dr. Seuss");
+
+ das.applyChanges( root );
+
+ select = das.getCommand( "get Cat in the Hat" );
+
+
+ root = select.executeQuery();
+ // Ensure the change actually updated
+ assertEquals( "Dr. Seuss", root.getString( "Book[1]/Writer" ) );
+ }
+
+ /**
+ * Tests to ensure that columns are being properly read when using an Alias, just a bunch of simple
+ * creating, renaming, and deleting of entries while using an alias.
+ */
+ public void testColumnData() throws Exception {
+
+ DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml") );
+ das.setConnection(getConnection());
+
+ Command select = das.getCommand( "get book by ID" );
+ select.setParameterValue("ID", new Integer(1));
+ select.setConnection(getConnection());
+
+ //*******Verifys a column entry is readable
+ DataObject root = select.executeQuery();
+ assertEquals("Fyodor Dostoevsky", root.getString( "Book[1]/Writer" ) );
+
+ DataObject bookToChange = root.getDataObject("Book[1]");
+ bookToChange.set("Writer", "Fyodor Dostoevskii"); // His last name COULD be spelt like that too!
+
+ das.applyChanges( root );
+
+ //*******Verifys correct information in entry after a column data is changed
+ select = das.getCommand( "get all books" );
+ //select.setConnection(getConnection());
+
+ root = select.executeQuery();
+ assertEquals("Fyodor Dostoevskii", root.getString( "Book[1]/Writer" ) );
+
+ bookToChange = root.getDataObject("Book[1]");
+ bookToChange.delete();
+
+ das.applyChanges( root );
+
+ //*******Verifys correct in table, after entry is deleted
+ select = das.getCommand( "get all books" );
+ //select.setConnection(getConnection());
+
+ root = select.executeQuery();
+ assertEquals( 1, root.getList("Book").size() );
+ assertEquals( "Doctor Seuss", root.getString( "Book[1]/Writer") );
+ }
+
+ /**
+ * Test to check if updating a table works when using Aliasing
+ * Previously this was test_4 in ExceptionTests.
+ */
+ public void testTableAlias() throws Exception {
+
+ // Create Table config programmatically
+ //ConfigHelper helper = new ConfigHelper();
+ //helper.addTable("BOOK", "Book");
+ //helper.addPrimaryKey("BOOK.BOOK_ID");
+
+ DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml") );
+ das.setConnection(getConnection());
+ Command select = das.getCommand( "get book by ID" );
+ select.setParameterValue("ID", new Integer(1));
+
+ DataObject root = select.executeQuery();
+
+
+ DataObject newBook = root.createDataObject("Book");
+ newBook.setString("NAME", "Ant Colonies of the Old World");
+ newBook.setInt("BOOK_ID", 1001);
+ root.getList("Book").add(newBook);
+
+
+ das.applyChanges( root );
+
+
+ root = select.executeQuery();
+
+ //Verify
+ select.setParameterValue("ID", new Integer(1001));
+ root = select.executeQuery();
+
+ assertEquals("Ant Colonies of the Old World", root.getString("Book[1]/NAME"));
+ }
+}
\ No newline at end of file
Propchange: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java
------------------------------------------------------------------------------
svn:keywords = Rev,Date
Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java?rev=416813&r1=416812&r2=416813&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java Fri Jun 23 13:17:28 2006
@@ -109,48 +109,6 @@
}
}
-
- /**
- * Test nice error message when Conofig does not use Aliased name
- * Alis is defined for BOOK -> Book but PK config uses BOOK.BOOK_ID
- *
- * In this test case, the create is silently never performed!!!
- *
- * TODO - Uncomment out
- */
- public void test_4() throws Exception {
-
- String statement = "SELECT * FROM BOOK WHERE BOOK.BOOK_ID = :ID";
-
- // Create Table config programmatically
- ConfigHelper helper = new ConfigHelper();
- helper.addTable("BOOK", "Book");
- helper.addPrimaryKey("BOOK.BOOK_ID");
-
- DAS das = DAS.FACTORY.createDAS(helper.getConfig());
- Command select = das.createCommand(statement);
- select.setConnection(getConnection());
- select.setParameterValue("ID", new Integer(1));
-
- DataObject root = select.executeQuery();
-
- DataObject newBook = root.createDataObject("Book");
- newBook.setString("NAME", "Ant Colonies of the Old World");
- newBook.setInt("BOOK_ID", 1001);
- root.getList("Book").add(newBook);
-
- das.setConnection(getConnection());
- das.applyChanges(root);
-
- //Verify
- select.setParameterValue("ID", new Integer(1001));
- root = select.executeQuery();
- //TODO - Uncomment to test TUSCANY-250
- assertEquals("Ant Colonies of the Old World", root.getString("Book[1]/NAME"));
-
- }
-
-
public void testReadOrdersAndDetails2() throws Exception {
DAS das = DAS.FACTORY.createDAS(getConfig("InvalidConfig1.xml"));
Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java?rev=416813&r1=416812&r2=416813&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java Fri Jun 23 13:17:28 2006
@@ -19,6 +19,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;
+import org.apache.tuscany.das.rdb.test.AliasTests;
import org.apache.tuscany.das.rdb.test.BestPracticeTests;
import org.apache.tuscany.das.rdb.test.CUDGeneration;
import org.apache.tuscany.das.rdb.test.CommandGroupTests;
@@ -90,6 +91,7 @@
suite.addTest(new TestSuite (OneToOneRelationshipTests.class));
suite.addTest(new TestSuite (ProgrammaticConfigTests.class));
+ suite.addTest(new TestSuite (AliasTests.class));
//$JUnit-END$
return suite;
Added: incubator/tuscany/java/das/rdb/src/test/resources/BooksConfigWithAlias.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/resources/BooksConfigWithAlias.xml?rev=416813&view=auto
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/resources/BooksConfigWithAlias.xml (added)
+++ incubator/tuscany/java/das/rdb/src/test/resources/BooksConfigWithAlias.xml Fri Jun 23 13:17:28 2006
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<Config xsi:noNamespaceSchemaLocation="http:///org.apache.tuscany.das.rdb/config.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <Command name="get all books" SQL="SELECT * FROM BOOK" kind="Select"/>
+
+ <Command name="get Cat in the Hat" SQL="SELECT * FROM BOOK WHERE NAME = 'Cat in the Hat'" kind="Select"/>
+
+ <Command name="get book by ID" SQL="SELECT * FROM BOOK WHERE BOOK.BOOK_ID = :ID" kind="Select"/>
+
+
+
+ <Table tableName="BOOK" typeName="Book">
+ <Column columnName="BOOK_ID" primaryKey="true"/>
+ <Column columnName="AUTHOR" propertyName="Writer"/>
+ <Column columnName="OCC" collision="true"/>
+ </Table>
+
+</Config>
Propchange: incubator/tuscany/java/das/rdb/src/test/resources/BooksConfigWithAlias.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/das/rdb/src/test/resources/BooksConfigWithAlias.xml
------------------------------------------------------------------------------
svn:keywords = Rev,Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org