From cec4dd4b1d33f78997603d0f89c0d0e56e64dbcd Mon Sep 17 00:00:00 2001 From: Peter Hallam Date: Mon, 26 Apr 2010 12:53:37 -0700 Subject: merge more modules into luni --- .../tests/SQLite/JDBCDriverFunctionalTest.java | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 luni/src/test/java/tests/SQLite/JDBCDriverFunctionalTest.java (limited to 'luni/src/test/java/tests/SQLite/JDBCDriverFunctionalTest.java') diff --git a/luni/src/test/java/tests/SQLite/JDBCDriverFunctionalTest.java b/luni/src/test/java/tests/SQLite/JDBCDriverFunctionalTest.java new file mode 100644 index 0000000..ed2c0b3 --- /dev/null +++ b/luni/src/test/java/tests/SQLite/JDBCDriverFunctionalTest.java @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package tests.SQLite; + +import SQLite.Exception; +import SQLite.JDBCDriver; +import dalvik.annotation.TestTargetClass; + +import java.io.File; +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; + + +/** + * Tests the SQLite.JDBCDriver. + */ +@TestTargetClass(JDBCDriver.class) +public class JDBCDriverFunctionalTest extends AbstractSqlTest { + + + + /** + * The SQLite db file. + */ + private File dbFile = null; + + private String connectionURL = "empty"; + + /** + * Sets up an unit test by loading the SQLite.JDBCDriver, getting two + * connections and calling the setUp method of the super class. + * @throws Exception + * @throws IllegalAccessException + * @throws InstantiationException + * @throws Exception + * @throws Exception + * @throws Exception + * @throws Exception + * @throws Exception + */ + @Override + public void setUp() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException, Exception { // the Exception class needs to be fully + // qualified since there is an Exception + // class in the SQLite package. + + super.setUp(); + } + + /** + * Tears down an unit test by calling the tearDown method of the super class + * and deleting the SQLite test db file. + */ + @Override + protected void tearDown() throws SQLException { + super.tearDown(); + dbFile.delete(); + } + + + @Override + protected String getConnectionURL() { + if (connectionURL.equals("empty")) { + String tmp = System.getProperty("java.io.tmpdir"); + File tmpDir = new File(tmp); + if (tmpDir.isDirectory()) { + try { + dbFile = File.createTempFile("JDBCDriverFunctionalTest", + ".db", tmpDir); + } catch (IOException e) { + System.err.println("error creating temporary DB file."); + } + dbFile.deleteOnExit(); + } else { + System.err.println("java.io.tmpdir does not exist"); + } + + connectionURL = "jdbc:sqlite:/" + dbFile.getPath(); + + } + + return connectionURL; + } + + @Override + protected String getDriverClassName() { + return "SQLite.JDBCDriver"; + } + + @Override + protected int getTransactionIsolation() { + return Connection.TRANSACTION_SERIALIZABLE; + } + + +} -- cgit v1.1