diff options
| author | Viktoria Pundy <viktoria.pundy@aon.at> | 2018-05-06 11:46:00 +0200 | 
|---|---|---|
| committer | Viktoria Pundy <viktoria.pundy@aon.at> | 2018-05-06 18:12:32 +0200 | 
| commit | c35e67aee984312cdc7f2447a73df7fae7f851ca (patch) | |
| tree | dff7a238a8e94665125f20c190f83cae3e772342 /src | |
| parent | e11c9cac13b49514b253eae9a8bbc0c8d47961c4 (diff) | |
| download | sepm-groupproject-c35e67aee984312cdc7f2447a73df7fae7f851ca.tar.gz sepm-groupproject-c35e67aee984312cdc7f2447a73df7fae7f851ca.tar.xz sepm-groupproject-c35e67aee984312cdc7f2447a73df7fae7f851ca.zip  | |
Added some test for persistence layer/small changes
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java | 3 | ||||
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java | 41 | ||||
| -rw-r--r-- | src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java | 67 | ||||
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationPersistenceTest.java | 128 | ||||
| -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;  | 
