Skip to content

Commit b9a4e54

Browse files
committed
Add .iml and target/ to .gitignore, handle exceptions in test setup and teardown
1 parent d203c1b commit b9a4e54

File tree

4 files changed

+369
-223
lines changed

4 files changed

+369
-223
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
*.iml
2+
13
.gradle
24
build/
5+
target/
36
out/
47
.vscode/
58

src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java

Lines changed: 107 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import org.couchbase.quickstart.springdata.models.Airline;
66
import org.couchbase.quickstart.springdata.models.RestResponsePage;
7+
import org.couchbase.quickstart.springdata.services.AirlineService;
78
import org.junit.jupiter.api.AfterEach;
89
import org.junit.jupiter.api.BeforeEach;
910
import org.junit.jupiter.api.Test;
@@ -12,10 +13,13 @@
1213
import org.springframework.boot.test.context.SpringBootTest;
1314
import org.springframework.boot.test.web.client.TestRestTemplate;
1415
import org.springframework.core.ParameterizedTypeReference;
16+
import org.springframework.dao.DataRetrievalFailureException;
1517
import org.springframework.http.HttpMethod;
1618
import org.springframework.http.HttpStatus;
1719
import org.springframework.http.ResponseEntity;
1820

21+
import com.couchbase.client.core.error.DocumentNotFoundException;
22+
1923
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
2024
class AirlineIntegrationTest {
2125

@@ -25,18 +29,45 @@ class AirlineIntegrationTest {
2529
@Autowired
2630
private TestRestTemplate restTemplate;
2731

32+
@Autowired
33+
private AirlineService airlineService;
34+
2835
@BeforeEach
2936
void setUp() {
30-
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create");
31-
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update");
32-
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete");
37+
try {
38+
if (airlineService.getAirlineById("airline_create").isPresent()) {
39+
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create");
40+
}
41+
if (airlineService.getAirlineById("airline_update").isPresent()) {
42+
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update");
43+
}
44+
if (airlineService.getAirlineById("airline_delete").isPresent()) {
45+
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete");
46+
}
47+
} catch (DocumentNotFoundException | DataRetrievalFailureException e) {
48+
System.out.println("Document not found during setup");
49+
} catch (Exception e) {
50+
System.out.println("Error deleting test data during setup");
51+
}
3352
}
3453

3554
@AfterEach
3655
void tearDown() {
37-
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create");
38-
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update");
39-
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete");
56+
try {
57+
if (airlineService.getAirlineById("airline_create").isPresent()) {
58+
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create");
59+
}
60+
if (airlineService.getAirlineById("airline_update").isPresent()) {
61+
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update");
62+
}
63+
if (airlineService.getAirlineById("airline_delete").isPresent()) {
64+
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete");
65+
}
66+
} catch (DocumentNotFoundException | DataRetrievalFailureException e) {
67+
System.out.println("Document not found during teardown");
68+
} catch (Exception e) {
69+
System.out.println("Error deleting test data during teardown");
70+
}
4071
}
4172

4273
@Test
@@ -130,33 +161,34 @@ void testDeleteAirline() {
130161
@Test
131162
void testListAirlines() {
132163
ResponseEntity<RestResponsePage<Airline>> response = restTemplate.exchange(
133-
"http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null,
134-
new ParameterizedTypeReference<RestResponsePage<Airline>>() {
135-
});
164+
"http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null,
165+
new ParameterizedTypeReference<RestResponsePage<Airline>>() {
166+
});
136167
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
137-
168+
138169
RestResponsePage<Airline> airlines = response.getBody();
139170
assertThat(airlines).isNotNull();
140171
assertThat(airlines.getSize()).isEqualTo(10);
141172
}
142173

143174
@Test
144175
void testListAirlinesByCountry() {
145-
// Check that if it contains
146-
// airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United
147-
// States"}
148-
String country = "United States";
149-
ResponseEntity<RestResponsePage<Airline>> response = restTemplate.exchange(
150-
"http://localhost:" + port + "/api/v1/airline/country/" + country,
151-
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
152-
});
153-
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
176+
// Check that if it contains
177+
// airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United
178+
// States"}
179+
String country = "United States";
180+
ResponseEntity<RestResponsePage<Airline>> response = restTemplate.exchange(
181+
"http://localhost:" + port + "/api/v1/airline/country/" + country,
182+
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
183+
});
184+
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
154185

155186
RestResponsePage<Airline> airlines = response.getBody();
156-
Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst().orElse(null);
187+
assert airlines != null;
188+
Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst().orElse(null);
157189
assertThat(airline).isNotNull();
158190

159-
Airline expectedAirline = Airline.builder()
191+
Airline expectedAirline = Airline.builder()
160192
.id("airline_10226")
161193
.type("airline")
162194
.name("Atifly")
@@ -165,10 +197,10 @@ void testListAirlinesByCountry() {
165197
.callsign("atifly")
166198
.country("United States")
167199
.build();
168-
assertThat(airline).isEqualTo(expectedAirline);
200+
assertThat(airline).isEqualTo(expectedAirline);
169201

170-
// {"id":1191,"type":"airline","name":"Air
171-
// Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"}
202+
// {"id":1191,"type":"airline","name":"Air
203+
// Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"}
172204

173205
country = "France";
174206
ResponseEntity<RestResponsePage<Airline>> response2 = restTemplate.exchange(
@@ -178,9 +210,10 @@ void testListAirlinesByCountry() {
178210
assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK);
179211

180212
RestResponsePage<Airline> airlines2 = response2.getBody();
181-
Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst().orElse(null);
213+
assert airlines2 != null;
214+
Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst().orElse(null);
182215

183-
Airline expectedAirline2 = Airline.builder()
216+
Airline expectedAirline2 = Airline.builder()
184217
.id("airline_1191")
185218
.type("airline")
186219
.name("Air Austral")
@@ -189,11 +222,58 @@ void testListAirlinesByCountry() {
189222
.callsign("REUNION")
190223
.country("France")
191224
.build();
192-
assertThat(airline2).isEqualTo(expectedAirline2);
225+
assertThat(airline2).isEqualTo(expectedAirline2);
193226

194227
}
195228

196229
// @Test
197230
// void testListAirlinesByDestinationAirport() {
231+
// // Check that if it contains
232+
// //
233+
// airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United
234+
// // States"}
235+
// String destinationAirport = "LAX";
236+
// ResponseEntity<RestResponsePage<Airline>> response = restTemplate.exchange(
237+
// "http://localhost:" + port + "/api/v1/airline/destinationAirport/" +
238+
// destinationAirport,
239+
// HttpMethod.GET, null, new
240+
// ParameterizedTypeReference<RestResponsePage<Airline>>() {
241+
// });
242+
// assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
243+
244+
// RestResponsePage<Airline> airlines = response.getBody();
245+
// assert airlines != null;
246+
// Airline airline = airlines.stream().filter(a ->
247+
// a.getId().equals("airline_10226")).findFirst()
248+
// .orElse(null);
249+
// assertThat(airline).isNotNull();
250+
251+
// Airline expectedAirline =
252+
// Airline.builder().id("airline_10226").type("airline").name("Atifly")
253+
// .iata("A1").icao("A1F").callsign("atifly").country("United States").build();
254+
// assertThat(airline).isEqualTo(expectedAirline);
255+
256+
// // {"id":1191,"type":"airline","name":"Air
257+
// // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"}
258+
259+
// destinationAirport = "LAX";
260+
// ResponseEntity<RestResponsePage<Airline>> response2 = restTemplate.exchange(
261+
// "http://localhost:" + port + "/api/v1/airline/destinationAirport/" +
262+
// destinationAirport,
263+
// HttpMethod.GET, null, new
264+
// ParameterizedTypeReference<RestResponsePage<Airline>>() {
265+
// });
266+
// assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK);
267+
268+
// RestResponsePage<Airline> airlines2 = response2.getBody();
269+
// assert airlines2 != null;
270+
// Airline airline2 = airlines2.stream().filter(a ->
271+
// a.getId().equals("airline_1191")).findFirst()
272+
// .orElse(null);
273+
274+
// Airline expectedAirline2 =
275+
// Airline.builder().id("airline_1191").type("airline").name("Air Austral")
276+
// .iata("UU").icao("REU").callsign("REUNION").country("France").build();
277+
// assertThat(airline2).isEqualTo(expectedAirline2);
198278
// }
199279
}

src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.couchbase.quickstart.springdata.models.Airport;
66
import org.couchbase.quickstart.springdata.models.Airport.Geo;
77
import org.couchbase.quickstart.springdata.models.RestResponsePage;
8+
import org.couchbase.quickstart.springdata.services.AirportService;
89
import org.junit.jupiter.api.AfterEach;
910
import org.junit.jupiter.api.BeforeEach;
1011
import org.junit.jupiter.api.Test;
@@ -13,10 +14,13 @@
1314
import org.springframework.boot.test.context.SpringBootTest;
1415
import org.springframework.boot.test.web.client.TestRestTemplate;
1516
import org.springframework.core.ParameterizedTypeReference;
17+
import org.springframework.dao.DataRetrievalFailureException;
1618
import org.springframework.http.HttpMethod;
1719
import org.springframework.http.HttpStatus;
1820
import org.springframework.http.ResponseEntity;
1921

22+
import com.couchbase.client.core.error.DocumentNotFoundException;
23+
2024
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
2125
class AirportIntegrationTest {
2226

@@ -26,18 +30,45 @@ class AirportIntegrationTest {
2630
@Autowired
2731
private TestRestTemplate restTemplate;
2832

33+
@Autowired
34+
private AirportService airportService;
35+
2936
@BeforeEach
3037
void setUp() {
31-
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create");
32-
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update");
33-
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete");
38+
try {
39+
if (airportService.getAirportById("airport_create").isPresent()) {
40+
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create");
41+
}
42+
if (airportService.getAirportById("airport_update").isPresent()) {
43+
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update");
44+
}
45+
if (airportService.getAirportById("airport_delete").isPresent()) {
46+
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete");
47+
}
48+
} catch (DocumentNotFoundException | DataRetrievalFailureException e) {
49+
System.out.println("Document not found during setup");
50+
} catch (Exception e) {
51+
System.out.println("Error deleting test data during setup");
52+
}
3453
}
3554

3655
@AfterEach
3756
void tearDown() {
38-
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create");
39-
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update");
40-
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete");
57+
try {
58+
if (airportService.getAirportById("airport_create").isPresent()) {
59+
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create");
60+
}
61+
if (airportService.getAirportById("airport_update").isPresent()) {
62+
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update");
63+
}
64+
if (airportService.getAirportById("airport_delete").isPresent()) {
65+
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete");
66+
}
67+
} catch (DocumentNotFoundException | DataRetrievalFailureException e) {
68+
System.out.println("Document not found during setup");
69+
} catch (Exception e) {
70+
System.out.println("Error deleting test data during setup");
71+
}
4172
}
4273

4374
@Test

0 commit comments

Comments
 (0)