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 }