Skip to content
Snippets Groups Projects
Commit 79d35b41 authored by Dave Cramer's avatar Dave Cramer
Browse files

added tests for crossReferences

parent 55695148
No related branches found
No related tags found
No related merge requests found
...@@ -9,7 +9,7 @@ import java.sql.*; ...@@ -9,7 +9,7 @@ import java.sql.*;
* *
* PS: Do you know how difficult it is to type on a train? ;-) * PS: Do you know how difficult it is to type on a train? ;-)
* *
* $Id: DatabaseMetaDataTest.java,v 1.9 2002/07/23 03:59:55 barry Exp $ * $Id: DatabaseMetaDataTest.java,v 1.10 2002/07/30 13:22:38 davec Exp $
*/ */
public class DatabaseMetaDataTest extends TestCase public class DatabaseMetaDataTest extends TestCase
...@@ -48,7 +48,8 @@ public class DatabaseMetaDataTest extends TestCase ...@@ -48,7 +48,8 @@ public class DatabaseMetaDataTest extends TestCase
ResultSet rs = dbmd.getTables( null, null, "test%", new String[] {"TABLE"}); ResultSet rs = dbmd.getTables( null, null, "test%", new String[] {"TABLE"});
assertTrue( rs.next() ); assertTrue( rs.next() );
assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") ); String tableName = rs.getString("TABLE_NAME");
assertTrue( tableName.equals("testmetadata") );
rs.close(); rs.close();
...@@ -101,7 +102,7 @@ public class DatabaseMetaDataTest extends TestCase ...@@ -101,7 +102,7 @@ public class DatabaseMetaDataTest extends TestCase
assertTrue(dbmd.supportsMinimumSQLGrammar()); assertTrue(dbmd.supportsMinimumSQLGrammar());
assertTrue(!dbmd.supportsCoreSQLGrammar()); assertTrue(!dbmd.supportsCoreSQLGrammar());
assertTrue(!dbmd.supportsExtendedSQLGrammar()); assertTrue(!dbmd.supportsExtendedSQLGrammar());
assertTrue(!dbmd.supportsANSI92EntryLevelSQL()); assertTrue(dbmd.supportsANSI92EntryLevelSQL());
assertTrue(!dbmd.supportsANSI92IntermediateSQL()); assertTrue(!dbmd.supportsANSI92IntermediateSQL());
assertTrue(!dbmd.supportsANSI92FullSQL()); assertTrue(!dbmd.supportsANSI92FullSQL());
...@@ -228,6 +229,57 @@ public class DatabaseMetaDataTest extends TestCase ...@@ -228,6 +229,57 @@ public class DatabaseMetaDataTest extends TestCase
} }
} }
public void testCrossReference()
{
try
{
Connection con1 = JDBC2Tests.openDB();
JDBC2Tests.createTable( con1, "vv", "a int not null, b int not null, primary key ( a, b )" );
JDBC2Tests.createTable( con1, "ww", "m int not null, n int not null, primary key ( m, n ), foreign key ( m, n ) references vv ( a, b )" );
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
ResultSet rs = dbmd.getCrossReference(null, "", "vv", null, "", "ww" );
for (int j=1; rs.next(); j++ )
{
String pkTableName = rs.getString( "PKTABLE_NAME" );
assertTrue ( pkTableName.equals("vv") );
String pkColumnName = rs.getString( "PKCOLUMN_NAME" );
assertTrue( pkColumnName.equals("a") || pkColumnName.equals("b"));
String fkTableName = rs.getString( "FKTABLE_NAME" );
assertTrue( fkTableName.equals( "ww" ) );
String fkColumnName = rs.getString( "FKCOLUMN_NAME" );
assertTrue( fkColumnName.equals( "m" ) || fkColumnName.equals( "n" ) ) ;
String fkName = rs.getString( "FK_NAME" );
assertTrue( fkName.equals( "<unnamed>") );
String pkName = rs.getString( "PK_NAME" );
assertTrue( pkName.equals("vv_pkey") );
int keySeq = rs.getInt( "KEY_SEQ" );
assertTrue( keySeq == j );
}
JDBC2Tests.dropTable( con1, "vv" );
JDBC2Tests.dropTable( con1, "ww" );
}
catch (SQLException ex)
{
fail(ex.getMessage());
}
}
public void testForeignKeys() public void testForeignKeys()
{ {
try try
...@@ -262,10 +314,10 @@ public class DatabaseMetaDataTest extends TestCase ...@@ -262,10 +314,10 @@ public class DatabaseMetaDataTest extends TestCase
assertTrue( fkColumnName.equals( "people_id" ) || fkColumnName.equals( "policy_id" ) ) ; assertTrue( fkColumnName.equals( "people_id" ) || fkColumnName.equals( "policy_id" ) ) ;
String fkName = rs.getString( "FK_NAME" ); String fkName = rs.getString( "FK_NAME" );
assertTrue( fkName.equals( "people_pkey") || fkName.equals( "policy_pkey" ) ); assertTrue( fkName.equals( "people") || fkName.equals( "policy" ) );
String pkName = rs.getString( "PK_NAME" ); String pkName = rs.getString( "PK_NAME" );
// assertTrue( pkName.equals("users") ); assertTrue( pkName.equals( "people_pkey") || pkName.equals( "policy_pkey" ) );
} }
...@@ -282,7 +334,7 @@ public class DatabaseMetaDataTest extends TestCase ...@@ -282,7 +334,7 @@ public class DatabaseMetaDataTest extends TestCase
assertTrue( rs.getString( "FKTABLE_NAME" ).equals( "users" ) ); assertTrue( rs.getString( "FKTABLE_NAME" ).equals( "users" ) );
assertTrue( rs.getString( "FKCOLUMN_NAME" ).equals( "people_id" ) ); assertTrue( rs.getString( "FKCOLUMN_NAME" ).equals( "people_id" ) );
assertTrue( rs.getString( "FK_NAME" ).equals( "people_pkey" ) ); assertTrue( rs.getString( "FK_NAME" ).equals( "people" ) );
JDBC2Tests.dropTable( con1, "users" ); JDBC2Tests.dropTable( con1, "users" );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment