Add DbDriver, with support for a few popular JDBC drivers.
[squelch.git] / src / test / java / net / jaekl / squelch / db / ConnectionMock.java
diff --git a/src/test/java/net/jaekl/squelch/db/ConnectionMock.java b/src/test/java/net/jaekl/squelch/db/ConnectionMock.java
new file mode 100644 (file)
index 0000000..e242e00
--- /dev/null
@@ -0,0 +1,383 @@
+package net.jaekl.squelch.db;
+
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.CallableStatement;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.NClob;
+import java.sql.PreparedStatement;
+import java.sql.SQLClientInfoException;
+import java.sql.SQLException;
+import java.sql.SQLWarning;
+import java.sql.SQLXML;
+import java.sql.Savepoint;
+import java.sql.Statement;
+import java.sql.Struct;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.Executor;
+
+public class ConnectionMock implements Connection {
+       private ArrayList<String> m_executedQueries;
+       
+       public ConnectionMock() {
+               m_executedQueries = new ArrayList<String>();
+       }
+       
+       public ResultSetMock mock_executeQuery(PreparedStatementMock psm)
+       {
+               m_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);
+       }
+
+       @Override
+       public boolean isWrapperFor(Class<?> arg0) throws SQLException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public <T> T unwrap(Class<T> arg0) throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public void abort(Executor executor) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void clearWarnings() throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void close() throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void commit() throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public Array createArrayOf(String typeName, Object[] elements)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Blob createBlob() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Clob createClob() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public NClob createNClob() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public SQLXML createSQLXML() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Statement createStatement() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Statement createStatement(int resultSetType, int resultSetConcurrency)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Statement createStatement(int resultSetType,
+                       int resultSetConcurrency, int resultSetHoldability)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Struct createStruct(String typeName, Object[] attributes)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean getAutoCommit() throws SQLException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public String getCatalog() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Properties getClientInfo() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public String getClientInfo(String name) throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public int getHoldability() throws SQLException {
+               // TODO Auto-generated method stub
+               return 0;
+       }
+
+       @Override
+       public DatabaseMetaData getMetaData() throws SQLException {
+               DatabaseMetaData result = new DatabaseMetaDataMock();
+               return result;
+       }
+
+       @Override
+       public int getNetworkTimeout() throws SQLException {
+               // TODO Auto-generated method stub
+               return 0;
+       }
+
+       @Override
+       public String getSchema() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public int getTransactionIsolation() throws SQLException {
+               // TODO Auto-generated method stub
+               return 0;
+       }
+
+       @Override
+       public Map<String, Class<?>> getTypeMap() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public SQLWarning getWarnings() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean isClosed() throws SQLException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean isReadOnly() throws SQLException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean isValid(int timeout) throws SQLException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public String nativeSQL(String sql) throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public CallableStatement prepareCall(String sql) throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public CallableStatement prepareCall(String sql, int resultSetType,
+                       int resultSetConcurrency) throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public CallableStatement prepareCall(String sql, int resultSetType,
+                       int resultSetConcurrency, int resultSetHoldability)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public PreparedStatement prepareStatement(String sql) throws SQLException {
+               return new PreparedStatementMock(this, sql);
+       }
+
+       @Override
+       public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public PreparedStatement prepareStatement(String sql, int[] columnIndexes)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public PreparedStatement prepareStatement(String sql, String[] columnNames)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public PreparedStatement prepareStatement(String sql, int resultSetType,
+                       int resultSetConcurrency) throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public PreparedStatement prepareStatement(String sql, int resultSetType,
+                       int resultSetConcurrency, int resultSetHoldability)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public void releaseSavepoint(Savepoint savepoint) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void rollback() throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void rollback(Savepoint savepoint) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setAutoCommit(boolean autoCommit) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setCatalog(String catalog) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setClientInfo(Properties properties)
+                       throws SQLClientInfoException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setClientInfo(String name, String value)
+                       throws SQLClientInfoException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setHoldability(int holdability) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setNetworkTimeout(Executor executor, int milliseconds)
+                       throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setReadOnly(boolean readOnly) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public Savepoint setSavepoint() throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Savepoint setSavepoint(String name) throws SQLException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public void setSchema(String schema) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setTransactionIsolation(int level) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+       @Override
+       public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
+               // TODO Auto-generated method stub
+
+       }
+
+}
+