KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hsqldb > test > TestBase


1 /* Copyright (c) 2001-2005, The HSQL Development Group
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * Neither the name of the HSQL Development Group nor the names of its
15  * contributors may be used to endorse or promote products derived from this
16  * software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */

30
31
32 package org.hsqldb.test;
33
34 import java.sql.Connection JavaDoc;
35 import java.sql.DriverManager JavaDoc;
36
37 import org.hsqldb.Server;
38
39 import junit.framework.TestCase;
40
41 import java.sql.SQLException JavaDoc;
42
43 /**
44  * HSQLDB TestBugBase Junit test case. <p>
45  *
46  * @author boucherb@users
47  * @version 1.7.2
48  * @since 1.7.2
49  */

50 public abstract class TestBase extends TestCase {
51
52     // change the url to reflect your preferred db location and name
53
String JavaDoc serverProps;
54     String JavaDoc url;
55     String JavaDoc user = "sa";
56     String JavaDoc password = "";
57     Server server;
58     boolean isNetwork = true;
59
60     public TestBase(String JavaDoc name) {
61         super(name);
62     }
63
64     public TestBase(String JavaDoc name, String JavaDoc url, boolean network) {
65
66         super(name);
67
68         this.isNetwork = isNetwork;
69         this.url = url;
70     }
71
72     protected void setUp() {
73
74         if (isNetwork) {
75             if (url == null) {
76                 url = "jdbc:hsqldb:hsql://localhost/test";
77             }
78
79             server = new Server();
80
81             server.setDatabaseName(0, "test");
82             server.setDatabasePath(
83                 0, "mem:test;sql.enforce_strict_size=true");
84             server.setLogWriter(null);
85             server.setErrWriter(null);
86             server.start();
87         } else {
88             if (url == null) {
89                 url = "jdbc:hsqldb:file:test;sql.enforce_strict_size=true";
90             }
91         }
92
93         try {
94             Class.forName("org.hsqldb.jdbcDriver");
95         } catch (Exception JavaDoc e) {
96             e.printStackTrace();
97             System.out.println(this + ".setUp() error: " + e.getMessage());
98         }
99     }
100
101     protected void tearDown() {
102
103         if (isNetwork) {
104             server.stop();
105
106             server = null;
107         }
108     }
109
110     Connection JavaDoc newConnection() throws SQLException JavaDoc {
111         return DriverManager.getConnection(url, user, password);
112     }
113 }
114
Popular Tags