Class DuckTypeConnection

java.lang.Object
com.atlassian.jira.database.DuckTypeConnection

public class DuckTypeConnection extends Object
Mocks out some of PreparedStatement for use as a Duck Type proxy.
Since:
v6.4
  • Constructor Details

    • DuckTypeConnection

      public DuckTypeConnection()
  • Method Details

    • reset

      public void reset()
    • prepareStatement

      public PreparedStatement prepareStatement(String sql)
    • setAutoCommit

      public void setAutoCommit(boolean autoCommit)
    • commit

      public void commit()
    • rollback

      public void rollback()
    • setQueryResults

      public void setQueryResults(String sql, Iterable<ResultRow> expectedResults)
    • getQueryResults

      @Nonnull public Iterable<ResultRow> getQueryResults(String sql)
    • setUpdateResults

      public void setUpdateResults(String sql, int rowCount)
      Sets the expected results for a SQL statement.
      Parameters:
      sql - the expected SQL statement
      rowCount - what to return for the number of affected rows
    • setUpdateResults

      public void setUpdateResults(String sql, Supplier<RuntimeException> exFactory)
      Sets an expected SQL statement to throw an exception.
      Parameters:
      sql - the expected SQL statement
      exFactory - a factory that supplies the runtime exception to be thrown for that SQL
    • getUpdateResults

      public int getUpdateResults(String sql)
    • setDefaultQueryResult

      public void setDefaultQueryResult(Iterable<ResultRow> defaultQueryResult)
    • setDefaultUpdateResult

      public void setDefaultUpdateResult(int defaultUpdateResult)
    • getRanQueries

      public Set<String> getRanQueries()
    • assertAllExpectedStatementsWereRun

      public void assertAllExpectedStatementsWereRun()
    • onSqlListener

      public void onSqlListener(String sql, Runnable action)
    • runSqlQueryAction

      protected void runSqlQueryAction(String sql)
    • toString

      public String toString()
      Overrides:
      toString in class Object