summaryrefslogtreecommitdiffstats
path: root/sql/src/test/java/tests/SQLite/JDBCDriverTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'sql/src/test/java/tests/SQLite/JDBCDriverTest.java')
-rw-r--r--sql/src/test/java/tests/SQLite/JDBCDriverTest.java280
1 files changed, 280 insertions, 0 deletions
diff --git a/sql/src/test/java/tests/SQLite/JDBCDriverTest.java b/sql/src/test/java/tests/SQLite/JDBCDriverTest.java
new file mode 100644
index 0000000..a252cd4
--- /dev/null
+++ b/sql/src/test/java/tests/SQLite/JDBCDriverTest.java
@@ -0,0 +1,280 @@
+/*
+ * Copyright (C) 2008 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.TestLevel;
+import dalvik.annotation.TestTargetClass;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestTargets;
+
+import java.sql.Connection;
+import java.sql.Driver;
+import java.sql.DriverManager;
+import java.sql.DriverPropertyInfo;
+import java.sql.SQLException;
+
+
+@TestTargetClass(JDBCDriver.class)
+public class JDBCDriverTest extends JDBCDriverFunctionalTest {
+
+ public JDBCDriverTest(String testName) {
+ super(testName);
+ }
+
+ /**
+ * The SQLite db file.
+ */
+// private final File dbFile = new File("sqliteTest.db");
+//
+// private final String connectionURL = "jdbc:sqlite:/" + dbFile.getName();
+
+ private JDBCDriver jDriver;
+
+ private Driver returnedDriver;
+
+ public void setUp() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException, Exception {
+
+ try {
+ super.setUp();
+ returnedDriver = DriverManager.getDriver(getConnectionURL());
+ if (returnedDriver instanceof JDBCDriver) {
+ this.jDriver = (JDBCDriver) returnedDriver;
+ }
+ } catch (SQLException e) {
+ System.out.println("Cannot get driver");
+ e.printStackTrace();
+ } catch (Exception e) {
+ System.out.println("DB Setup failed");
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @tests JDBCDriver#JDBCDriver()
+ */
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "constructor test",
+ method = "JDBCDriver",
+ args = {}
+ )
+ public void testJDBCDriver() {
+ assertTrue(returnedDriver instanceof JDBCDriver);
+ }
+
+ /**
+ * @tests JDBCDriver#acceptsURL(String)
+ */
+ @TestTargets({
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "constructor test",
+ method = "acceptsURL",
+ args = {java.lang.String.class}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "constructor test",
+ // we have to list the Driver target explicitly, since SQLite
+ // is not part of the target packages
+ clazz = Driver.class,
+ method = "acceptsURL",
+ args = {java.lang.String.class}
+ )
+ })
+ public void testAcceptsURL() {
+ try {
+ if (this.jDriver != null) {
+ assertTrue(jDriver.acceptsURL(getConnectionURL()));
+ } else {
+ fail("no Driver available");
+ }
+ } catch (SQLException e) {
+ fail("Driver does not accept URL");
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @tests JDBCDriver#connect(String, java.util.Properties)
+ */
+ @TestTargets({
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "method test",
+ method = "connect",
+ args = {java.lang.String.class, java.util.Properties.class}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ // we have to list the Driver target explicitly, since SQLite
+ // is not part of the target packages
+ clazz = Driver.class,
+ notes = "method test",
+ method = "connect",
+ args = {java.lang.String.class, java.util.Properties.class}
+ )
+ })
+ public void testConnect() {
+ try {
+ if (this.jDriver != null) {
+ Connection c = jDriver.connect(getConnectionURL(), null);
+ assertFalse(c.isClosed());
+ DriverManager.getConnection(getConnectionURL());
+ } else {
+ fail("no Driver available");
+ }
+ } catch (SQLException e) {
+ fail("Driver does not connect");
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @tests JDBCDriver#getMajorVersion()
+ */
+ @TestTargets({
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "method test",
+ method = "getMajorVersion",
+ args = {}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ // we have to list the Driver target explicitly, since SQLite
+ // is not part of the target packages
+ clazz = Driver.class,
+ notes = "method test",
+ method = "getMajorVersion",
+ args = {}
+ )
+ })
+ public void testGetMajorVersion() {
+ if (this.jDriver != null) {
+ assertTrue(jDriver.getMajorVersion() > 0);
+ } else {
+ fail("no Driver available");
+ }
+ }
+
+ /**
+ * @tests JDBCDriver#getMinorVersion()
+ */
+ @TestTargets({
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "method test",
+ method = "getMinorVersion",
+ args = {}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "method test",
+ // we have to list the Driver target explicitly, since SQLite
+ // is not part of the target packages
+ clazz = Driver.class,
+ method = "getMinorVersion",
+ args = {}
+ )
+ })
+ public void testGetMinorVersion() {
+ if (this.jDriver != null) {
+ assertTrue(jDriver.getMinorVersion() > 0);
+ } else {
+ fail("no version information available");
+ }
+ }
+
+ /**
+ * @tests JDBCDriver#getPropertyInfo(String, java.util.Properties)
+ */
+ @TestTargets({
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "method test",
+ method = "getPropertyInfo",
+ args = {java.lang.String.class, java.util.Properties.class}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "method test",
+ // we have to list the Driver target explicitly, since SQLite
+ // is not part of the target packages
+ clazz = Driver.class,
+ method = "getPropertyInfo",
+ args = {java.lang.String.class, java.util.Properties.class}
+ )
+ })
+ public void testGetPropertyInfo() {
+ DriverPropertyInfo[] info = null;
+ try {
+ if (this.jDriver != null) {
+ info = jDriver.getPropertyInfo(getConnectionURL(), null);
+ assertNotNull(info);
+ assertTrue(info.length > 0);
+ } else {
+ fail("no Driver available");
+ }
+ } catch (SQLException e) {
+ fail("Driver property details not available");
+ e.printStackTrace();
+ }
+
+ assertNotNull(info);
+
+ }
+
+ /**
+ * @tests JDBCDriver#jdbcCompliant()
+ */
+ @TestTargets({
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ notes = "method test",
+ method = "jdbcCompliant",
+ args = {}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ // we have to list the Driver target explicitly, since SQLite
+ // is not part of the target packages
+ clazz = Driver.class,
+ notes = "method test",
+ method = "jdbcCompliant",
+ args = {}
+ )
+ })
+ public void testJdbcCompliant() {
+ if (this.jDriver != null) {
+ assertFalse(jDriver.jdbcCompliant());
+ } else {
+ fail("no version information available");
+ }
+ }
+ /**
+ * 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();
+ }
+
+}