View Javadoc
1   /*
2    *
3    * The DbUnit Database Testing Framework
4    * Copyright (C)2002-2004, DbUnit.org
5    *
6    * This library is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Lesser General Public
8    * License as published by the Free Software Foundation; either
9    * version 2.1 of the License, or (at your option) any later version.
10   *
11   * This library is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public
17   * License along with this library; if not, write to the Free Software
18   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   *
20   */
21  package org.dbunit;
22  
23  import org.dbunit.database.IDatabaseConnection;
24  import org.dbunit.dataset.IDataSet;
25  import org.dbunit.operation.DatabaseOperation;
26  
27  /**
28   * This interface defines the behavior of a DatabaseTester, which is responsible
29   * for adding DBUnit features as composition on existing test cases (instead of
30   * extending DBTestCase directly).
31   *
32   * @author Andres Almiray (aalmiray@users.sourceforge.net)
33   * @author Last changed by: $Author$
34   * @version $Revision$ $Date$
35   * @since 2.2.0
36   */
37  public interface IDatabaseTester
38  {
39      /**
40       * Close the specified connection.
41       *
42       * @deprecated since 2.4.4 define a user defined
43       *             {@link #setOperationListener(IOperationListener)} in advance
44       */
45      @Deprecated
46      void closeConnection(IDatabaseConnection connection) throws Exception;
47  
48      /**
49       * Returns the test database connection.
50       */
51      IDatabaseConnection getConnection() throws Exception;
52  
53      /**
54       * Returns the test dataset.
55       */
56      IDataSet getDataSet();
57  
58      /**
59       * Gets the DatabaseOperation to call when starting the test.
60       */
61      DatabaseOperation getSetUpOperation();
62  
63      /**
64       * Gets the DatabaseOperation to call when ending the test.
65       */
66      DatabaseOperation getTearDownOperation();
67  
68      /**
69       * Sets the test dataset to use.
70       */
71      void setDataSet(IDataSet dataSet);
72  
73      /**
74       * Sets the schema value.
75       *
76       * @deprecated since 2.4.3 Should not be used anymore. Every concrete
77       *             {@link IDatabaseTester} implementation that needs a schema
78       *             has the possibility to set it somehow in the constructor
79       */
80      @Deprecated
81      void setSchema(String schema);
82  
83      /**
84       * Sets the DatabaseOperation to call when starting the test.
85       */
86      void setSetUpOperation(DatabaseOperation setUpOperation);
87  
88      /**
89       * Sets the DatabaseOperation to call when ending the test.
90       */
91      void setTearDownOperation(DatabaseOperation tearDownOperation);
92  
93      /**
94       * TestCases must call this method inside setUp()
95       */
96      void onSetup() throws Exception;
97  
98      /**
99       * TestCases must call this method inside tearDown()
100      */
101     void onTearDown() throws Exception;
102 
103     /**
104      * @param operationListener
105      *            The operation listener that is invoked on specific events in
106      *            the {@link IDatabaseTester}.
107      * @since 2.4.4
108      */
109     void setOperationListener(IOperationListener operationListener);
110 }