summaryrefslogtreecommitdiffstats
path: root/src/test/java
diff options
context:
space:
mode:
authorMartin Weick <e1627760@student.tuwien.ac.at>2018-05-21 21:10:07 +0200
committerTharre <tharre3@gmail.com>2018-05-22 15:02:27 +0200
commit97de5781b614f5ab3e515f8a63421aae79cf4aa9 (patch)
treed37f6250660d80f0dc76f3046ac0dd46872da8f7 /src/test/java
parentade6a600a54176e4ea54ce6117e5cdadde2cf3d3 (diff)
downloadsepm-groupproject-97de5781b614f5ab3e515f8a63421aae79cf4aa9.tar.gz
sepm-groupproject-97de5781b614f5ab3e515f8a63421aae79cf4aa9.tar.xz
sepm-groupproject-97de5781b614f5ab3e515f8a63421aae79cf4aa9.zip
Implement Vehicle Update Tests Persistence #25948
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java95
1 files changed, 62 insertions, 33 deletions
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java
index e37259b..32053a8 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java
@@ -7,34 +7,43 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Con
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
+import at.ac.tuwien.sepm.assignment.groupphase.util.Helper;
import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager;
+import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase;
import java.io.InputStream;
import java.sql.Types;
import java.util.List;
+import org.dbunit.Assertion;
import org.dbunit.DBTestCase;
import org.dbunit.PropertiesBasedJdbcDatabaseTester;
import org.dbunit.database.DatabaseConfig;
import org.dbunit.dataset.IDataSet;
+import org.dbunit.dataset.ITable;
import org.dbunit.dataset.datatype.DataType;
import org.dbunit.dataset.datatype.DataTypeException;
import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory;
+import org.dbunit.util.fileloader.FlatXmlDataFileLoader;
+import org.junit.After;
import org.junit.Assert;
+import org.junit.Test;
-public class VehiclePersistenceTest extends DBTestCase {
-
- private static final String JDBC_DRIVER = org.h2.Driver.class.getName();
- private static final String JDBC_URL =
- "jdbc:h2:mem:test;INIT=RUNSCRIPT FROM 'classpath:sql/database.sql'";
+public class VehiclePersistenceTest extends JdbcTestCase {
private VehicleDAO vehicleDAO;
- public VehiclePersistenceTest() throws PersistenceException {
- vehicleDAO = new VehicleDatabaseDao(new JDBCConnectionManager(JDBC_URL));
+ private Vehicle validUpdateVehicle = Vehicle.builder()
+ .hasNef(true)
+ .constructionType(ConstructionType.HOCHDACH)
+ .type(VehicleType.RTW)
+ .id(4)
+ .name("RTW-4")
+ .status(Status.ABGEMELDET)
+ .build();
- System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, JDBC_DRIVER);
- System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, JDBC_URL);
- }
+ public VehiclePersistenceTest(){
+ vehicleDAO = new VehicleDatabaseDao(getJdbcConnectionManager());
+ }
@Override
protected IDataSet getDataSet() throws Exception {
@@ -42,31 +51,13 @@ public class VehiclePersistenceTest extends DBTestCase {
return new FlatXmlDataSetBuilder().build(res);
}
- @Override
- protected void setUpDatabaseConfig(DatabaseConfig config) {
- PostgresqlDataTypeFactory factory =
- new PostgresqlDataTypeFactory() {
- @Override
- public boolean isEnumType(String sqlTypeName) {
- if (sqlTypeName.equalsIgnoreCase("enum")) return true;
-
- return super.isEnumType(sqlTypeName);
- }
-
- @Override
- public DataType createDataType(int sqlType, String sqlTypeName)
- throws DataTypeException {
- if (isEnumType(sqlTypeName)) {
- sqlType = Types.VARCHAR;
- }
-
- return super.createDataType(sqlType, sqlTypeName);
- }
- };
-
- config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, factory);
+ @After
+ public void tearDownOperation() throws Exception {
+ // needed in order to completely reset DB, including resetting auto_increment sequences
+ getJdbcConnectionManager().getConnection().prepareStatement("DROP ALL OBJECTS").execute();
}
+ @Test
public void testListVehicle() throws PersistenceException {
List<Vehicle> vehicles = vehicleDAO.list();
@@ -104,6 +95,7 @@ public class VehiclePersistenceTest extends DBTestCase {
Assert.assertEquals(3, vehicles.size());
}
+ @Test
public void testVehicleListNoElement() throws PersistenceException {
List<Vehicle> vehicles = vehicleDAO.list();
@@ -119,4 +111,41 @@ public class VehiclePersistenceTest extends DBTestCase {
Assert.assertFalse(vehicles.contains(v1));
}
+
+ @Test
+ public void testUpdateValid_VehicleVersion()throws Exception{
+ vehicleDAO.update(validUpdateVehicle);
+
+ String[] excludedColumnsVehicleVersion = new String[]{"ID", "NAME"};
+ String tableVehicleVersion = "VEHICLEVERSION";
+
+ ITable actualTableData =
+ Helper.getActualFilteredTableData(
+ getConnection(),tableVehicleVersion,excludedColumnsVehicleVersion);
+
+ ITable expectedTableData =
+ Helper.getExpectedFilteredTableData(
+ tableVehicleVersion,
+ excludedColumnsVehicleVersion,
+ "vehicleTestUpdateExpectedData.xml");
+ Assertion.assertEquals(expectedTableData, actualTableData);
+ }
+ @Test
+ public void testUpdateValid_Vehicle()throws Exception{
+ vehicleDAO.update(validUpdateVehicle);
+
+ String[] excludedColumnsVehicleVersion = new String[]{"VERSION","STATUS"};
+ String tableVehicleVersion = "VEHICLE";
+
+ ITable actualTableData =
+ Helper.getActualFilteredTableData(
+ getConnection(),tableVehicleVersion,excludedColumnsVehicleVersion);
+
+ ITable expectedTableData =
+ Helper.getExpectedFilteredTableData(
+ tableVehicleVersion,
+ excludedColumnsVehicleVersion,
+ "vehicleTestUpdateExpectedData.xml");
+ Assertion.assertEquals(expectedTableData, actualTableData);
+ }
}