You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2011/08/10 21:47:24 UTC

svn commit: r1156340 - /openjpa/trunk/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDBDictionaryGeneratedSQL.java

Author: mikedd
Date: Wed Aug 10 19:47:24 2011
New Revision: 1156340

URL: http://svn.apache.org/viewvc?rev=1156340&view=rev
Log:
OPENJPA-2038: Add tests for tablename including schema

Modified:
    openjpa/trunk/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDBDictionaryGeneratedSQL.java

Modified: openjpa/trunk/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDBDictionaryGeneratedSQL.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDBDictionaryGeneratedSQL.java?rev=1156340&r1=1156339&r2=1156340&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDBDictionaryGeneratedSQL.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDBDictionaryGeneratedSQL.java Wed Aug 10 19:47:24 2011
@@ -113,6 +113,64 @@ public class TestDBDictionaryGeneratedSQ
         assertEquals(1, sqls.length);
         assertTrue(sqls[0].contains("NameIsRight"));
         assertTrue(sqls[0].contains("IAmASchema"));
-    }    
+    }
+    
+    public void testOverrideProperty() {
+        final JDBCConfiguration mockConfiguration = mock(JDBCConfiguration.class);
+        final DBIdentifierUtilImpl idImpl = new DBIdentifierUtilImpl();
+        
+        checking(new Expectations() {
+            {
+                allowing(mockConfiguration).getIdentifierUtilInstance();
+                will(returnValue(idImpl)); 
 
+                allowing(mockConfiguration);
+            }
+        });
+        
+        DBDictionary dict = new DBDictionary();
+        dict.setConfiguration(mockConfiguration);
+        dict.tableLengthIncludesSchema=true;
+        dict.maxTableNameLength = 12;
+
+        Table table = new Table();
+        table.setIdentifier(DBIdentifier.newTable("NameIsTooLong"));
+        table.setSchemaIdentifier(DBIdentifier.newSchema("IAmASchema"));
+        
+        try {
+            dict.getCreateTableSQL(table);
+            fail("Expected a UserException");
+        } catch (UserException ue) {
+            // expected - check message in case a different UserException is thrown.
+            assertTrue(ue.getMessage().contains("Table name \"IAmASchema.NameIsTooLong\""));
+        } 
+    }
+    
+    public void testOverridePropertyShortName() {
+        final JDBCConfiguration mockConfiguration = mock(JDBCConfiguration.class);
+        final DBIdentifierUtilImpl idImpl = new DBIdentifierUtilImpl();
+        
+        checking(new Expectations() {
+            {
+                allowing(mockConfiguration).getIdentifierUtilInstance();
+                will(returnValue(idImpl)); 
+
+                allowing(mockConfiguration);
+            }
+        });
+        
+        DBDictionary dict = new DBDictionary();
+        dict.setConfiguration(mockConfiguration);
+        dict.tableLengthIncludesSchema=true;
+        dict.maxTableNameLength = 18;
+
+        Table table = new Table();
+        table.setIdentifier(DBIdentifier.newTable("NameIsRight"));
+        table.setSchemaIdentifier(DBIdentifier.newSchema("schema"));
+        
+        String[] sqls = dict.getCreateTableSQL(table);
+        assertEquals(1, sqls.length);
+        assertTrue(sqls[0].contains("NameIsRight"));
+        assertTrue(sqls[0].contains("schema"));
+    }
 }