Author: tomdz
Date: Tue Nov  4 22:22:02 2008
New Revision: 711516

URL: http://svn.apache.org/viewvc?rev=711516&view=rev
Log:
Added unit test for DDLUTILS-195: Can not update a foreign key on a case 
sensetive MySql Database

Modified:
    db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestAlteration.java

Modified: 
db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestAlteration.java
URL: 
http://svn.apache.org/viewvc/db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestAlteration.java?rev=711516&r1=711515&r2=711516&view=diff
==============================================================================
--- db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestAlteration.java 
(original)
+++ db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestAlteration.java 
Tue Nov  4 22:22:02 2008
@@ -880,6 +880,62 @@
     }
 
     /**
+     * Tests the removal of a foreign key with camel case naming 
(DDLUTILS-195).
+     */
+    public void testDropCamelCaseFK()
+    {
+        final String model1Xml = 
+            "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+            "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' 
name='roundtriptest'>\n"+
+            "  <table name='Roundtrip1'>\n"+
+            "    <column name='Pk1' type='INTEGER' primaryKey='true' 
required='true'/>\n"+
+            "    <column name='Pk2' type='DOUBLE' primaryKey='true' 
required='true'/>\n"+
+            "  </table>\n"+
+            "  <table name='Roundtrip2'>\n"+
+            "    <column name='Pk' type='INTEGER' primaryKey='true' 
required='true'/>\n"+
+            "    <column name='Avalue1' type='DOUBLE' required='true'/>\n"+
+            "    <column name='Avalue2' type='INTEGER' required='true'/>\n"+
+            "    <foreign-key name='Rt1_To_Rt2' foreignTable='Roundtrip1'>\n"+
+            "      <reference local='Avalue2' foreign='Pk1'/>\n"+
+            "      <reference local='Avalue1' foreign='Pk2'/>\n"+
+            "    </foreign-key>\n"+
+            "  </table>\n"+
+            "</database>";
+        final String model2Xml = 
+            "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+            "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' 
name='roundtriptest'>\n"+
+            "  <table name='Roundtrip1'>\n"+
+            "    <column name='Pk1' type='INTEGER' primaryKey='true' 
required='true'/>\n"+
+            "    <column name='Pk2' type='DOUBLE' primaryKey='true' 
required='true'/>\n"+
+            "  </table>\n"+
+            "  <table name='Roundtrip2'>\n"+
+            "    <column name='Pk' type='INTEGER' primaryKey='true' 
required='true'/>\n"+
+            "    <column name='Avalue1' type='DOUBLE' required='true'/>\n"+
+            "    <column name='Avalue2' type='INTEGER' required='true'/>\n"+
+            "  </table>\n"+
+            "</database>";
+
+        createDatabase(model1Xml);
+
+        insertRow("Roundtrip1", new Object[] { new Integer(1), new Double(2.0) 
});
+        insertRow("Roundtrip2", new Object[] { new Integer(2), new 
Double(2.0), new Integer(1) });
+
+        alterDatabase(model2Xml);
+
+        assertEquals(getAdjustedModel(),
+                     readModelFromDatabase("roundtriptest"));
+
+        List beans1 = getRows("Roundtrip1");
+        List beans2 = getRows("Roundtrip2");
+
+        assertEquals(new Integer(1), beans1.get(0), "Pk1");
+        assertEquals(new Double(2.0), beans1.get(0), "Pk2");
+        assertEquals(new Integer(2), beans2.get(0), "Pk");
+        assertEquals(new Double(2.0), beans2.get(0), "Avalue1");
+        assertEquals(new Integer(1), beans2.get(0), "Avalue2");
+    }
+
+    /**
      * Tests removing a foreign key and an index that has the same name and 
same column.
      */
     public void testDropFKAndCorrespondingIndex()


Reply via email to