Factor out transaction unit tests to base class
Change-Id: I24f36ba55cb5ab2db2c6cb977aad4d27463b0d70
diff --git a/src/test/java/com/google/gwtorm/schema/sql/DialectH2Test.java b/src/test/java/com/google/gwtorm/schema/sql/DialectH2Test.java
index c46f86b..9991b6f 100644
--- a/src/test/java/com/google/gwtorm/schema/sql/DialectH2Test.java
+++ b/src/test/java/com/google/gwtorm/schema/sql/DialectH2Test.java
@@ -32,22 +32,13 @@
import org.junit.Before;
import org.junit.Test;
-import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collections;
-import java.util.List;
import java.util.Properties;
import java.util.Set;
-public class DialectH2Test {
- private Connection db;
- private JdbcExecutor executor;
- private SqlDialect dialect;
- private Database<PhoneBookDb> phoneBook;
- private Database<PhoneBookDb2> phoneBook2;
-
+public class DialectH2Test extends SqlDialectTest {
@Before
public void setUp() throws Exception {
org.h2.Driver.load();
@@ -209,43 +200,4 @@
assertTrue(s.contains("bar"));
assertFalse(s.contains("for"));
}
-
- @Test
- public void testRollbackTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(0, r.size());
- }
-
- @Test
- public void testRollbackNoTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- ArrayList<Person> all = new ArrayList<Person>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
-
- @Test
- public void testCommitTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
}
diff --git a/src/test/java/com/google/gwtorm/schema/sql/DialectMaxDBTest.java b/src/test/java/com/google/gwtorm/schema/sql/DialectMaxDBTest.java
index a1f6676..c193719 100644
--- a/src/test/java/com/google/gwtorm/schema/sql/DialectMaxDBTest.java
+++ b/src/test/java/com/google/gwtorm/schema/sql/DialectMaxDBTest.java
@@ -37,24 +37,16 @@
import org.junit.Before;
import org.junit.Test;
-import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
import java.util.Properties;
import java.util.Set;
-public class DialectMaxDBTest {
+public class DialectMaxDBTest extends SqlDialectTest {
private static final String MAXDB_URL_KEY = "maxdb.url";
private static final String MAXDB_USER_KEY = "maxdb.user";
private static final String MAXDB_PASSWORD_KEY = "maxdb.password";
private static final String MAXDB_DRIVER = "com.sap.dbtech.jdbc.DriverSapDB";
- private Connection db;
- private JdbcExecutor executor;
- private SqlDialect dialect;
- private Database<PhoneBookDb> phoneBook;
- private Database<PhoneBookDb2> phoneBook2;
@Before
public void setUp() throws Exception {
@@ -333,43 +325,4 @@
p.close();
}
}
-
- @Test
- public void testRollbackTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(0, r.size());
- }
-
- @Test
- public void testRollbackNoTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- ArrayList<Person> all = new ArrayList<Person>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
-
- @Test
- public void testCommitTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
}
diff --git a/src/test/java/com/google/gwtorm/schema/sql/DialectMySQLTest.java b/src/test/java/com/google/gwtorm/schema/sql/DialectMySQLTest.java
index e092e56..3b31595 100644
--- a/src/test/java/com/google/gwtorm/schema/sql/DialectMySQLTest.java
+++ b/src/test/java/com/google/gwtorm/schema/sql/DialectMySQLTest.java
@@ -20,10 +20,10 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeNoException;
-import com.google.gwtorm.data.PhoneBookDb;
-import com.google.gwtorm.data.PhoneBookDb2;
import com.google.gwtorm.data.Address;
import com.google.gwtorm.data.Person;
+import com.google.gwtorm.data.PhoneBookDb;
+import com.google.gwtorm.data.PhoneBookDb2;
import com.google.gwtorm.jdbc.Database;
import com.google.gwtorm.jdbc.JdbcExecutor;
import com.google.gwtorm.jdbc.JdbcSchema;
@@ -34,22 +34,13 @@
import org.junit.Before;
import org.junit.Test;
-import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collections;
-import java.util.List;
import java.util.Properties;
import java.util.Set;
-public class DialectMySQLTest {
- private Connection db;
- private JdbcExecutor executor;
- private SqlDialect dialect;
- private Database<PhoneBookDb> phoneBook;
- private Database<PhoneBookDb2> phoneBook2;
-
+public class DialectMySQLTest extends SqlDialectTest {
@Before
public void setUp() throws Exception {
Class.forName(com.mysql.jdbc.Driver.class.getName());
@@ -228,43 +219,4 @@
assertTrue(s.contains("bar"));
assertFalse(s.contains("for"));
}
-
- @Test
- public void testRollbackTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(0, r.size());
- }
-
- @Test
- public void testRollbackNoTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- ArrayList<Person> all = new ArrayList<Person>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
-
- @Test
- public void testCommitTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
}
diff --git a/src/test/java/com/google/gwtorm/schema/sql/DialectOracleSQLTest.java b/src/test/java/com/google/gwtorm/schema/sql/DialectOracleSQLTest.java
index f0ced86..5e39c9b 100644
--- a/src/test/java/com/google/gwtorm/schema/sql/DialectOracleSQLTest.java
+++ b/src/test/java/com/google/gwtorm/schema/sql/DialectOracleSQLTest.java
@@ -33,22 +33,14 @@
import org.junit.Before;
import org.junit.Test;
-import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collections;
-import java.util.List;
import java.util.Properties;
import java.util.Set;
-public class DialectOracleSQLTest {
+public class DialectOracleSQLTest extends SqlDialectTest {
private final static String ORACLE_DRIVER = "oracle.jdbc.driver.OracleDriver";
- private Connection db;
- private JdbcExecutor executor;
- private SqlDialect dialect;
- private Database<PhoneBookDb> phoneBook;
- private Database<PhoneBookDb2> phoneBook2;
@Before
public void setUp() throws Exception {
@@ -229,43 +221,4 @@
assertTrue(s.contains("bar"));
assertFalse(s.contains("for"));
}
-
- @Test
- public void testRollbackTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(0, r.size());
- }
-
- @Test
- public void testRollbackNoTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- ArrayList<Person> all = new ArrayList<Person>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
-
- @Test
- public void testCommitTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
}
diff --git a/src/test/java/com/google/gwtorm/schema/sql/DialectPostgreSQLTest.java b/src/test/java/com/google/gwtorm/schema/sql/DialectPostgreSQLTest.java
index ef0a067..ca9326c 100644
--- a/src/test/java/com/google/gwtorm/schema/sql/DialectPostgreSQLTest.java
+++ b/src/test/java/com/google/gwtorm/schema/sql/DialectPostgreSQLTest.java
@@ -20,10 +20,10 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeNoException;
-import com.google.gwtorm.data.PhoneBookDb;
-import com.google.gwtorm.data.PhoneBookDb2;
import com.google.gwtorm.data.Address;
import com.google.gwtorm.data.Person;
+import com.google.gwtorm.data.PhoneBookDb;
+import com.google.gwtorm.data.PhoneBookDb2;
import com.google.gwtorm.jdbc.Database;
import com.google.gwtorm.jdbc.JdbcExecutor;
import com.google.gwtorm.jdbc.JdbcSchema;
@@ -34,22 +34,13 @@
import org.junit.Before;
import org.junit.Test;
-import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collections;
-import java.util.List;
import java.util.Properties;
import java.util.Set;
-public class DialectPostgreSQLTest {
- private Connection db;
- private JdbcExecutor executor;
- private SqlDialect dialect;
- private Database<PhoneBookDb> phoneBook;
- private Database<PhoneBookDb2> phoneBook2;
-
+public class DialectPostgreSQLTest extends SqlDialectTest {
@Before
public void setUp() throws Exception {
Class.forName(org.postgresql.Driver.class.getName());
@@ -227,43 +218,4 @@
assertTrue(s.contains("bar"));
assertFalse(s.contains("for"));
}
-
- @Test
- public void testRollbackTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(0, r.size());
- }
-
- @Test
- public void testRollbackNoTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- ArrayList<Person> all = new ArrayList<Person>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- schema.rollback();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
-
- @Test
- public void testCommitTransaction() throws SQLException, OrmException {
- PhoneBookDb schema = phoneBook.open();
- schema.updateSchema(executor);
- schema.people().beginTransaction(null);
- ArrayList<Person> all = new ArrayList<>();
- all.add(new Person(new Person.Key("Bob"), 18));
- schema.people().insert(all);
- schema.commit();
- List<Person> r = schema.people().olderThan(10).toList();
- assertEquals(1, r.size());
- }
}
diff --git a/src/test/java/com/google/gwtorm/schema/sql/SqlDialectTest.java b/src/test/java/com/google/gwtorm/schema/sql/SqlDialectTest.java
new file mode 100644
index 0000000..ac8cd46
--- /dev/null
+++ b/src/test/java/com/google/gwtorm/schema/sql/SqlDialectTest.java
@@ -0,0 +1,78 @@
+// Copyright (C) 2014 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 com.google.gwtorm.schema.sql;
+
+import static org.junit.Assert.assertEquals;
+
+import com.google.gwtorm.data.Person;
+import com.google.gwtorm.data.PhoneBookDb;
+import com.google.gwtorm.data.PhoneBookDb2;
+import com.google.gwtorm.jdbc.Database;
+import com.google.gwtorm.jdbc.JdbcExecutor;
+import com.google.gwtorm.server.OrmException;
+
+import org.junit.Test;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+public abstract class SqlDialectTest {
+ protected JdbcExecutor executor;
+ protected Connection db;
+ protected SqlDialect dialect;
+ protected Database<PhoneBookDb> phoneBook;
+ protected Database<PhoneBookDb2> phoneBook2;
+
+ @Test
+ public void testRollbackTransaction() throws SQLException, OrmException {
+ PhoneBookDb schema = phoneBook.open();
+ schema.updateSchema(executor);
+ schema.people().beginTransaction(null);
+ ArrayList<Person> all = new ArrayList<>();
+ all.add(new Person(new Person.Key("Bob"), 18));
+ schema.people().insert(all);
+ schema.rollback();
+ List<Person> r = schema.people().olderThan(10).toList();
+ assertEquals(0, r.size());
+ }
+
+ @Test
+ public void testRollbackNoTransaction() throws Exception {
+ PhoneBookDb schema = phoneBook.open();
+ schema.updateSchema(executor);
+ ArrayList<Person> all = new ArrayList<>();
+ all.add(new Person(new Person.Key("Bob"), 18));
+ schema.people().insert(all);
+ schema.commit();
+ schema.rollback();
+ List<Person> r = schema.people().olderThan(10).toList();
+ assertEquals(1, r.size());
+ }
+
+ @Test
+ public void testCommitTransaction() throws Exception {
+ PhoneBookDb schema = phoneBook.open();
+ schema.updateSchema(executor);
+ schema.people().beginTransaction(null);
+ ArrayList<Person> all = new ArrayList<>();
+ all.add(new Person(new Person.Key("Bob"), 18));
+ schema.people().insert(all);
+ schema.commit();
+ List<Person> r = schema.people().olderThan(10).toList();
+ assertEquals(1, r.size());
+ }
+}