blob: fc3ea548889e43653c24d8479dc465468165118d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
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;
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.einsatzverwaltung.service.OperationService;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationServiceImpl;
import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException;
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.time.Instant;
import java.util.List;
import org.junit.Assert;
import org.junit.Test;
public class OperationServiceComponentTest {
private final OperationDAO operationDAO = new DBOperationDAO(new JDBCConnectionManager());
private final OperationService operationService = new OperationServiceImpl(operationDAO);
@Test
public void addOperationTest() {
//TODO: MOCK H2
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 {
Assert.assertThat(operationService.add(operation), is(1L));
} catch (InvalidOperationException | ServiceException e) {
fail();
}
}
@Test(expected = InvalidOperationException.class)
public void addFaultyOperationTest() throws InvalidOperationException {
Vehicle vehicle =
Vehicle.builder()
.status(Vehicle.Status.FREI_FUNK)
.constructionType(ConstructionType.HOCHDACH)
.name("BKTW_123")
.hasNef(true)
.type(VehicleType.BKTW)
.build();
Vehicle vehicle1 =
Vehicle.builder()
.status(Vehicle.Status.ABGEMELDET)
.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, vehicle1))
.build();
try {
Assert.assertThat(operationService.add(operation), is(1L));
} catch (ServiceException e) {
fail();
}
}
@Test(expected = InvalidOperationException.class)
public void addFaultyOperation2Test() throws InvalidOperationException {
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())
.build();
try {
Assert.assertThat(operationService.add(operation), is(1L));
} catch (ServiceException e) {
e.printStackTrace();
}
}
@Test(expected = InvalidOperationException.class)
public void addFaultyOperation3Test() throws InvalidOperationException {
Operation operation =
Operation.builder()
.status(Status.ACTIVE)
.opCode("ALP-95E7")
.created(Instant.now())
.destination("")
.additionalInfo("HTU Wien")
.severity(Severity.B)
.vehicles(List.of())
.build();
try {
Assert.assertThat(operationService.add(operation), is(1L));
} catch (ServiceException e) {
e.printStackTrace();
}
}
@Test(expected = InvalidOperationException.class)
public void addFaultyOperation4Test() throws InvalidOperationException {
Operation operation =
Operation.builder()
.status(Status.ACTIVE)
.opCode("")
.created(Instant.now())
.destination("Römergasse 7, 2500 Baden")
.additionalInfo("HTU Wien")
.severity(Severity.B)
.vehicles(List.of())
.build();
try {
Assert.assertThat(operationService.add(operation), is(1L));
} catch (ServiceException e) {
e.printStackTrace();
}
}
}
|