Skip to content

Commit a4f9116

Browse files
committed
Add summary annotations to list routes and list airports APIs
1 parent b9a4e54 commit a4f9116

File tree

4 files changed

+105
-74
lines changed

4 files changed

+105
-74
lines changed

src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ public ResponseEntity<Void> deleteAirport(@PathVariable String id) {
113113
}
114114
}
115115

116+
@Operation(summary = "List all airports")
116117
@GetMapping("/list")
117118
public ResponseEntity<Page<Airport>> listAirports(@RequestParam(defaultValue = "0") int page,
118119
@RequestParam(defaultValue = "10") int size) {
@@ -125,9 +126,10 @@ public ResponseEntity<Page<Airport>> listAirports(@RequestParam(defaultValue = "
125126
}
126127
}
127128

128-
@GetMapping("/direct-connections")
129+
@Operation(summary = "List of direct connections to an airport")
130+
@GetMapping("/direct-connections/{airportCode}")
129131
public ResponseEntity<Page<String>> listDirectConnections(
130-
@RequestParam String airportCode,
132+
@PathVariable String airportCode,
131133
@RequestParam(defaultValue = "0") int page,
132134
@RequestParam(defaultValue = "10") int size) {
133135
try {

src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public ResponseEntity<Void> deleteRoute(@PathVariable String id) {
110110
}
111111
}
112112

113+
@Operation(summary = "List all routes")
113114
@GetMapping("/list")
114115
public ResponseEntity<Page<Route>> listRoutes(@RequestParam(defaultValue = "0") int page,
115116
@RequestParam(defaultValue = "10") int size) {

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

Lines changed: 71 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -183,10 +183,12 @@ void testListAirlinesByCountry() {
183183
});
184184
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
185185

186-
RestResponsePage<Airline> airlines = response.getBody();
187-
assert airlines != null;
188-
Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst().orElse(null);
189-
assertThat(airline).isNotNull();
186+
RestResponsePage<Airline> airlines = response.getBody();
187+
assert airlines != null;
188+
189+
Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst()
190+
.orElse(null);
191+
assertThat(airline).isNotNull();
190192

191193
Airline expectedAirline = Airline.builder()
192194
.id("airline_10226")
@@ -202,16 +204,17 @@ void testListAirlinesByCountry() {
202204
// {"id":1191,"type":"airline","name":"Air
203205
// Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"}
204206

205-
country = "France";
206-
ResponseEntity<RestResponsePage<Airline>> response2 = restTemplate.exchange(
207-
"http://localhost:" + port + "/api/v1/airline/country/" + country,
208-
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
209-
});
210-
assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK);
211-
212-
RestResponsePage<Airline> airlines2 = response2.getBody();
213-
assert airlines2 != null;
214-
Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst().orElse(null);
207+
country = "France";
208+
ResponseEntity<RestResponsePage<Airline>> response2 = restTemplate.exchange(
209+
"http://localhost:" + port + "/api/v1/airline/country/" + country,
210+
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
211+
});
212+
assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK);
213+
214+
RestResponsePage<Airline> airlines2 = response2.getBody();
215+
assert airlines2 != null;
216+
Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst()
217+
.orElse(null);
215218

216219
Airline expectedAirline2 = Airline.builder()
217220
.id("airline_1191")
@@ -226,54 +229,58 @@ void testListAirlinesByCountry() {
226229

227230
}
228231

229-
// @Test
230-
// 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);
278-
// }
232+
@Test
233+
void testListAirlinesByDestinationAirport() {
234+
235+
String airport = "LAX";
236+
ResponseEntity<RestResponsePage<Airline>> response = restTemplate.exchange(
237+
"http://localhost:" + port + "/api/v1/airline/destination/" + airport,
238+
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
239+
});
240+
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
241+
242+
RestResponsePage<Airline> airlines = response.getBody();
243+
assert airlines != null;
244+
Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_3029")).findFirst()
245+
.orElse(null);
246+
assertThat(airline).isNotNull();
247+
248+
Airline expectedAirline = Airline.builder()
249+
.id("airline_3029")
250+
.type("airline")
251+
.name("JetBlue Airways")
252+
.iata("B6")
253+
.icao("JBU")
254+
.callsign("JETBLUE")
255+
.country("United States")
256+
.build();
257+
assertThat(airline).isEqualTo(expectedAirline);
258+
259+
airport = "CDG";
260+
ResponseEntity<RestResponsePage<Airline>> response2 = restTemplate.exchange(
261+
"http://localhost:" + port + "/api/v1/airline/destination/" + airport,
262+
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<Airline>>() {
263+
});
264+
265+
assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK);
266+
RestResponsePage<Airline> airlines2 = response2.getBody();
267+
268+
assert airlines2 != null;
269+
270+
Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_137")).findFirst()
271+
.orElse(null);
272+
273+
Airline expectedAirline2 = Airline.builder()
274+
.id("airline_137")
275+
.type("airline")
276+
.name("Air France")
277+
.iata("AF")
278+
.icao("AFR")
279+
.callsign("AIRFRANS")
280+
.country("France")
281+
.build();
282+
283+
assertThat(airline2).isEqualTo(expectedAirline2);
284+
285+
}
279286
}

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

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -146,12 +146,33 @@ void testListAirports() {
146146
assertThat(airports).hasSize(10);
147147
}
148148

149-
// Uncomment this test and modify it similarly if you want to include it
150-
// @Test
151-
// void testListDirectConnections() {
152-
// ResponseEntity<List> response = restTemplate.getForEntity("http://localhost:"
153-
// + port + "/api/v1/airport/direct-connections?airportCode=test", List.class);
154-
// assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
155-
// // Add more assertions as needed
156-
// }
149+
@Test
150+
void testListDirectConnections() {
151+
String airportCode = "LAX";
152+
ResponseEntity<RestResponsePage<String>> response = restTemplate.exchange(
153+
"http://localhost:" + port + "/api/v1/airport/direct-connections/" + airportCode,
154+
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<String>>() {
155+
});
156+
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
157+
158+
RestResponsePage<String> directConnections = response.getBody();
159+
160+
assertThat(directConnections).isNotNull().hasSize(10);
161+
assertThat(directConnections).contains("NRT", "CUN", "GDL", "HMO", "MEX", "MZT", "PVR", "SJD", "ZIH",
162+
"ZLO");
163+
164+
airportCode = "JFK";
165+
response = restTemplate.exchange(
166+
"http://localhost:" + port + "/api/v1/airport/direct-connections/" + airportCode,
167+
HttpMethod.GET, null, new ParameterizedTypeReference<RestResponsePage<String>>() {
168+
});
169+
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
170+
171+
directConnections = response.getBody();
172+
173+
assertThat(directConnections).isNotNull().hasSize(10);
174+
assertThat(directConnections).contains("DEL", "LHR", "EZE", "ATL", "CUN", "MEX", "EZE", "LAX", "SAN",
175+
"SEA");
176+
177+
}
157178
}

0 commit comments

Comments
 (0)