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: gommma $
34 * @version $Revision: 954 $ $Date: 2009-02-06 17:11:31 -0600 (Fri, 06 Feb 2009) $
35 * @since 2.2.0
36 */
37 public interface IDatabaseTester
38 {
39 /**
40 * Close the specified connection.
41 * @deprecated since 2.4.4 define a user defined {@link #setOperationListener(IOperationListener)} in advance
42 */
43 void closeConnection( IDatabaseConnection connection ) throws Exception;
44
45 /**
46 * Returns the test database connection.
47 */
48 IDatabaseConnection getConnection() throws Exception;
49
50 /**
51 * Returns the test dataset.
52 */
53 IDataSet getDataSet();
54
55 /**
56 * Sets the test dataset to use.
57 */
58 void setDataSet( IDataSet dataSet );
59
60 /**
61 * Sets the schema value.
62 * @deprecated since 2.4.3 Should not be used anymore. Every concrete {@link IDatabaseTester} implementation that needs a schema has the possibility to set it somehow in the constructor
63 */
64 void setSchema( String schema );
65
66 /**
67 * Sets the DatabaseOperation to call when starting the test.
68 */
69 void setSetUpOperation( DatabaseOperation setUpOperation );
70
71 /**
72 * Sets the DatabaseOperation to call when ending the test.
73 */
74 void setTearDownOperation( DatabaseOperation tearDownOperation );
75
76 /**
77 * TestCases must call this method inside setUp()
78 */
79 void onSetup() throws Exception;
80
81 /**
82 * TestCases must call this method inside tearDown()
83 */
84 void onTearDown() throws Exception;
85
86 /**
87 * @param operationListener The operation listener that is invoked on
88 * specific events in the {@link IDatabaseTester}.
89 * @since 2.4.4
90 */
91 void setOperationListener(IOperationListener operationListener);
92 }