Skip to content

Commit 8e90d87

Browse files
committed
Refactor test setup and teardown methods
1 parent f8ec5a6 commit 8e90d87

File tree

3 files changed

+117
-172
lines changed

3 files changed

+117
-172
lines changed

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

Lines changed: 39 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -35,62 +35,52 @@ class AirlineIntegrationTest {
3535
@Autowired
3636
private AirlineService airlineService;
3737

38-
@BeforeEach
39-
void setUp() {
40-
String baseUri = "";
41-
if (bootstrapHosts.contains("localhost")) {
42-
baseUri = "http://localhost:" + port;
43-
} else {
44-
baseUri = bootstrapHosts;
45-
}
46-
System.out.println("baseUri: " + baseUri);
38+
private void deleteAirline(String baseUri, String airlineId) {
4739
try {
48-
if (airlineService.getAirlineById("airline_create").isPresent()) {
49-
restTemplate.delete(baseUri + "/api/v1/airline/airline_create");
50-
}
51-
if (airlineService.getAirlineById("airline_update").isPresent()) {
52-
restTemplate.delete(baseUri + "/api/v1/airline/airline_update");
53-
}
54-
if (airlineService.getAirlineById("airline_delete").isPresent()) {
55-
restTemplate.delete(baseUri + "/api/v1/airline/airline_delete");
40+
if (airlineService.getAirlineById(airlineId).isPresent()) {
41+
restTemplate.delete(baseUri + "/api/v1/airline/" + airlineId);
5642
}
5743
} catch (DocumentNotFoundException | DataRetrievalFailureException e) {
58-
System.out.println("Document not found during setup");
44+
System.out.println("Document not found");
5945
} catch (Exception e) {
60-
System.out.println("Error deleting test data during setup");
46+
System.out.println("Error deleting test data");
6147
}
6248
}
6349

64-
@AfterEach
65-
void tearDown() {
50+
private void deleteTestAirlineData(String baseUri) {
51+
deleteAirline(baseUri, "airline_create");
52+
deleteAirline(baseUri, "airline_update");
53+
deleteAirline(baseUri, "airline_delete");
54+
}
55+
56+
private String getBaseUri() {
6657
String baseUri = "";
6758
if (bootstrapHosts.contains("localhost")) {
6859
baseUri = "http://localhost:" + port;
6960
} else {
7061
baseUri = bootstrapHosts;
7162
}
63+
return baseUri;
64+
}
65+
66+
@BeforeEach
67+
void setUp() {
68+
String baseUri = getBaseUri();
7269
System.out.println("baseUri: " + baseUri);
73-
try {
74-
if (airlineService.getAirlineById("airline_create").isPresent()) {
75-
restTemplate.delete(baseUri + "/api/v1/airline/airline_create");
76-
}
77-
if (airlineService.getAirlineById("airline_update").isPresent()) {
78-
restTemplate.delete(baseUri + "/api/v1/airline/airline_update");
79-
}
80-
if (airlineService.getAirlineById("airline_delete").isPresent()) {
81-
restTemplate.delete(baseUri + "/api/v1/airline/airline_delete");
82-
}
83-
} catch (DocumentNotFoundException | DataRetrievalFailureException e) {
84-
System.out.println("Document not found during teardown");
85-
} catch (Exception e) {
86-
System.out.println("Error deleting test data during teardown");
87-
}
70+
deleteTestAirlineData(baseUri);
71+
}
72+
73+
@AfterEach
74+
void tearDown() {
75+
String baseUri = getBaseUri();
76+
System.out.println("baseUri: " + baseUri);
77+
deleteTestAirlineData(baseUri);
8878
}
8979

9080
@Test
9181
void testGetAirline() {
9282
ResponseEntity<Airline> response = restTemplate
93-
.getForEntity("http://localhost:" + port + "/api/v1/airline/airline_10", Airline.class);
83+
.getForEntity("/api/v1/airline/airline_10", Airline.class);
9484
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
9585
Airline airline = response.getBody();
9686
assert airline != null;
@@ -120,7 +110,7 @@ void testCreateAirline() {
120110
.country("United States")
121111
.build();
122112
ResponseEntity<Airline> response = restTemplate.postForEntity(
123-
"http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline,
113+
"/api/v1/airline/" + airline.getId(), airline,
124114
Airline.class);
125115
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED);
126116
Airline createdAirline = response.getBody();
@@ -140,11 +130,11 @@ void testUpdateAirline() {
140130
.callsign("TEST")
141131
.country("United States")
142132
.build();
143-
restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline,
133+
restTemplate.postForEntity("/api/v1/airline/" + airline.getId(), airline,
144134
Airline.class);
145-
restTemplate.put("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline);
135+
restTemplate.put("/api/v1/airline/" + airline.getId(), airline);
146136
ResponseEntity<Airline> response = restTemplate
147-
.getForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(),
137+
.getForEntity("/api/v1/airline/" + airline.getId(),
148138
Airline.class);
149139

150140
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
@@ -166,19 +156,19 @@ void testDeleteAirline() {
166156
.callsign("TEST")
167157
.country("United States")
168158
.build();
169-
restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline,
159+
restTemplate.postForEntity("/api/v1/airline/" + airline.getId(), airline,
170160
Airline.class);
171-
restTemplate.delete("http://localhost:" + port + "/api/v1/airline/" + airlineIdToDelete);
161+
restTemplate.delete("/api/v1/airline/" + airlineIdToDelete);
172162
ResponseEntity<Airline> response = restTemplate
173-
.getForEntity("http://localhost:" + port + "/api/v1/airline/" + airlineIdToDelete,
163+
.getForEntity("/api/v1/airline/" + airlineIdToDelete,
174164
Airline.class);
175165
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
176166
}
177167

178168
@Test
179169
void testListAirlines() {
180170
ResponseEntity<RestResponsePage<Airline>> response = restTemplate.exchange(
181-
"http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null,
171+
"/api/v1/airline/list", HttpMethod.GET, null,
182172
new ParameterizedTypeReference<RestResponsePage<Airline>>() {
183173
});
184174
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
@@ -195,7 +185,7 @@ void testListAirlinesByCountry() {
195185
// States"}
196186
String country = "United States";
197187
ResponseEntity<RestResponsePage<Airline>> response = restTemplate.exchange(
198-
"http://localhost:" + port + "/api/v1/airline/country/" + country,
188+
"/api/v1/airline/country/" + country,
199189
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
200190
});
201191
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
@@ -223,7 +213,7 @@ void testListAirlinesByCountry() {
223213

224214
country = "France";
225215
ResponseEntity<RestResponsePage<Airline>> response2 = restTemplate.exchange(
226-
"http://localhost:" + port + "/api/v1/airline/country/" + country,
216+
"/api/v1/airline/country/" + country,
227217
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
228218
});
229219
assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK);
@@ -251,7 +241,7 @@ void testListAirlinesByDestinationAirport() {
251241

252242
String airport = "LAX";
253243
ResponseEntity<RestResponsePage<Airline>> response = restTemplate.exchange(
254-
"http://localhost:" + port + "/api/v1/airline/destination/" + airport,
244+
"/api/v1/airline/destination/" + airport,
255245
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
256246
});
257247
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
@@ -275,7 +265,7 @@ void testListAirlinesByDestinationAirport() {
275265

276266
airport = "CDG";
277267
ResponseEntity<RestResponsePage<Airline>> response2 = restTemplate.exchange(
278-
"http://localhost:" + port + "/api/v1/airline/destination/" + airport,
268+
"/api/v1/airline/destination/" + airport,
279269
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
280270
});
281271

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

Lines changed: 38 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -36,63 +36,52 @@ class AirportIntegrationTest {
3636
@Autowired
3737
private AirportService airportService;
3838

39-
@BeforeEach
40-
void setUp() {
41-
42-
String baseUri = "";
43-
if (bootstrapHosts.contains("localhost")) {
44-
baseUri = "http://localhost:" + port;
45-
} else {
46-
baseUri = bootstrapHosts;
47-
}
48-
39+
private void deleteAirport(String baseUri, String airportId) {
4940
try {
50-
if (airportService.getAirportById("airport_create").isPresent()) {
51-
restTemplate.delete(baseUri + "/api/v1/airport/airport_create");
52-
}
53-
if (airportService.getAirportById("airport_update").isPresent()) {
54-
restTemplate.delete(baseUri + "/api/v1/airport/airport_update");
55-
}
56-
if (airportService.getAirportById("airport_delete").isPresent()) {
57-
restTemplate.delete(baseUri + "/api/v1/airport/airport_delete");
41+
if (airportService.getAirportById(airportId).isPresent()) {
42+
restTemplate.delete(baseUri + "/api/v1/airport/" + airportId);
5843
}
59-
6044
} catch (DocumentNotFoundException | DataRetrievalFailureException e) {
61-
System.out.println("Document not found during setup");
45+
System.out.println("Document not found");
6246
} catch (Exception e) {
63-
System.out.println("Error creating test data during setup");
47+
System.out.println("Error deleting test data");
6448
}
6549
}
6650

67-
@AfterEach
68-
void tearDown() {
51+
private void deleteTestAirportData(String baseUri) {
52+
deleteAirport(baseUri, "airport_create");
53+
deleteAirport(baseUri, "airport_update");
54+
deleteAirport(baseUri, "airport_delete");
55+
}
56+
57+
private String getBaseUri() {
6958
String baseUri = "";
7059
if (bootstrapHosts.contains("localhost")) {
7160
baseUri = "http://localhost:" + port;
7261
} else {
7362
baseUri = bootstrapHosts;
7463
}
75-
try {
76-
if (airportService.getAirportById("airport_create").isPresent()) {
77-
restTemplate.delete(baseUri + "/api/v1/airport/airport_create");
78-
}
79-
if (airportService.getAirportById("airport_update").isPresent()) {
80-
restTemplate.delete(baseUri + "/api/v1/airport/airport_update");
81-
}
82-
if (airportService.getAirportById("airport_delete").isPresent()) {
83-
restTemplate.delete(baseUri + "/api/v1/airport/airport_delete");
84-
}
85-
} catch (DocumentNotFoundException | DataRetrievalFailureException e) {
86-
System.out.println("Document not found during setup");
87-
} catch (Exception e) {
88-
System.out.println("Error deleting test data during setup");
89-
}
64+
return baseUri;
65+
}
66+
67+
@BeforeEach
68+
void setUp() {
69+
String baseUri = getBaseUri();
70+
System.out.println("baseUri: " + baseUri);
71+
deleteTestAirportData(baseUri);
72+
}
73+
74+
@AfterEach
75+
void tearDown() {
76+
String baseUri = getBaseUri();
77+
System.out.println("baseUri: " + baseUri);
78+
deleteTestAirportData(baseUri);
9079
}
9180

9281
@Test
9382
void testGetAirport() {
9483
ResponseEntity<Airport> response = restTemplate
95-
.getForEntity("http://localhost:" + port + "/api/v1/airport/airport_1254",
84+
.getForEntity("/api/v1/airport/airport_1254",
9685
Airport.class);
9786
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
9887
Airport airport = response.getBody();
@@ -110,7 +99,7 @@ void testCreateAirport() {
11099
.city("Test City").country("Test Country").faa("TST").icao("TEST")
111100
.tz("Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build();
112101
ResponseEntity<Airport> response = restTemplate.postForEntity(
113-
"http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport,
102+
"/api/v1/airport/" + airport.getId(), airport,
114103
Airport.class);
115104
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED);
116105
Airport createdAirport = response.getBody();
@@ -124,11 +113,11 @@ void testUpdateAirport() {
124113
.airportName("Updated Test Airport").city("Updated Test City")
125114
.country("Updated Test Country").faa("TST").icao("TEST")
126115
.tz("Updated Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build();
127-
restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport,
116+
restTemplate.postForEntity("/api/v1/airport/" + airport.getId(), airport,
128117
Airport.class);
129-
restTemplate.put("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport);
118+
restTemplate.put("/api/v1/airport/" + airport.getId(), airport);
130119
ResponseEntity<Airport> response = restTemplate
131-
.getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(),
120+
.getForEntity("/api/v1/airport/" + airport.getId(),
132121
Airport.class);
133122

134123
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
@@ -142,19 +131,19 @@ void testDeleteAirport() {
142131
Airport airport = Airport.builder().id("airport_delete").type("airport").airportName("Test Airport")
143132
.city("Test City").country("Test Country").faa("TST").icao("TEST")
144133
.tz("Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build();
145-
restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport,
134+
restTemplate.postForEntity("/api/v1/airport/" + airport.getId(), airport,
146135
Airport.class);
147-
restTemplate.delete("http://localhost:" + port + "/api/v1/airport/" + airport.getId());
136+
restTemplate.delete("/api/v1/airport/" + airport.getId());
148137
ResponseEntity<Airport> response = restTemplate
149-
.getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(),
138+
.getForEntity("/api/v1/airport/" + airport.getId(),
150139
Airport.class);
151140
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
152141
}
153142

154143
@Test
155144
void testListAirports() {
156145
ResponseEntity<RestResponsePage<Airport>> response = restTemplate.exchange(
157-
"http://localhost:" + port + "/api/v1/airport/list", HttpMethod.GET, null,
146+
"/api/v1/airport/list", HttpMethod.GET, null,
158147
new ParameterizedTypeReference<RestResponsePage<Airport>>() {
159148
});
160149
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
@@ -168,7 +157,7 @@ void testListAirports() {
168157
void testListDirectConnections() {
169158
String airportCode = "LAX";
170159
ResponseEntity<RestResponsePage<String>> response = restTemplate.exchange(
171-
"http://localhost:" + port + "/api/v1/airport/direct-connections/" + airportCode,
160+
"/api/v1/airport/direct-connections/" + airportCode,
172161
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<String>>() {
173162
});
174163
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
@@ -181,7 +170,7 @@ void testListDirectConnections() {
181170

182171
airportCode = "JFK";
183172
response = restTemplate.exchange(
184-
"http://localhost:" + port + "/api/v1/airport/direct-connections/" + airportCode,
173+
"/api/v1/airport/direct-connections/" + airportCode,
185174
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<String>>() {
186175
});
187176
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);

0 commit comments

Comments
 (0)