Add "Describe" command, with support for describing both (a) specific table(s) and...
[squelch.git] / src / test / java / net / jaekl / squelch / sql / ConnectionMock.java
index 22b686fb89666b95b7d0ecbf23eb8cd9f0ce8317..40e6229d9eb0509bdb3a38ed7d3b0a81e30157a0 100644 (file)
@@ -22,22 +22,29 @@ import java.util.concurrent.Executor;
 
 
 public class ConnectionMock implements Connection {
-       private ArrayList<String> m_executedQueries;
+       private ArrayList<String> mock_executedQueries;
+       private DatabaseMetaDataMock mock_databaseMetaData;
        
        public ConnectionMock() {
-               m_executedQueries = new ArrayList<String>();
+               mock_executedQueries = new ArrayList<String>();
+               mock_databaseMetaData = new DatabaseMetaDataMock();
        }
        
        public ResultSetMock mock_executeQuery(PreparedStatementMock psm)
        {
-               m_executedQueries.add(psm.toString());
+               mock_executedQueries.add(psm.toString());
                return new ResultSetMock();
        }
        
        public boolean mock_queryWasExecuted(String sql) {
                // There's an assumption here that we don't try a large number of queries in a single test.
                // If that assumption is false, then we should change this to be more efficient.
-               return m_executedQueries.contains(sql);
+               return mock_executedQueries.contains(sql);
+       }
+       
+       public void mock_setDatabaseMetaData(DatabaseMetaDataMock dbmdm)
+       {
+               mock_databaseMetaData = dbmdm;
        }
 
        @Override
@@ -167,8 +174,7 @@ public class ConnectionMock implements Connection {
 
        @Override
        public DatabaseMetaData getMetaData() throws SQLException {
-               DatabaseMetaData result = new DatabaseMetaDataMock();
-               return result;
+               return mock_databaseMetaData;
        }
 
        @Override