aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorViktoria Pundy <viktoria.pundy@aon.at>2018-05-06 11:46:00 +0200
committerViktoria Pundy <viktoria.pundy@aon.at>2018-05-06 18:12:32 +0200
commitc35e67aee984312cdc7f2447a73df7fae7f851ca (patch)
treedff7a238a8e94665125f20c190f83cae3e772342
parente11c9cac13b49514b253eae9a8bbc0c8d47961c4 (diff)
downloadsepm-groupproject-c35e67aee984312cdc7f2447a73df7fae7f851ca.tar.gz
sepm-groupproject-c35e67aee984312cdc7f2447a73df7fae7f851ca.tar.xz
sepm-groupproject-c35e67aee984312cdc7f2447a73df7fae7f851ca.zip
Added some test for persistence layer/small changes
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java3
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java41
-rw-r--r--src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java67
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java128
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceComponentTest.java (renamed from src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceComponentTest.java)9
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceUnitTest.java (renamed from src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceUnitTest.java)2
6 files changed, 135 insertions, 115 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java
index 485d6fa..d332acc 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java
@@ -22,6 +22,9 @@ public class DBOperationDAO implements OperationDAO {
@Override
public long add(Operation operation) throws PersistenceException {
+ if (operation == null) {
+ throw new PersistenceException("Das der Datenbank übergebene Objekt ist fehlerhaft!");
+ }
PreparedStatement pstmt = null;
try {
pstmt =
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java
deleted file mode 100644
index f21ae9a..0000000
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service;
-
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.DBVehicleDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException;
-import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
-import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
-import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager;
-import java.util.EnumSet;
-import java.util.List;
-
-public class VehicleServiceImpl implements VehicleService {
-
- // TODO
- private static VehicleDAO vehicleDAO = new DBVehicleDAO(new JDBCConnectionManager());
-
- @Override
- public long add(Vehicle vehicle) throws InvalidVehicleException, ServiceException {
- return 0;
- }
-
- @Override
- public Vehicle update(Vehicle vehicle) throws InvalidVehicleException, ServiceException {
- return null;
- }
-
- @Override
- public List<Vehicle> list(EnumSet<Status> statuses) throws ServiceException {
- // TODO: IMPLEMENT SEARCH WITH STATUS
- try {
- return vehicleDAO.list();
- } catch (PersistenceException e) {
- throw new ServiceException(e);
- }
- }
-
- @Override
- public void remove(long id) throws InvalidVehicleException, ServiceException {}
-}
diff --git a/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java b/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java
deleted file mode 100644
index ecc0486..0000000
--- a/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.operation;
-
-import static junit.framework.TestCase.fail;
-import static org.mockito.Mockito.mock;
-
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.DBOperationDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.OperationDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
-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.JDBCConnectionManager;
-import java.nio.charset.Charset;
-import java.sql.SQLException;
-import java.time.Instant;
-import java.util.List;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-public class OperationPersistenceTest {
-
- private final OperationDAO operationDAO =
- new DBOperationDAO(new JDBCConnectionManager("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"));
-
- @BeforeClass
- public static void createSchema() throws SQLException {
- /*RunScript.execute(
- "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
- "",
- "",
- "classpath:sql/database.sql",
- Charset.forName("UTF8"),
- false);*/
- }
-
- @Test
- public void addOperation() {
- //TODO
- Vehicle vehicle =
- Vehicle.builder()
- .status(Vehicle.Status.FREI_FUNK)
- .constructionType(ConstructionType.HOCHDACH)
- .name("BKTW_123")
- .hasNef(true)
- .type(VehicleType.BKTW)
- .build();
-
- Operation operation =
- Operation.builder()
- .status(Status.ACTIVE)
- .opCode("ALP-95E7")
- .created(Instant.now())
- .destination("Wiedner Hauptstraße 35, Wien")
- .additionalInfo("HTU Wien")
- .severity(Severity.B)
- .vehicles(List.of(vehicle))
- .build();
- try {
- operationDAO.add(operation);
- } catch (PersistenceException e) {
- fail();
- }
- }
-}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java
new file mode 100644
index 0000000..575588e
--- /dev/null
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java
@@ -0,0 +1,128 @@
+package at.ac.tuwien.sepm.assignment.groupphase.operation;
+
+import static junit.framework.TestCase.fail;
+
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.DBOperationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.OperationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
+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.JDBCConnectionManager;
+import java.nio.charset.Charset;
+import java.sql.SQLException;
+import java.time.Instant;
+import java.util.List;
+import org.h2.tools.RunScript;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class OperationPersistenceTest {
+
+ private final OperationDAO operationDAO =
+ new DBOperationDAO(new JDBCConnectionManager("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"));
+
+ @BeforeClass
+ public static void createSchema() throws SQLException {
+ RunScript.execute(
+ "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
+ "",
+ "",
+ "classpath:sql/database.sql",
+ Charset.forName("UTF8"),
+ false);
+ }
+
+ @Test
+ public void addOperationTest() {
+ Vehicle vehicle =
+ Vehicle.builder()
+ .status(Vehicle.Status.FREI_FUNK)
+ .constructionType(ConstructionType.HOCHDACH)
+ .name("BKTW_123")
+ .hasNef(true)
+ .type(VehicleType.BKTW)
+ .build();
+
+ Operation operation =
+ Operation.builder()
+ .status(Status.ACTIVE)
+ .opCode("ALP-95E7")
+ .created(Instant.now())
+ .destination("Wiedner Hauptstraße 35, Wien")
+ .additionalInfo("HTU Wien")
+ .severity(Severity.B)
+ .vehicles(List.of(vehicle))
+ .build();
+ try {
+ operationDAO.add(operation);
+ } catch (PersistenceException e) {
+ fail();
+ }
+ }
+
+ /*@Test(expected = PersistenceException.class)
+ public void addFaultyOperationTest() throws PersistenceException {
+ Vehicle vehicle =
+ Vehicle.builder()
+ .status(Vehicle.Status.FREI_FUNK)
+ .constructionType(ConstructionType.HOCHDACH)
+ .name("BKTW_123")
+ .hasNef(true)
+ .type(VehicleType.BKTW)
+ .build();
+
+ Operation operation =
+ Operation.builder()
+ .status(Status.ACTIVE)
+ .opCode("")
+ .created(Instant.now())
+ .destination("Wiedner Hauptstraße 35, Wien")
+ .additionalInfo("HTU Wien")
+ .severity(Severity.B)
+ .vehicles(List.of(vehicle))
+ .build();
+ operationDAO.add(operation);
+ }*/
+
+ @Test(expected = PersistenceException.class)
+ public void addFaultyOperation1Test() throws PersistenceException {
+ operationDAO.add(null);
+ }
+
+ @Test(expected = PersistenceException.class)
+ public void addFaultyOperation2Test() throws PersistenceException {
+ Vehicle vehicle =
+ Vehicle.builder()
+ .status(Vehicle.Status.FREI_FUNK)
+ .constructionType(ConstructionType.HOCHDACH)
+ .name("BKTW_123")
+ .hasNef(true)
+ .type(VehicleType.BKTW)
+ .build();
+
+ Operation operation =
+ Operation.builder()
+ .status(Status.ACTIVE)
+ .opCode("ALP-95E7")
+ .created(Instant.now())
+ .destination(
+ "Wiednerstraße 888, 1010 Wien Wiednerstraße 888, 1010 Wien Wiednerstraße 888, 1010 Wien Wiednerstraße 888, 1010 Wien Wiednerstraße 888, 1010 Wien ")
+ .additionalInfo("HTU Wien")
+ .severity(Severity.B)
+ .vehicles(List.of(vehicle))
+ .build();
+ operationDAO.add(operation);
+ }
+
+ @Test(expected = PersistenceException.class)
+ public void addConnectionTest() throws PersistenceException {
+ operationDAO.connectVehicleToOperation(-1, 0);
+ }
+
+ // TODO: ADD CONNECTION TESTS
+ // KOMMT ID ZURÜCK?
+}
diff --git a/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceComponentTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceComponentTest.java
index aeee11f..7ffe135 100644
--- a/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceComponentTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceComponentTest.java
@@ -2,9 +2,6 @@ package at.ac.tuwien.sepm.assignment.groupphase.operation;
import static junit.framework.TestCase.fail;
import static org.hamcrest.CoreMatchers.is;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.DBOperationDAO;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.OperationDAO;
@@ -26,7 +23,8 @@ import org.junit.Test;
public class OperationServiceComponentTest {
- private final OperationDAO operationDAO = new DBOperationDAO(new JDBCConnectionManager("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"));
+ private final OperationDAO operationDAO =
+ new DBOperationDAO(new JDBCConnectionManager("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"));
private final OperationService operationService = new OperationServiceImpl(operationDAO);
@Test
@@ -51,7 +49,7 @@ public class OperationServiceComponentTest {
.vehicles(List.of(vehicle))
.build();
try {
- //TODO: OPERATION DOES NOT WORK
+ // TODO: OPERATION DOES NOT WORK
Assert.assertThat(operationService.add(operation), is(1L));
} catch (InvalidOperationException | ServiceException e) {
fail();
@@ -150,5 +148,4 @@ public class OperationServiceComponentTest {
e.printStackTrace();
}
}
-
}
diff --git a/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceUnitTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceUnitTest.java
index 866f759..fc10553 100644
--- a/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceUnitTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceUnitTest.java
@@ -1,12 +1,12 @@
package at.ac.tuwien.sepm.assignment.groupphase.operation;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.OperationDAO;
import static junit.framework.TestCase.fail;
import static org.hamcrest.CoreMatchers.is;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.OperationDAO;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;