From 9ca5b384b4143529a3c9bc80bff39dab635aee1c Mon Sep 17 00:00:00 2001 From: Tharre Date: Sat, 12 May 2018 00:00:59 +0200 Subject: Implement requestVehicles() in service+DAO #25953 --- src/test/resources/operationDAOUpdateNormal.xml | 19 +++++++++++++++++++ .../resources/operationDAOUpdateRemoveVehicles.xml | 17 +++++++++++++++++ src/test/resources/operationDAOUpdateSetup.xml | 17 +++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 src/test/resources/operationDAOUpdateNormal.xml create mode 100644 src/test/resources/operationDAOUpdateRemoveVehicles.xml create mode 100644 src/test/resources/operationDAOUpdateSetup.xml (limited to 'src/test/resources') diff --git a/src/test/resources/operationDAOUpdateNormal.xml b/src/test/resources/operationDAOUpdateNormal.xml new file mode 100644 index 0000000..025cdc2 --- /dev/null +++ b/src/test/resources/operationDAOUpdateNormal.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/operationDAOUpdateRemoveVehicles.xml b/src/test/resources/operationDAOUpdateRemoveVehicles.xml new file mode 100644 index 0000000..6f171b4 --- /dev/null +++ b/src/test/resources/operationDAOUpdateRemoveVehicles.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + diff --git a/src/test/resources/operationDAOUpdateSetup.xml b/src/test/resources/operationDAOUpdateSetup.xml new file mode 100644 index 0000000..23d1a25 --- /dev/null +++ b/src/test/resources/operationDAOUpdateSetup.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + -- cgit v1.2.3-70-g09d2 From 15ce2498f0b0131edcadcac2c1ca0c9cdb47f9e8 Mon Sep 17 00:00:00 2001 From: Martin Weick Date: Sat, 12 May 2018 10:30:19 +0200 Subject: Create Test Data for the Vehicle Persitence Test --- src/test/resources/employeeServiceTestData.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/test/resources') diff --git a/src/test/resources/employeeServiceTestData.xml b/src/test/resources/employeeServiceTestData.xml index c21fde6..a9553a2 100644 --- a/src/test/resources/employeeServiceTestData.xml +++ b/src/test/resources/employeeServiceTestData.xml @@ -1,12 +1,12 @@ - - - + + + - - - + + + \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 518335d6dc6f72f118426d8eb46bfd2e4077bca6 Mon Sep 17 00:00:00 2001 From: Martin Weick Date: Sat, 12 May 2018 10:31:30 +0200 Subject: Create Test Data for the Vehicle Persitence Test --- src/test/resources/vehicleTestData.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/test/resources/vehicleTestData.xml (limited to 'src/test/resources') diff --git a/src/test/resources/vehicleTestData.xml b/src/test/resources/vehicleTestData.xml new file mode 100644 index 0000000..19d25ad --- /dev/null +++ b/src/test/resources/vehicleTestData.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3-70-g09d2 From ade6a600a54176e4ea54ce6117e5cdadde2cf3d3 Mon Sep 17 00:00:00 2001 From: Martin Weick Date: Mon, 21 May 2018 21:07:15 +0200 Subject: Create XML for Vehicle Update Tests #25948 --- src/test/resources/vehicleTestUpdateExpectedData.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/test/resources/vehicleTestUpdateExpectedData.xml (limited to 'src/test/resources') diff --git a/src/test/resources/vehicleTestUpdateExpectedData.xml b/src/test/resources/vehicleTestUpdateExpectedData.xml new file mode 100644 index 0000000..159ccaa --- /dev/null +++ b/src/test/resources/vehicleTestUpdateExpectedData.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 69901593ea681a0ddcd4dd472155dea0daab4ca4 Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Sat, 19 May 2018 12:18:48 +0200 Subject: Add unit-test testAddValidEmployee [#25949] --- .../dao/EmployeePersistenceTest.java | 66 ++++++++++++++++++++++ .../resources/testAddValidEmployee_expected.xml | 16 ++++++ 2 files changed, 82 insertions(+) create mode 100644 src/test/resources/testAddValidEmployee_expected.xml (limited to 'src/test/resources') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java index 8633b9d..52a87eb 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java @@ -7,9 +7,13 @@ import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.io.InputStream; import java.time.LocalDate; import java.util.Set; +import org.dbunit.Assertion; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.ITable; +import org.dbunit.dataset.filter.DefaultColumnFilter; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; +import org.dbunit.util.fileloader.FlatXmlDataFileLoader; import org.junit.Assert; public class EmployeePersistenceTest extends JdbcTestCase { @@ -82,4 +86,66 @@ public class EmployeePersistenceTest extends JdbcTestCase { Assert.assertFalse(employees.contains(empOne)); } + + /** + * This test checks if rows in both table EmployeeVersion and Employee are created, without + * checking the referential integrity constraint. + * + * @throws Exception + */ + public void testAddValidEmployee() throws Exception { + + Employee employee = + Employee.builder() + .id(4) + .name("Testperson") + .birthday(LocalDate.parse("2010-11-11")) + .educationLevel(EducationLevel.NA) + .isDriver(true) + .isPilot(false) + .build(); + + employeePersistence.add(employee); + + String[] excludedColumnsEmployeeVersion = new String[] {"ID"}; + String[] excludedColumnsEmployee = new String[] {"VERSION"}; + String tableEmployeeVersion = "EMPLOYEEVERSION"; + String tableEmployee = "EMPLOYEE"; + + // load actual and expected data set + IDataSet actualDataSet = getConnection().createDataSet(); + IDataSet expectedDataSet = + new FlatXmlDataFileLoader().load("/testAddValidEmployee_expected.xml"); + + // extract employeeVersion table + ITable actualEmployeeVersionTable = actualDataSet.getTable(tableEmployeeVersion); + ITable expectedEmployeeVersionTable = expectedDataSet.getTable(tableEmployeeVersion); + + // exclude 'id' column as it is an autogenerated value + ITable actualFilteredTable = + DefaultColumnFilter.excludedColumnsTable( + actualEmployeeVersionTable, excludedColumnsEmployeeVersion); + ITable expectedFilteredTable = + DefaultColumnFilter.excludedColumnsTable( + expectedEmployeeVersionTable, excludedColumnsEmployeeVersion); + + // extract employee table + ITable actualEmployeeTable = actualDataSet.getTable(tableEmployee); + ITable expectedEmployeeTable = expectedDataSet.getTable(tableEmployee); + + // exclude 'version' as it is an autogenerated value + ITable actualFilteredEmpTable = + DefaultColumnFilter.excludedColumnsTable( + actualEmployeeTable, excludedColumnsEmployee); + ITable expectedFilteredEmpTable = + DefaultColumnFilter.excludedColumnsTable( + expectedEmployeeTable, excludedColumnsEmployee); + + Assertion.assertEquals(expectedFilteredTable, actualFilteredTable); + Assertion.assertEquals(expectedFilteredEmpTable, actualFilteredEmpTable); + } + + public void testUpdateValidEmployee() throws PersistenceException {} + + public void testUpdateNonExistingEmployee() throws PersistenceException {} } diff --git a/src/test/resources/testAddValidEmployee_expected.xml b/src/test/resources/testAddValidEmployee_expected.xml new file mode 100644 index 0000000..41ecf4e --- /dev/null +++ b/src/test/resources/testAddValidEmployee_expected.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3-70-g09d2 From a48f595c31ed6c70a413134a4336010c6e4102be Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Sat, 19 May 2018 14:32:54 +0200 Subject: Rename employee persistence test data xml [#25963] --- src/test/resources/EmployeePersistenceTestBaseData.xml | 12 ++++++++++++ src/test/resources/employeeServiceTestData.xml | 12 ------------ 2 files changed, 12 insertions(+), 12 deletions(-) create mode 100644 src/test/resources/EmployeePersistenceTestBaseData.xml delete mode 100644 src/test/resources/employeeServiceTestData.xml (limited to 'src/test/resources') diff --git a/src/test/resources/EmployeePersistenceTestBaseData.xml b/src/test/resources/EmployeePersistenceTestBaseData.xml new file mode 100644 index 0000000..a9553a2 --- /dev/null +++ b/src/test/resources/EmployeePersistenceTestBaseData.xml @@ -0,0 +1,12 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/employeeServiceTestData.xml b/src/test/resources/employeeServiceTestData.xml deleted file mode 100644 index a9553a2..0000000 --- a/src/test/resources/employeeServiceTestData.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 62ac756fbb443f1e8d28543d093ae956afd55ebb Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Sat, 19 May 2018 14:35:35 +0200 Subject: Add file containing expected data for testAddValidEmployeeJoin [#25963] --- .../resources/testAddValidEmployeeJoin_expected.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/test/resources/testAddValidEmployeeJoin_expected.xml (limited to 'src/test/resources') diff --git a/src/test/resources/testAddValidEmployeeJoin_expected.xml b/src/test/resources/testAddValidEmployeeJoin_expected.xml new file mode 100644 index 0000000..0977a95 --- /dev/null +++ b/src/test/resources/testAddValidEmployeeJoin_expected.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file -- cgit v1.2.3-70-g09d2 From a673936a8f144c17980b33bd8047959fb9148252 Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Mon, 21 May 2018 14:24:57 +0200 Subject: Implement tests for updating a valid and non-existing employee [#25949] --- .../dao/EmployeePersistenceTest.java | 66 +++++++++++++++++++++- .../resources/testUpdateValidEmployee_expected.xml | 14 +++++ 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 src/test/resources/testUpdateValidEmployee_expected.xml (limited to 'src/test/resources') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java index 970c300..6bd42bf 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java @@ -193,7 +193,69 @@ public class EmployeePersistenceTest extends JdbcTestCase { Assertion.assertEquals(expectedFilteredJoinData, actualFilteredJoinData); } - public void testUpdateValidEmployee() throws PersistenceException {} + Employee validUpdateEmployee = + Employee.builder() + .id(3) + .name("Lisa") + .birthday(LocalDate.parse("1999-10-16")) + .educationLevel(EducationLevel.NKA) + .isDriver(true) + .isPilot(true) + .build(); + + @Test + public void testUpdateValidEmployee_EmployeeVersion() throws Exception { + + employeePersistence.update(validUpdateEmployee); + + String[] excludedColumnsEmployeeVersion = new String[] {"ID"}; + String tableEmployeeVersion = "EMPLOYEEVERSION"; + + ITable actualTableData = + Helper.getActualFilteredTableData( + getConnection(), tableEmployeeVersion, excludedColumnsEmployeeVersion); + ITable expedtedTableData = + Helper.getExpectedFilteredTableData( + tableEmployeeVersion, + excludedColumnsEmployeeVersion, + "testUpdateValidEmployee_expected.xml"); + + Assertion.assertEquals(expedtedTableData, actualTableData); + } + + @Test + public void testUpdateValidEmployee_Employee() throws Exception { - public void testUpdateNonExistingEmployee() throws PersistenceException {} + employeePersistence.update(validUpdateEmployee); + + String[] excludedColumns = new String[] {"VERSION"}; + String tableName = "EMPLOYEE"; + String expectedXmlDataFileName = "testUpdateValidEmployee_expected.xml"; + + ITable actualTableData = + Helper.getActualFilteredTableData(getConnection(), tableName, excludedColumns); + + ITable expectedTableData = + Helper.getExpectedFilteredTableData( + tableName, excludedColumns, expectedXmlDataFileName); + + Assertion.assertEquals(expectedTableData, actualTableData); + } + + @Test(expected = ElementNotFoundException.class) + public void testUpdateNonExistingEmployee() + throws PersistenceException, ElementNotFoundException { + + Employee nonExistentEmployee = + Employee.builder() + .id(1000) + .name("Lisa") + .birthday(LocalDate.parse("1999-10-16")) + .educationLevel(EducationLevel.NKA) + .isDriver(true) + .isPilot(true) + .build(); + + employeePersistence.update(nonExistentEmployee); + } } diff --git a/src/test/resources/testUpdateValidEmployee_expected.xml b/src/test/resources/testUpdateValidEmployee_expected.xml new file mode 100644 index 0000000..4a35a7b --- /dev/null +++ b/src/test/resources/testUpdateValidEmployee_expected.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 80a8d2dc7df2f6760bf2c499d50e9dee4432eb8b Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Wed, 23 May 2018 23:53:37 +0200 Subject: Fix vehicleTestData, vehicleTestUpdateExpectedData (id swap) [#25963] Changes relate to 'side-fix' addressed in f43bb72 --- src/test/resources/vehicleTestData.xml | 12 ++++++------ src/test/resources/vehicleTestUpdateExpectedData.xml | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) (limited to 'src/test/resources') diff --git a/src/test/resources/vehicleTestData.xml b/src/test/resources/vehicleTestData.xml index 19d25ad..c3f2e79 100644 --- a/src/test/resources/vehicleTestData.xml +++ b/src/test/resources/vehicleTestData.xml @@ -1,10 +1,10 @@ - - - + + + - - - + + + \ No newline at end of file diff --git a/src/test/resources/vehicleTestUpdateExpectedData.xml b/src/test/resources/vehicleTestUpdateExpectedData.xml index 159ccaa..861880b 100644 --- a/src/test/resources/vehicleTestUpdateExpectedData.xml +++ b/src/test/resources/vehicleTestUpdateExpectedData.xml @@ -1,10 +1,10 @@ - - - - + + + + - - - + + + \ No newline at end of file -- cgit v1.2.3-70-g09d2