From c155e29f9a9745880b7ecd0f012ef1a34ff1c58c Mon Sep 17 00:00:00 2001 From: teetangh Date: Tue, 12 Dec 2023 05:57:41 +0530 Subject: [PATCH 01/41] added basic models,controllers,services,repositories --- .gitignore | 9 ++- .vscode/settings.json | 3 + build.gradle | 23 +++++- .../resources/application.properties | 11 +++ .../quickstart/springdata/Application.java} | 6 +- .../config/CouchbaseConfiguration.java | 69 +++++++++++----- .../springdata/config/DBSetupRunner.java | 55 +++++++++++++ .../quickstart/springdata/config/Swagger.java | 21 +++++ .../controller/AirlineController.java | 80 +++++++++++++++++++ .../controller/AirportController.java | 59 ++++++++++++++ .../controller/HealthCheckController.java | 26 ++++++ .../controller/IndexController.java | 2 +- .../controller/ProfileController.java | 7 +- .../controller/RouteController.java | 58 ++++++++++++++ .../quickstart/springdata/model/Airline.java | 40 ++++++++++ .../quickstart/springdata/model/Airport.java | 58 ++++++++++++++ .../quickstart/springdata/model/Profile.java | 26 ++++++ .../quickstart/springdata/model/Route.java | 65 +++++++++++++++ .../repository/AirlineRepository.java | 48 +++++++++++ .../repository/AirportRepository.java | 25 ++++++ .../repository/ProfileRepository.java | 4 +- .../repository/RouteRepository.java | 24 ++++++ .../springdata/services/AirlineService.java | 53 ++++++++++++ .../springdata/services/AirportService.java | 44 ++++++++++ .../springdata/services/RouteService.java | 44 ++++++++++ src/main/java/trycb/config/DbSetupRunner.java | 80 ------------------- src/main/java/trycb/model/Profile.java | 59 -------------- src/main/resources/application.properties | 8 ++ 28 files changed, 833 insertions(+), 174 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 out/production/resources/application.properties rename src/main/java/{trycb/ExampleApplication.java => org/couchbase/quickstart/springdata/Application.java} (80%) rename src/main/java/{trycb => org/couchbase/quickstart/springdata}/config/CouchbaseConfiguration.java (53%) create mode 100644 src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/config/Swagger.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/controller/HealthCheckController.java rename src/main/java/{trycb => org/couchbase/quickstart/springdata}/controller/IndexController.java (91%) rename src/main/java/{trycb => org/couchbase/quickstart/springdata}/controller/ProfileController.java (94%) create mode 100644 src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/model/Airline.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/model/Airport.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/model/Profile.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/model/Route.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java rename src/main/java/{trycb => org/couchbase/quickstart/springdata}/repository/ProfileRepository.java (87%) create mode 100644 src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java create mode 100644 src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java delete mode 100644 src/main/java/trycb/config/DbSetupRunner.java delete mode 100644 src/main/java/trycb/model/Profile.java diff --git a/.gitignore b/.gitignore index a1fc39c..c174fa4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,12 @@ .gradle -/build/ +build/ + +# Default ignored files +shelf/ +/workspace.xml +.idea/ +.idea_modules/ +sonarlint/ # Ignore Gradle GUI config gradle-app.setting diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e0f15db --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "automatic" +} \ No newline at end of file diff --git a/build.gradle b/build.gradle index 160b6ca..a386025 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { id 'java' } -group = 'trycb' +group = 'org.couchbase.quickstart.springdata' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' @@ -12,11 +12,30 @@ repositories { mavenCentral() } +// ext { +// swaggerVersion = "3.0.0" +// springWebVersion = "5.3.9" +// } + dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-couchbase' implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.data:spring-data-couchbase' + + // lombok + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + testCompileOnly 'org.projectlombok:lombok' + testAnnotationProcessor 'org.projectlombok:lombok' + + // swagger + implementation 'io.swagger.core.v3:swagger-annotations' + implementation 'org.springdoc:springdoc-openapi-ui:1.6.15' - implementation 'org.springdoc:springdoc-openapi-ui:1.6.15' + // implementation "io.springfox:springfox-boot-starter:${swaggerVersion}" + // implementation "io.springfox:springfox-spring-web:${springWebVersion}" + // implementation "io.springfox:springfox-swagger2:${swaggerVersion}" + // implementation "io.springfox:springfox-swagger-ui:${swaggerVersion}" testImplementation 'org.springframework.boot:spring-boot-starter-test' } diff --git a/out/production/resources/application.properties b/out/production/resources/application.properties new file mode 100644 index 0000000..c249e0b --- /dev/null +++ b/out/production/resources/application.properties @@ -0,0 +1,11 @@ +server.use-forward-headers=true +server.forward-headers-strategy=framework +spring.couchbase.bootstrap-hosts=localhost +spring.couchbase.bucket.name=travel-sample +spring.couchbase.bucket.user=kaustav +spring.couchbase.bucket.password=password +spring.couchbase.scope.name=inventory +spring.mvc.pathmatch.matching-strategy=ant_path_matcher + + + diff --git a/src/main/java/trycb/ExampleApplication.java b/src/main/java/org/couchbase/quickstart/springdata/Application.java similarity index 80% rename from src/main/java/trycb/ExampleApplication.java rename to src/main/java/org/couchbase/quickstart/springdata/Application.java index 232d16f..f378a33 100644 --- a/src/main/java/trycb/ExampleApplication.java +++ b/src/main/java/org/couchbase/quickstart/springdata/Application.java @@ -1,4 +1,4 @@ -package trycb; +package org.couchbase.quickstart.springdata; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -10,10 +10,10 @@ * Spring Data with Couchbase. **/ @SpringBootApplication -public class ExampleApplication { +public class Application { public static void main(String[] args) { - SpringApplication.run(ExampleApplication.class, args); + SpringApplication.run(Application.class, args); } @Bean diff --git a/src/main/java/trycb/config/CouchbaseConfiguration.java b/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java similarity index 53% rename from src/main/java/trycb/config/CouchbaseConfiguration.java rename to src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java index f78da6b..7495a1e 100644 --- a/src/main/java/trycb/config/CouchbaseConfiguration.java +++ b/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java @@ -1,4 +1,10 @@ -package trycb.config; +package org.couchbase.quickstart.springdata.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration; +import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories; import com.couchbase.client.core.msg.kv.DurabilityLevel; import com.couchbase.client.java.Bucket; @@ -6,13 +12,24 @@ import com.couchbase.client.java.manager.bucket.BucketSettings; import com.couchbase.client.java.manager.bucket.BucketType; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration; - @Configuration +@EnableCouchbaseRepositories public class CouchbaseConfiguration extends AbstractCouchbaseConfiguration { - public static final String PROFILE_COLLECTION = "profile"; + + @Value("${spring.couchbase.bootstrap-hosts}") + private String host; + + @Value("${spring.couchbase.bucket.user}") + private String username; + + @Value("${spring.couchbase.bucket.password}") + private String password; + + @Value("${spring.couchbase.bucket.name}") + private String bucket; + + @Value("${spring.couchbase.scope.name}") + private String scope; @Override public String getConnectionString() { @@ -21,41 +38,49 @@ public String getConnectionString() { // return "couchbases://cb.jnym5s9gv4ealbe.cloud.couchbase.com" // - without ssl validation: // return "couchbases://cb.jnym5s9gv4ealbe.cloud.couchbase.com?tls=no_verify" - // (replace cb.jnym5s9gv4ealbe.cloud.couchbase.com with your Capella cluster address) - // - return "couchbase://127.0.0.1"; + // (replace cb.jnym5s9gv4ealbe.cloud.couchbase.com with your Capella cluster + // address) + + return host; } @Override public String getUserName() { - return "Administrator"; + return username; } @Override public String getPassword() { - return "password"; + return password; } @Override public String getBucketName() { - return "springdata_quickstart"; + return bucket; + } + + @Override + public String typeKey() { + return "type"; } @Bean - public Bucket getCouchbaseBucket(Cluster cluster) throws Exception { + public Bucket getCouchbaseBucket(Cluster cluster){ // verify that bucket exists if (!cluster.buckets().getAllBuckets().containsKey(getBucketName())) { // create the bucket if it doesn't cluster.buckets().createBucket( - BucketSettings.create(getBucketName()) - .bucketType(BucketType.COUCHBASE) - .minimumDurabilityLevel(DurabilityLevel.NONE) - .ramQuotaMB(128) - ); - Thread.sleep(1000); + BucketSettings.create(getBucketName()) + .bucketType(BucketType.COUCHBASE) + .minimumDurabilityLevel(DurabilityLevel.NONE) + .ramQuotaMB(128)); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + e.printStackTrace(); + } } - return cluster.bucket(getBucketName()); } -} - +} \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java b/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java new file mode 100644 index 0000000..fc4e29e --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java @@ -0,0 +1,55 @@ +package org.couchbase.quickstart.springdata.config; + +import java.util.Optional; + +import org.couchbase.quickstart.springdata.model.Airline; +import org.couchbase.quickstart.springdata.model.Airport; +import org.couchbase.quickstart.springdata.model.Route; +import org.couchbase.quickstart.springdata.repository.AirlineRepository; +import org.couchbase.quickstart.springdata.repository.AirportRepository; +import org.couchbase.quickstart.springdata.repository.RouteRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; + +@Component +public class DBSetupRunner implements CommandLineRunner { + + @Autowired + private AirlineRepository airlineRepository; + + @Autowired + private AirportRepository airportRepository; + + @Autowired + private RouteRepository routeRepository; + + @Override + public void run(String... strings) throws Exception { + Optional airline = airlineRepository.findById("airline_10"); // SFO + if (airline.isPresent()) { + System.out.println("got SFO: " + airline.get()); + } else { + System.out.println("SFO not found"); + } + + Optional airport = airportRepository.findById("airport_1254"); // SFO + if (airport.isPresent()) { + System.out.println("got SFO: " + airport.get()); + } else { + System.out.println("SFO not found"); + } + + Optional route = routeRepository.findById("route_10000"); // SFO + if (route.isPresent()) { + System.out.println("got SFO: " + route.get()); + } else { + System.out.println("SFO not found"); + } + try { + } catch (Exception e) { + e.printStackTrace(); + } + } + +} \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/Swagger.java b/src/main/java/org/couchbase/quickstart/springdata/config/Swagger.java new file mode 100644 index 0000000..8064f93 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/config/Swagger.java @@ -0,0 +1,21 @@ +// package org.couchbase.quickstart.springdata.config; + +// import org.springframework.context.annotation.Bean; +// import org.springframework.context.annotation.Configuration; + +// import springfox.documentation.builders.PathSelectors; +// import springfox.documentation.builders.RequestHandlerSelectors; +// import springfox.documentation.spi.DocumentationType; +// import springfox.documentation.spring.web.plugins.Docket; + +// @Configuration +// public class Swagger { +// @Bean +// public Docket api() { +// return new Docket(DocumentationType.SWAGGER_2) +// .select() +// .apis(RequestHandlerSelectors.basePackage("org.couchbase.quickstart.controllers")) +// .paths(PathSelectors.any()) +// .build(); +// } +// } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java new file mode 100644 index 0000000..bfe0ad0 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java @@ -0,0 +1,80 @@ +package org.couchbase.quickstart.springdata.controller; + +import java.util.Optional; + +import org.couchbase.quickstart.springdata.model.Airline; +import org.couchbase.quickstart.springdata.services.AirlineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/v1/airline") +public class AirlineController { + + private AirlineService airlineService; + + @Autowired + public AirlineController(AirlineService airlineService) { + this.airlineService = airlineService; + } + + @PostMapping("/{id}") + public ResponseEntity createAirline(@PathVariable String id, @RequestBody Airline airline) { + Airline createdAirline = airlineService.createAirline(id, airline); + return new ResponseEntity<>(createdAirline, HttpStatus.CREATED); + } + + @GetMapping("/{id}") + public ResponseEntity getAirline(@PathVariable String id) { + Optional airline = airlineService.getAirlineById(id); + return airline.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) + .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } + + @PutMapping("/{id}") + public ResponseEntity updateAirline(@PathVariable String id, @RequestBody Airline airline) { + Airline updatedAirline = airlineService.updateAirline(id, airline); + return new ResponseEntity<>(updatedAirline, HttpStatus.OK); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteAirline(@PathVariable String id) { + airlineService.deleteAirline(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @GetMapping("/list") + public ResponseEntity> listAirlines(@RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size) { + Page airlines = airlineService.getAllAirlines(PageRequest.of(page, size)); + return new ResponseEntity<>(airlines, HttpStatus.OK); + } + + @GetMapping("/country/{country}") + public ResponseEntity> listAirlinesByCountry(@PathVariable String country, @RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size) { + Page airlines = airlineService.findByCountry(country,PageRequest.of(page, size)); + return new ResponseEntity<>(airlines, HttpStatus.OK); + } + + @GetMapping("/destination/{destinationAirport}") + public ResponseEntity> listAirlinesByDestinationAirport(@RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size, @PathVariable String destinationAirport) { + Page airlines = airlineService.findByDestinationAirport(PageRequest.of(page, size), + destinationAirport); + return new ResponseEntity<>(airlines, HttpStatus.OK); + } + +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java new file mode 100644 index 0000000..41b8499 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -0,0 +1,59 @@ +package org.couchbase.quickstart.springdata.controller; + + +import java.util.Optional; + +import org.couchbase.quickstart.springdata.model.Airport; +import org.couchbase.quickstart.springdata.services.AirportService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/v1/airport") +public class AirportController { + + @Autowired + private AirportService airportService; + + @PostMapping("/{id}") + public ResponseEntity createAirport(@PathVariable String id, @RequestBody Airport airport) { + Airport createdAirport = airportService.createAirport(id, airport); + return new ResponseEntity<>(createdAirport, HttpStatus.CREATED); + } + + @GetMapping("/{id}") + public ResponseEntity getAirport(@PathVariable String id) { + Optional airport = airportService.getAirportById(id); + return airport.map(value -> new ResponseEntity<>(value, HttpStatus.OK)).orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } + + @PutMapping("/{id}") + public ResponseEntity updateAirport(@PathVariable String id, @RequestBody Airport airport) { + Airport updatedAirport = airportService.updateAirport(id, airport); + return new ResponseEntity<>(updatedAirport, HttpStatus.OK); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteAirport(@PathVariable String id) { + airportService.deleteAirport(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @GetMapping("/list") + public ResponseEntity> listAirports(Pageable pageable) { + Page airports = airportService.getAllAirports(pageable); + return new ResponseEntity<>(airports, HttpStatus.OK); + } + +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/HealthCheckController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/HealthCheckController.java new file mode 100644 index 0000000..6871aa8 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/HealthCheckController.java @@ -0,0 +1,26 @@ +// package org.couchbase.quickstart.springdata.controller; + +// import org.springframework.http.MediaType; +// import org.springframework.web.bind.annotation.GetMapping; +// import org.springframework.web.bind.annotation.RequestMapping; +// import org.springframework.web.bind.annotation.RestController; + +// import io.swagger.annotations.ApiOperation; +// import io.swagger.annotations.ApiResponse; +// import io.swagger.annotations.ApiResponses; + +// @RestController +// @RequestMapping("/api/v1") +// public class HealthCheckController { + +// @GetMapping(path = "/health", produces = MediaType.APPLICATION_JSON_VALUE) +// @ApiOperation(value = "Get Service Health", produces = MediaType.APPLICATION_JSON_VALUE) +// @ApiResponses( +// value = { +// @ApiResponse(code = 200, message = "OK"), +// @ApiResponse(code = 500, message = "Error occurred in checking service health", response = Error.class) +// }) +// public String getServiceHealthStatus() { +// return "{ \"serviceStatus\": \"Service is Up\" }"; +// } +// } diff --git a/src/main/java/trycb/controller/IndexController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/IndexController.java similarity index 91% rename from src/main/java/trycb/controller/IndexController.java rename to src/main/java/org/couchbase/quickstart/springdata/controller/IndexController.java index ce46bdd..223cae3 100644 --- a/src/main/java/trycb/controller/IndexController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/IndexController.java @@ -1,4 +1,4 @@ -package trycb.controller; +package org.couchbase.quickstart.springdata.controller; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/src/main/java/trycb/controller/ProfileController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java similarity index 94% rename from src/main/java/trycb/controller/ProfileController.java rename to src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java index ae0ea96..2659731 100644 --- a/src/main/java/trycb/controller/ProfileController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java @@ -1,8 +1,10 @@ -package trycb.controller; +package org.couchbase.quickstart.springdata.controller; import java.util.List; import java.util.UUID; +import org.couchbase.quickstart.springdata.model.Profile; +import org.couchbase.quickstart.springdata.repository.ProfileRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -18,9 +20,6 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import trycb.model.Profile; -import trycb.repository.ProfileRepository; - @RestController public class ProfileController { private static final Logger LOGGER = LoggerFactory.getLogger(ProfileController.class); diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java new file mode 100644 index 0000000..7597e7d --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java @@ -0,0 +1,58 @@ +package org.couchbase.quickstart.springdata.controller; + +import java.util.Optional; + +import org.couchbase.quickstart.springdata.model.Route; +import org.couchbase.quickstart.springdata.services.RouteService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/v1/route") +public class RouteController { + + @Autowired + private RouteService routeService; + + @PostMapping("/{id}") + public ResponseEntity createRoute(@PathVariable String id, @RequestBody Route route) { + Route createdRoute = routeService.createRoute(id, route); + return new ResponseEntity<>(createdRoute, HttpStatus.CREATED); + } + + @GetMapping("/{id}") + public ResponseEntity getRoute(@PathVariable String id) { + Optional route = routeService.getRouteById(id); + return route.map(value -> new ResponseEntity<>(value, HttpStatus.OK)).orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } + + @PutMapping("/{id}") + public ResponseEntity updateRoute(@PathVariable String id, @RequestBody Route route) { + Route updatedRoute = routeService.updateRoute(id, route); + return new ResponseEntity<>(updatedRoute, HttpStatus.OK); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteRoute(@PathVariable String id) { + routeService.deleteRoute(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @GetMapping("/list") + public ResponseEntity> listRoutes(Pageable pageable) { + Page routes = routeService.getAllRoutes(pageable); + return new ResponseEntity<>(routes, HttpStatus.OK); + } + +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/model/Airline.java b/src/main/java/org/couchbase/quickstart/springdata/model/Airline.java new file mode 100644 index 0000000..6f59331 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/model/Airline.java @@ -0,0 +1,40 @@ +package org.couchbase.quickstart.springdata.model; + +import org.springframework.data.annotation.Id; +import org.springframework.data.couchbase.core.mapping.Document; +import org.springframework.data.couchbase.core.mapping.Field; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Document +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class Airline { + + @Id + private String id; + + @Field + private String type; + + @Field + private String name; + + @Field + private String iata; + + @Field + private String icao; + + @Field + private String callsign; + + @Field + private String country; + +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/model/Airport.java b/src/main/java/org/couchbase/quickstart/springdata/model/Airport.java new file mode 100644 index 0000000..0e3fe32 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/model/Airport.java @@ -0,0 +1,58 @@ +package org.couchbase.quickstart.springdata.model; + +import org.springframework.data.annotation.Id; +import org.springframework.data.couchbase.core.mapping.Document; +import org.springframework.data.couchbase.core.mapping.Field; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Document +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class Airport { + + @Id + private String id; + + @Field + private String type; + + @Field + private String airportname; + + @Field + private String city; + + @Field + private String country; + + @Field + private String faa; + + @Field + private String icao; + + @Field + private String tz; + + @Field + private Geo geo; + + @Getter + @Setter + @AllArgsConstructor + @NoArgsConstructor + public static class Geo { + @Field + private float alt; + @Field + private float lat; + @Field + private float lon; + } +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/model/Profile.java b/src/main/java/org/couchbase/quickstart/springdata/model/Profile.java new file mode 100644 index 0000000..9a8efa4 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/model/Profile.java @@ -0,0 +1,26 @@ +package org.couchbase.quickstart.springdata.model; + +import java.util.UUID; + +import org.springframework.data.annotation.Id; +import org.springframework.data.couchbase.core.mapping.id.GeneratedValue; +import org.springframework.data.couchbase.repository.Collection; +import org.springframework.data.couchbase.repository.Scope; + +import lombok.Getter; +import lombok.Setter; + +@Scope("_default") +@Collection("profile") +@Getter +@Setter +public class Profile { + @Id + @GeneratedValue + private UUID id; + private String firstName; + private String lastName; + private Byte age; + private String address; + +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/model/Route.java b/src/main/java/org/couchbase/quickstart/springdata/model/Route.java new file mode 100644 index 0000000..dd635f7 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/model/Route.java @@ -0,0 +1,65 @@ +package org.couchbase.quickstart.springdata.model; + +import java.util.List; + +import org.springframework.data.annotation.Id; +import org.springframework.data.couchbase.core.mapping.Document; +import org.springframework.data.couchbase.core.mapping.Field; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Document +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class Route { + + @Id + private String id; + + @Field + private String type; + + @Field + private String airline; + + @Field("airlineid") + private String airlineId; + + @Field("sourceairport") + private String sourceAirport; + + @Field("destinationairport") + private String destinationAirport; + + @Field + private int stops; + + @Field + private String equipment; + + @Field + private List schedule; + + @Field + private float distance; + + @Getter + @Setter + @AllArgsConstructor + @NoArgsConstructor + public static class Schedule { + @Field + private int day; + + @Field + private String flight; + + @Field + private String utc; + } +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java new file mode 100644 index 0000000..5442a0f --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java @@ -0,0 +1,48 @@ +package org.couchbase.quickstart.springdata.repository; + + +import org.couchbase.quickstart.springdata.model.Airline; +import org.springframework.data.couchbase.repository.Collection; +import org.springframework.data.couchbase.repository.CouchbaseRepository; +import org.springframework.data.couchbase.repository.Query; +import org.springframework.data.couchbase.repository.ScanConsistency; +import org.springframework.data.couchbase.repository.Scope; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Repository; + +import com.couchbase.client.java.query.QueryScanConsistency; + +@Scope("inventory") +@Collection("airline") +@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) +@Repository("airlineRepository") +public interface AirlineRepository extends CouchbaseRepository { + + // Create the query to find all airlines + + // @Query("SELECT META().id AS _ID, callsign, country, iata, icao, name, type FROM #{#n1ql.bucket}") +// @Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter}") + @Query("#{#n1ql.selectEntity}") + Page findAll(Pageable pageable); + + // @Query("SELECT META().id AS _ID, callsign, country, iata, icao, name, type FROM #{#n1ql.bucket} AND country = 'United States'") + @Query("#{#n1ql.selectEntity} WHERE country = $1") + Page findByCountry(String country, Pageable pageable); + +// @Query("#{#n1ql.selectEntity} FROM (SELECT DISTINCT META(airline).id AS airlineId FROM route " + +// "JOIN airline ON route.airlineid = META(airline).id " + +// "WHERE route.destinationairport = $1) AS subquery " + +// "JOIN #{#n1ql.bucket} AS air ON META(air).id = subquery.airlineId") + + @Query("SELECT META(air).id AS __id, air.callsign, air.country, air.iata, air.icao, air.id, air.name, air.type " + + "FROM (SELECT DISTINCT META(airline).id AS airlineId FROM route " + + "JOIN airline ON route.airlineid = META(airline).id " + + "WHERE route.destinationairport = 'MRS') AS subquery " + + "JOIN #{#n1ql.bucket} AS air ON META(air).id = subquery.airlineId") + Page findByDestinationAirport(Pageable pageable, String destinationAirport); + + + + +} \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java new file mode 100644 index 0000000..7ffa32d --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java @@ -0,0 +1,25 @@ +package org.couchbase.quickstart.springdata.repository; + +import org.couchbase.quickstart.springdata.model.Airport; +import org.springframework.data.couchbase.repository.Collection; +import org.springframework.data.couchbase.repository.CouchbaseRepository; +import org.springframework.data.couchbase.repository.DynamicProxyable; +import org.springframework.data.couchbase.repository.Query; +import org.springframework.data.couchbase.repository.ScanConsistency; +import org.springframework.data.couchbase.repository.Scope; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Repository; + +import com.couchbase.client.java.query.QueryScanConsistency; + +@Repository("airportRepository") +@Scope("inventory") +@Collection("airport") +@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) +public interface AirportRepository extends CouchbaseRepository, DynamicProxyable { + + @Query("SELECT META().id AS _ID, type, airportname, city, country, faa, icao, tz, geo AS geo FROM #{#n1ql.bucket} WHERE type = 'airport'") + Page findAll(Pageable pageable); + +} \ No newline at end of file diff --git a/src/main/java/trycb/repository/ProfileRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java similarity index 87% rename from src/main/java/trycb/repository/ProfileRepository.java rename to src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java index b897d4c..c34cc07 100644 --- a/src/main/java/trycb/repository/ProfileRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java @@ -1,15 +1,15 @@ -package trycb.repository; +package org.couchbase.quickstart.springdata.repository; import java.util.List; import java.util.UUID; +import org.couchbase.quickstart.springdata.model.Profile; import org.springframework.data.couchbase.repository.Query; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.stereotype.Repository; -import trycb.model.Profile; @Repository public interface ProfileRepository extends PagingAndSortingRepository { diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java new file mode 100644 index 0000000..4087305 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java @@ -0,0 +1,24 @@ +package org.couchbase.quickstart.springdata.repository; + +import org.couchbase.quickstart.springdata.model.Route; +import org.springframework.data.couchbase.repository.Collection; +import org.springframework.data.couchbase.repository.CouchbaseRepository; +import org.springframework.data.couchbase.repository.DynamicProxyable; +import org.springframework.data.couchbase.repository.Query; +import org.springframework.data.couchbase.repository.ScanConsistency; +import org.springframework.data.couchbase.repository.Scope; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Repository; + +import com.couchbase.client.java.query.QueryScanConsistency; + +@Repository("routeRepository") +@Scope("inventory") +@Collection("route") +@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) +public interface RouteRepository extends CouchbaseRepository, DynamicProxyable { + + @Query("SELECT META().id AS _ID, type, airline, airlineid, sourceairport, destinationairport, stops, equipment, schedule FROM #{#n1ql.bucket} WHERE type = 'route'") + Page findAll(Pageable pageable); +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java new file mode 100644 index 0000000..646c083 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java @@ -0,0 +1,53 @@ +package org.couchbase.quickstart.springdata.services; + + +import java.util.Optional; + +import org.couchbase.quickstart.springdata.model.Airline; +import org.couchbase.quickstart.springdata.repository.AirlineRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +@Service +public class AirlineService { + + @Autowired + private AirlineRepository airlineRepository; + + public Page getAllAirlines(Pageable pageable) { + return airlineRepository.findAll(pageable); + } + + public Optional getAirlineById(String id) { + return airlineRepository.findById(id); + } + + public Airline saveAirline(Airline airline) { + return airlineRepository.save(airline); + } + + public void deleteAirline(String id) { + airlineRepository.deleteById(id); + } + + public Airline createAirline(String id, Airline airline) { + airline.setId(id); + return airlineRepository.save(airline); + } + + public Airline updateAirline(String id, Airline airline) { + airline.setId(id); + return airlineRepository.save(airline); + } + + public Page findByCountry(String country, Pageable pageable) { + return airlineRepository.findByCountry(country,pageable); + } + + public Page findByDestinationAirport(Pageable pageable,String destinationAirport) { + return airlineRepository.findByDestinationAirport(pageable,destinationAirport); + } + +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java new file mode 100644 index 0000000..84864cb --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java @@ -0,0 +1,44 @@ +package org.couchbase.quickstart.springdata.services; + +import java.util.Optional; + +import org.couchbase.quickstart.springdata.model.Airport; +import org.couchbase.quickstart.springdata.repository.AirportRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +@Service +public class AirportService { + + @Autowired + private AirportRepository airportRepository; + + public Page getAllAirports(Pageable pageable) { + return airportRepository.findAll(pageable); + } + + public Optional getAirportById(String id) { + return airportRepository.findById(id); + } + + public Airport saveAirport(Airport airport) { + return airportRepository.save(airport); + } + + public void deleteAirport(String id) { + airportRepository.deleteById(id); + } + + public Airport createAirport(String id, Airport airport) { + airport.setId(id); + return airportRepository.save(airport); + } + + public Airport updateAirport(String id, Airport airport) { + airport.setId(id); + return airportRepository.save(airport); + } + +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java b/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java new file mode 100644 index 0000000..4272da3 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java @@ -0,0 +1,44 @@ +package org.couchbase.quickstart.springdata.services; + +import java.util.Optional; + +import org.couchbase.quickstart.springdata.model.Route; +import org.couchbase.quickstart.springdata.repository.RouteRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +@Service +public class RouteService { + + @Autowired + private RouteRepository routeRepository; + + public Page getAllRoutes(Pageable pageable) { + return routeRepository.findAll(pageable); + } + + public Optional getRouteById(String id) { + return routeRepository.findById(id); + } + + public Route saveRoute(Route route) { + return routeRepository.save(route); + } + + public void deleteRoute(String id) { + routeRepository.deleteById(id); + } + + public Route createRoute(String id, Route route) { + route.setId(id); + return routeRepository.save(route); + } + + public Route updateRoute(String id, Route route) { + route.setId(id); + return routeRepository.save(route); + } + +} diff --git a/src/main/java/trycb/config/DbSetupRunner.java b/src/main/java/trycb/config/DbSetupRunner.java deleted file mode 100644 index c87d94d..0000000 --- a/src/main/java/trycb/config/DbSetupRunner.java +++ /dev/null @@ -1,80 +0,0 @@ -package trycb.config; - -import com.couchbase.client.core.error.CollectionExistsException; -import com.couchbase.client.core.error.IndexExistsException; -import com.couchbase.client.java.Bucket; -import com.couchbase.client.java.Cluster; -import com.couchbase.client.java.manager.collection.CollectionManager; -import com.couchbase.client.java.manager.collection.CollectionSpec; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.CommandLineRunner; -import org.springframework.stereotype.Component; - -@Component -public final class DbSetupRunner implements CommandLineRunner { - - private static final Logger LOGGER = LoggerFactory.getLogger(DbSetupRunner.class); - - @Autowired - private Bucket bucket; - @Autowired - private Cluster cluster; - @Autowired - private CouchbaseConfiguration config; - - @Override - public void run(String... args) { - try { - // We must create primary index on our bucket in order to query it - cluster.queryIndexes().createPrimaryIndex(config.getBucketName()); - LOGGER.info("Created primary index {}", config.getBucketName()); - } catch (IndexExistsException iee) { - LOGGER.info("Primary index {} already exists", config.getBucketName()); - } catch (Exception e) { - LOGGER.error("Failed to create primary index {}", config.getBucketName(), e); - System.exit(1); - } - - CollectionManager collectionManager = bucket.collections(); - try { - // Making sure that profile collection exists - CollectionSpec colspec = CollectionSpec.create(CouchbaseConfiguration.PROFILE_COLLECTION, "_default"); - collectionManager.createCollection(colspec); - LOGGER.info("Created collection {}", CouchbaseConfiguration.PROFILE_COLLECTION); - } catch (CollectionExistsException e) { - LOGGER.info("Collection {} already exists", CouchbaseConfiguration.PROFILE_COLLECTION); - } catch (Exception e) { - LOGGER.error("Failed to create collection {}", CouchbaseConfiguration.PROFILE_COLLECTION, e); - System.exit(1); - } - - try { - // primary index for querying profiles by id - final String query = "CREATE PRIMARY INDEX default_profile_index ON " + config.getBucketName() + "._default." + CouchbaseConfiguration.PROFILE_COLLECTION; - LOGGER.info("Creating default_profile_index: {}", query); - cluster.query(query); - Thread.sleep(1000); - LOGGER.info("Created primary index on collection {}", CouchbaseConfiguration.PROFILE_COLLECTION); - } catch (IndexExistsException e) { - LOGGER.info("Primary index exists on collection {}", CouchbaseConfiguration.PROFILE_COLLECTION); - } catch (Exception e) { - LOGGER.error("Failed to create primary index on collection {}", CouchbaseConfiguration.PROFILE_COLLECTION, e); - } - - try { - // secondary index for querying profiles by fields - final String query = "CREATE INDEX secondary_profile_index ON " + config.getBucketName() + "._default." + CouchbaseConfiguration.PROFILE_COLLECTION + "(firstName, lastName, address)"; - LOGGER.info("Creating secondary_profile_index: {}", query); - cluster.query(query); - Thread.sleep(1000); - LOGGER.info("Created secondary index on collection {}", CouchbaseConfiguration.PROFILE_COLLECTION); - } catch (IndexExistsException e) { - LOGGER.info("Secondary index exists on collection {}", CouchbaseConfiguration.PROFILE_COLLECTION); - } catch (Exception e) { - LOGGER.error("Failed to create secondary index on collection {}", CouchbaseConfiguration.PROFILE_COLLECTION, e); - } - } -} diff --git a/src/main/java/trycb/model/Profile.java b/src/main/java/trycb/model/Profile.java deleted file mode 100644 index 232ff57..0000000 --- a/src/main/java/trycb/model/Profile.java +++ /dev/null @@ -1,59 +0,0 @@ -package trycb.model; - -import java.util.UUID; - -import org.springframework.data.annotation.Id; -import org.springframework.data.couchbase.core.mapping.id.GeneratedValue; -import org.springframework.data.couchbase.repository.Collection; -import org.springframework.data.couchbase.repository.Scope; - -@Scope("_default") -@Collection("profile") -public class Profile { - @Id - @GeneratedValue - private UUID id; - private String firstName, lastName; - private Byte age; - private String address; - - public void setId(UUID id) { - this.id = id; - } - - public UUID getId() { - return id; - } - - public void setFirstName(String name) { - this.firstName = name; - } - - public String getFirstName() { - return firstName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public String getLastName() { - return lastName; - } - - public void setAge(byte age) { - this.age = age; - } - - public byte getAge() { - return age; - } - - public void setAddress(String address) { - this.address = address; - } - - public String getAddress() { - return address; - } -} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e82613c..c249e0b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,3 +1,11 @@ server.use-forward-headers=true server.forward-headers-strategy=framework +spring.couchbase.bootstrap-hosts=localhost +spring.couchbase.bucket.name=travel-sample +spring.couchbase.bucket.user=kaustav +spring.couchbase.bucket.password=password +spring.couchbase.scope.name=inventory +spring.mvc.pathmatch.matching-strategy=ant_path_matcher + + From d29e54494057eafd5e598a1ae3824a63f74e0623 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 13 Dec 2023 13:05:57 +0530 Subject: [PATCH 02/41] Update project settings and controller methods Update AirlineRepository and AirlineService --- settings.gradle | 2 +- .../controller/AirlineController.java | 19 +++++++++------ .../repository/AirlineRepository.java | 23 +++++++++---------- .../springdata/services/AirlineService.java | 4 ++-- 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/settings.gradle b/settings.gradle index b34111e..4263232 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -rootProject.name = 'example' +rootProject.name = 'org.couchbase.quickstart.springdata' diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java index bfe0ad0..c8db025 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java @@ -63,18 +63,23 @@ public ResponseEntity> listAirlines(@RequestParam(defaultValue = " } @GetMapping("/country/{country}") - public ResponseEntity> listAirlinesByCountry(@PathVariable String country, @RequestParam(defaultValue = "0") int page, + public ResponseEntity> listAirlinesByCountry( + @PathVariable String country, + @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { - Page airlines = airlineService.findByCountry(country,PageRequest.of(page, size)); + Page airlines = airlineService.findByCountry(country, PageRequest.of(page, size)); return new ResponseEntity<>(airlines, HttpStatus.OK); } @GetMapping("/destination/{destinationAirport}") - public ResponseEntity> listAirlinesByDestinationAirport(@RequestParam(defaultValue = "0") int page, - @RequestParam(defaultValue = "10") int size, @PathVariable String destinationAirport) { - Page airlines = airlineService.findByDestinationAirport(PageRequest.of(page, size), - destinationAirport); + public ResponseEntity> listAirlinesByDestinationAirport( + @PathVariable String destinationAirport, + @RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size) { + + Page airlines = airlineService.findByDestinationAirport(destinationAirport, + PageRequest.of(page, size)); + return new ResponseEntity<>(airlines, HttpStatus.OK); } - } diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java index 5442a0f..438d8f1 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java @@ -1,6 +1,5 @@ package org.couchbase.quickstart.springdata.repository; - import org.couchbase.quickstart.springdata.model.Airline; import org.springframework.data.couchbase.repository.Collection; import org.springframework.data.couchbase.repository.CouchbaseRepository; @@ -21,28 +20,28 @@ public interface AirlineRepository extends CouchbaseRepository // Create the query to find all airlines - // @Query("SELECT META().id AS _ID, callsign, country, iata, icao, name, type FROM #{#n1ql.bucket}") -// @Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter}") + // @Query("SELECT META().id AS _ID, callsign, country, iata, icao, name, type + // FROM #{#n1ql.bucket}") + // @Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter}") @Query("#{#n1ql.selectEntity}") Page findAll(Pageable pageable); - // @Query("SELECT META().id AS _ID, callsign, country, iata, icao, name, type FROM #{#n1ql.bucket} AND country = 'United States'") + // @Query("SELECT META().id AS _ID, callsign, country, iata, icao, name, type + // FROM #{#n1ql.bucket} AND country = 'United States'") @Query("#{#n1ql.selectEntity} WHERE country = $1") Page findByCountry(String country, Pageable pageable); -// @Query("#{#n1ql.selectEntity} FROM (SELECT DISTINCT META(airline).id AS airlineId FROM route " + -// "JOIN airline ON route.airlineid = META(airline).id " + -// "WHERE route.destinationairport = $1) AS subquery " + -// "JOIN #{#n1ql.bucket} AS air ON META(air).id = subquery.airlineId") + // @Query("#{#n1ql.selectEntity} FROM (SELECT DISTINCT META(airline).id AS + // airlineId FROM route " + + // "JOIN airline ON route.airlineid = META(airline).id " + + // "WHERE route.destinationairport = $1) AS subquery " + + // "JOIN #{#n1ql.bucket} AS air ON META(air).id = subquery.airlineId") @Query("SELECT META(air).id AS __id, air.callsign, air.country, air.iata, air.icao, air.id, air.name, air.type " + "FROM (SELECT DISTINCT META(airline).id AS airlineId FROM route " + "JOIN airline ON route.airlineid = META(airline).id " + "WHERE route.destinationairport = 'MRS') AS subquery " + "JOIN #{#n1ql.bucket} AS air ON META(air).id = subquery.airlineId") - Page findByDestinationAirport(Pageable pageable, String destinationAirport); - - - + Page findByDestinationAirport(String destinationAirport, Pageable pageable); } \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java index 646c083..1d01c40 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java @@ -46,8 +46,8 @@ public Page findByCountry(String country, Pageable pageable) { return airlineRepository.findByCountry(country,pageable); } - public Page findByDestinationAirport(Pageable pageable,String destinationAirport) { - return airlineRepository.findByDestinationAirport(pageable,destinationAirport); + public Page findByDestinationAirport(String destinationAirport, Pageable pageable) { + return airlineRepository.findByDestinationAirport(destinationAirport, pageable); } } From 407214c45084edee6b511827516f54e7da43e041 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 13 Dec 2023 15:55:25 +0530 Subject: [PATCH 03/41] Add direct connections query to AirportRepository and AirportService --- .../springdata/config/DBSetupRunner.java | 18 ++--- .../controller/AirportController.java | 78 +++++++++++-------- .../controller/RouteController.java | 67 ++++++++-------- .../repository/AirlineRepository.java | 15 +--- .../repository/AirportRepository.java | 6 ++ .../springdata/services/AirportService.java | 60 +++++++------- 6 files changed, 127 insertions(+), 117 deletions(-) diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java b/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java index fc4e29e..b8783ab 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java +++ b/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java @@ -26,25 +26,25 @@ public class DBSetupRunner implements CommandLineRunner { @Override public void run(String... strings) throws Exception { - Optional airline = airlineRepository.findById("airline_10"); // SFO + Optional airline = airlineRepository.findById("airline_10"); if (airline.isPresent()) { - System.out.println("got SFO: " + airline.get()); + System.out.println("got airline_10: " + airline.get()); } else { - System.out.println("SFO not found"); + System.out.println("airline_10 not found"); } - Optional airport = airportRepository.findById("airport_1254"); // SFO + Optional airport = airportRepository.findById("airport_1254"); if (airport.isPresent()) { - System.out.println("got SFO: " + airport.get()); + System.out.println("got airport_1254: " + airport.get()); } else { - System.out.println("SFO not found"); + System.out.println("airport_1254 not found"); } - Optional route = routeRepository.findById("route_10000"); // SFO + Optional route = routeRepository.findById("route_10000"); if (route.isPresent()) { - System.out.println("got SFO: " + route.get()); + System.out.println("got route_10000: " + route.get()); } else { - System.out.println("SFO not found"); + System.out.println("route_10000 not found"); } try { } catch (Exception e) { diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java index 41b8499..371eeb4 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -1,13 +1,12 @@ package org.couchbase.quickstart.springdata.controller; - import java.util.Optional; import org.couchbase.quickstart.springdata.model.Airport; import org.couchbase.quickstart.springdata.services.AirportService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; @@ -17,43 +16,54 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/v1/airport") public class AirportController { - @Autowired - private AirportService airportService; - - @PostMapping("/{id}") - public ResponseEntity createAirport(@PathVariable String id, @RequestBody Airport airport) { - Airport createdAirport = airportService.createAirport(id, airport); - return new ResponseEntity<>(createdAirport, HttpStatus.CREATED); - } - - @GetMapping("/{id}") - public ResponseEntity getAirport(@PathVariable String id) { - Optional airport = airportService.getAirportById(id); - return airport.map(value -> new ResponseEntity<>(value, HttpStatus.OK)).orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); - } - - @PutMapping("/{id}") - public ResponseEntity updateAirport(@PathVariable String id, @RequestBody Airport airport) { - Airport updatedAirport = airportService.updateAirport(id, airport); - return new ResponseEntity<>(updatedAirport, HttpStatus.OK); - } - - @DeleteMapping("/{id}") - public ResponseEntity deleteAirport(@PathVariable String id) { - airportService.deleteAirport(id); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @GetMapping("/list") - public ResponseEntity> listAirports(Pageable pageable) { - Page airports = airportService.getAllAirports(pageable); - return new ResponseEntity<>(airports, HttpStatus.OK); - } + @Autowired + private AirportService airportService; + + @PostMapping("/{id}") + public ResponseEntity createAirport(@PathVariable String id, @RequestBody Airport airport) { + Airport createdAirport = airportService.createAirport(id, airport); + return new ResponseEntity<>(createdAirport, HttpStatus.CREATED); + } + + @GetMapping("/{id}") + public ResponseEntity getAirport(@PathVariable String id) { + Optional airport = airportService.getAirportById(id); + return airport.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) + .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } + + @PutMapping("/{id}") + public ResponseEntity updateAirport(@PathVariable String id, @RequestBody Airport airport) { + Airport updatedAirport = airportService.updateAirport(id, airport); + return new ResponseEntity<>(updatedAirport, HttpStatus.OK); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteAirport(@PathVariable String id) { + airportService.deleteAirport(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @GetMapping("/list") + public ResponseEntity> listAirports(@RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size) { + Page airports = airportService.getAllAirports(PageRequest.of(page, size)); + return new ResponseEntity<>(airports, HttpStatus.OK); + } + @GetMapping("/direct-connections") + public ResponseEntity> listDirectConnections( + @RequestParam String airport, + @RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size) { + Page airports = airportService.getDirectConnections(airport, PageRequest.of(page, size)); + return new ResponseEntity<>(airports, HttpStatus.OK); + } } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java index 7597e7d..f744168 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java @@ -6,7 +6,7 @@ import org.couchbase.quickstart.springdata.services.RouteService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; @@ -16,43 +16,46 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/v1/route") public class RouteController { - @Autowired - private RouteService routeService; - - @PostMapping("/{id}") - public ResponseEntity createRoute(@PathVariable String id, @RequestBody Route route) { - Route createdRoute = routeService.createRoute(id, route); - return new ResponseEntity<>(createdRoute, HttpStatus.CREATED); - } - - @GetMapping("/{id}") - public ResponseEntity getRoute(@PathVariable String id) { - Optional route = routeService.getRouteById(id); - return route.map(value -> new ResponseEntity<>(value, HttpStatus.OK)).orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); - } - - @PutMapping("/{id}") - public ResponseEntity updateRoute(@PathVariable String id, @RequestBody Route route) { - Route updatedRoute = routeService.updateRoute(id, route); - return new ResponseEntity<>(updatedRoute, HttpStatus.OK); - } - - @DeleteMapping("/{id}") - public ResponseEntity deleteRoute(@PathVariable String id) { - routeService.deleteRoute(id); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @GetMapping("/list") - public ResponseEntity> listRoutes(Pageable pageable) { - Page routes = routeService.getAllRoutes(pageable); - return new ResponseEntity<>(routes, HttpStatus.OK); + @Autowired + private RouteService routeService; + + @PostMapping("/{id}") + public ResponseEntity createRoute(@PathVariable String id, @RequestBody Route route) { + Route createdRoute = routeService.createRoute(id, route); + return new ResponseEntity<>(createdRoute, HttpStatus.CREATED); + } + + @GetMapping("/{id}") + public ResponseEntity getRoute(@PathVariable String id) { + Optional route = routeService.getRouteById(id); + return route.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) + .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } + + @PutMapping("/{id}") + public ResponseEntity updateRoute(@PathVariable String id, @RequestBody Route route) { + Route updatedRoute = routeService.updateRoute(id, route); + return new ResponseEntity<>(updatedRoute, HttpStatus.OK); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteRoute(@PathVariable String id) { + routeService.deleteRoute(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @GetMapping("/list") + public ResponseEntity> listRoutes(@RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size) { + Page routes = routeService.getAllRoutes(PageRequest.of(page, size)); + return new ResponseEntity<>(routes, HttpStatus.OK); } } diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java index 438d8f1..3e6cc15 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java @@ -18,29 +18,16 @@ @Repository("airlineRepository") public interface AirlineRepository extends CouchbaseRepository { - // Create the query to find all airlines - - // @Query("SELECT META().id AS _ID, callsign, country, iata, icao, name, type - // FROM #{#n1ql.bucket}") - // @Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter}") @Query("#{#n1ql.selectEntity}") Page findAll(Pageable pageable); - // @Query("SELECT META().id AS _ID, callsign, country, iata, icao, name, type - // FROM #{#n1ql.bucket} AND country = 'United States'") @Query("#{#n1ql.selectEntity} WHERE country = $1") Page findByCountry(String country, Pageable pageable); - // @Query("#{#n1ql.selectEntity} FROM (SELECT DISTINCT META(airline).id AS - // airlineId FROM route " + - // "JOIN airline ON route.airlineid = META(airline).id " + - // "WHERE route.destinationairport = $1) AS subquery " + - // "JOIN #{#n1ql.bucket} AS air ON META(air).id = subquery.airlineId") - @Query("SELECT META(air).id AS __id, air.callsign, air.country, air.iata, air.icao, air.id, air.name, air.type " + "FROM (SELECT DISTINCT META(airline).id AS airlineId FROM route " + "JOIN airline ON route.airlineid = META(airline).id " + - "WHERE route.destinationairport = 'MRS') AS subquery " + + "WHERE route.destinationairport = $1) AS subquery " + "JOIN #{#n1ql.bucket} AS air ON META(air).id = subquery.airlineId") Page findByDestinationAirport(String destinationAirport, Pageable pageable); diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java index 7ffa32d..b04f84a 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java @@ -22,4 +22,10 @@ public interface AirportRepository extends CouchbaseRepository, @Query("SELECT META().id AS _ID, type, airportname, city, country, faa, icao, tz, geo AS geo FROM #{#n1ql.bucket} WHERE type = 'airport'") Page findAll(Pageable pageable); + @Query("SELECT DISTINCT META(airport).id AS __id,airport.* " + + "FROM airport as airport " + + "JOIN route as route ON airport.faa = route.sourceairport " + + "WHERE airport.faa = $1 AND route.stops = 0") + Page getDirectConnections(String targetAirportCode, Pageable pageable); + } \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java index 84864cb..3d2a48c 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java @@ -12,33 +12,37 @@ @Service public class AirportService { - @Autowired - private AirportRepository airportRepository; - - public Page getAllAirports(Pageable pageable) { - return airportRepository.findAll(pageable); - } - - public Optional getAirportById(String id) { - return airportRepository.findById(id); - } - - public Airport saveAirport(Airport airport) { - return airportRepository.save(airport); - } - - public void deleteAirport(String id) { - airportRepository.deleteById(id); - } - - public Airport createAirport(String id, Airport airport) { - airport.setId(id); - return airportRepository.save(airport); - } - - public Airport updateAirport(String id, Airport airport) { - airport.setId(id); - return airportRepository.save(airport); - } + @Autowired + private AirportRepository airportRepository; + + public Page getAllAirports(Pageable pageable) { + return airportRepository.findAll(pageable); + } + + public Optional getAirportById(String id) { + return airportRepository.findById(id); + } + + public Airport saveAirport(Airport airport) { + return airportRepository.save(airport); + } + + public void deleteAirport(String id) { + airportRepository.deleteById(id); + } + + public Airport createAirport(String id, Airport airport) { + airport.setId(id); + return airportRepository.save(airport); + } + + public Airport updateAirport(String id, Airport airport) { + airport.setId(id); + return airportRepository.save(airport); + } + + public Page getDirectConnections(String id, Pageable pageable) { + return airportRepository.getDirectConnections(id, pageable); + } } From 96440d2ee714d5b3cbcd67dba2b89e3a5252c176 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 13 Dec 2023 17:18:35 +0530 Subject: [PATCH 04/41] Update .gitignore and remove unused settings.json file. Refactor repository annotations. --- .gitignore | 1 + .vscode/settings.json | 3 --- .../springdata/repository/AirlineRepository.java | 2 -- .../springdata/repository/AirportRepository.java | 7 ++----- .../quickstart/springdata/repository/RouteRepository.java | 4 +--- 5 files changed, 4 insertions(+), 13 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index c174fa4..8b95113 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .gradle build/ +.vscode/ # Default ignored files shelf/ diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index e0f15db..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "java.configuration.updateBuildConfiguration": "automatic" -} \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java index 3e6cc15..2a2e1bd 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java @@ -8,14 +8,12 @@ import org.springframework.data.couchbase.repository.Scope; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Repository; import com.couchbase.client.java.query.QueryScanConsistency; @Scope("inventory") @Collection("airline") @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) -@Repository("airlineRepository") public interface AirlineRepository extends CouchbaseRepository { @Query("#{#n1ql.selectEntity}") diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java index b04f84a..86fd14b 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java @@ -3,23 +3,20 @@ import org.couchbase.quickstart.springdata.model.Airport; import org.springframework.data.couchbase.repository.Collection; import org.springframework.data.couchbase.repository.CouchbaseRepository; -import org.springframework.data.couchbase.repository.DynamicProxyable; import org.springframework.data.couchbase.repository.Query; import org.springframework.data.couchbase.repository.ScanConsistency; import org.springframework.data.couchbase.repository.Scope; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Repository; import com.couchbase.client.java.query.QueryScanConsistency; -@Repository("airportRepository") @Scope("inventory") @Collection("airport") @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) -public interface AirportRepository extends CouchbaseRepository, DynamicProxyable { +public interface AirportRepository extends CouchbaseRepository { - @Query("SELECT META().id AS _ID, type, airportname, city, country, faa, icao, tz, geo AS geo FROM #{#n1ql.bucket} WHERE type = 'airport'") + @Query("#{#n1ql.selectEntity}") Page findAll(Pageable pageable); @Query("SELECT DISTINCT META(airport).id AS __id,airport.* " + diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java index 4087305..e7b8639 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java @@ -9,16 +9,14 @@ import org.springframework.data.couchbase.repository.Scope; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Repository; import com.couchbase.client.java.query.QueryScanConsistency; -@Repository("routeRepository") @Scope("inventory") @Collection("route") @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) public interface RouteRepository extends CouchbaseRepository, DynamicProxyable { - @Query("SELECT META().id AS _ID, type, airline, airlineid, sourceairport, destinationairport, stops, equipment, schedule FROM #{#n1ql.bucket} WHERE type = 'route'") + @Query("#{#n1ql.selectEntity}") Page findAll(Pageable pageable); } From a460ae4a1f8dc247296cfb0858ae5ccee33171e6 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 20 Dec 2023 14:53:51 +0530 Subject: [PATCH 05/41] Added devtools,integration tests,model validation, --- .gitignore | 3 +- build.gradle | 1 + .../resources/application.properties | 11 - .../advice/ApplicationExceptionHandler.java | 29 +++ .../springdata/config/DBSetupRunner.java | 6 +- .../controller/AirlineController.java | 8 +- .../controller/AirportController.java | 8 +- .../controller/ProfileController.java | 6 +- .../controller/RouteController.java | 8 +- .../quickstart/springdata/model/Airport.java | 58 ----- .../quickstart/springdata/model/Route.java | 65 ----- .../springdata/{model => models}/Airline.java | 18 +- .../quickstart/springdata/models/Airport.java | 68 +++++ .../springdata/{model => models}/Profile.java | 2 +- .../quickstart/springdata/models/Route.java | 72 ++++++ .../repository/AirlineRepository.java | 2 +- .../repository/AirportRepository.java | 2 +- .../repository/ProfileRepository.java | 2 +- .../repository/RouteRepository.java | 2 +- .../springdata/services/AirlineService.java | 2 +- .../springdata/services/AirportService.java | 2 +- .../springdata/services/RouteService.java | 2 +- .../HealthCheckIntegrationTest.java | 29 +++ .../controllers/AirlineControllerTest.java | 108 ++++++++ .../controllers/AirlineIntegrationTest.java | 224 +++++++++++++++++ .../controllers/AirportIntegrationTest.java | 115 +++++++++ .../controllers/RouteIntegrationTest.java | 128 ++++++++++ .../UserProfileIntegrationTest.java | 232 ++++++++++++++++++ 28 files changed, 1053 insertions(+), 160 deletions(-) delete mode 100644 out/production/resources/application.properties create mode 100644 src/main/java/org/couchbase/quickstart/springdata/advice/ApplicationExceptionHandler.java delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/model/Airport.java delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/model/Route.java rename src/main/java/org/couchbase/quickstart/springdata/{model => models}/Airline.java (54%) create mode 100644 src/main/java/org/couchbase/quickstart/springdata/models/Airport.java rename src/main/java/org/couchbase/quickstart/springdata/{model => models}/Profile.java (91%) create mode 100644 src/main/java/org/couchbase/quickstart/springdata/models/Route.java create mode 100644 src/test/java/org/couchbase/quickstart/healthCheck/HealthCheckIntegrationTest.java create mode 100644 src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineControllerTest.java create mode 100644 src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java create mode 100644 src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java create mode 100644 src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java create mode 100644 src/test/java/org/couchbase/quickstart/userProfile/UserProfileIntegrationTest.java diff --git a/.gitignore b/.gitignore index 8b95113..2692eda 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,12 @@ .gradle build/ +out/ .vscode/ # Default ignored files shelf/ -/workspace.xml .idea/ +/workspace.xml .idea_modules/ sonarlint/ diff --git a/build.gradle b/build.gradle index a386025..12cf03d 100644 --- a/build.gradle +++ b/build.gradle @@ -22,6 +22,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.data:spring-data-couchbase' + implementation 'org.springframework.boot:spring-boot-devtools' // lombok compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' diff --git a/out/production/resources/application.properties b/out/production/resources/application.properties deleted file mode 100644 index c249e0b..0000000 --- a/out/production/resources/application.properties +++ /dev/null @@ -1,11 +0,0 @@ -server.use-forward-headers=true -server.forward-headers-strategy=framework -spring.couchbase.bootstrap-hosts=localhost -spring.couchbase.bucket.name=travel-sample -spring.couchbase.bucket.user=kaustav -spring.couchbase.bucket.password=password -spring.couchbase.scope.name=inventory -spring.mvc.pathmatch.matching-strategy=ant_path_matcher - - - diff --git a/src/main/java/org/couchbase/quickstart/springdata/advice/ApplicationExceptionHandler.java b/src/main/java/org/couchbase/quickstart/springdata/advice/ApplicationExceptionHandler.java new file mode 100644 index 0000000..15a4d39 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/advice/ApplicationExceptionHandler.java @@ -0,0 +1,29 @@ +package org.couchbase.quickstart.springdata.advice; + +import java.util.HashMap; +import java.util.Map; + +import org.springframework.http.HttpStatus; +import org.springframework.validation.FieldError; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestControllerAdvice; +@RestControllerAdvice +public class ApplicationExceptionHandler { + + @ResponseStatus(HttpStatus.BAD_REQUEST) + @ExceptionHandler(MethodArgumentNotValidException.class) + public Map handleValidationExceptions( + MethodArgumentNotValidException ex) { + Map errorMap = new HashMap<>(); + + ex.getBindingResult().getAllErrors().forEach(error -> { + String fieldName = ((FieldError) error).getField(); + String errorMessage = error.getDefaultMessage(); + errorMap.put(fieldName, errorMessage); + }); + + return errorMap; + } +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java b/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java index b8783ab..4095d72 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java +++ b/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java @@ -2,9 +2,9 @@ import java.util.Optional; -import org.couchbase.quickstart.springdata.model.Airline; -import org.couchbase.quickstart.springdata.model.Airport; -import org.couchbase.quickstart.springdata.model.Route; +import org.couchbase.quickstart.springdata.models.Airline; +import org.couchbase.quickstart.springdata.models.Airport; +import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.repository.AirlineRepository; import org.couchbase.quickstart.springdata.repository.AirportRepository; import org.couchbase.quickstart.springdata.repository.RouteRepository; diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java index c8db025..196518d 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java @@ -2,7 +2,9 @@ import java.util.Optional; -import org.couchbase.quickstart.springdata.model.Airline; +import javax.validation.Valid; + +import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.services.AirlineService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -31,7 +33,7 @@ public AirlineController(AirlineService airlineService) { } @PostMapping("/{id}") - public ResponseEntity createAirline(@PathVariable String id, @RequestBody Airline airline) { + public ResponseEntity createAirline(@PathVariable String id, @Valid @RequestBody Airline airline) { Airline createdAirline = airlineService.createAirline(id, airline); return new ResponseEntity<>(createdAirline, HttpStatus.CREATED); } @@ -44,7 +46,7 @@ public ResponseEntity getAirline(@PathVariable String id) { } @PutMapping("/{id}") - public ResponseEntity updateAirline(@PathVariable String id, @RequestBody Airline airline) { + public ResponseEntity updateAirline(@PathVariable String id, @Valid @RequestBody Airline airline) { Airline updatedAirline = airlineService.updateAirline(id, airline); return new ResponseEntity<>(updatedAirline, HttpStatus.OK); } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java index 371eeb4..3c6c8d1 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -2,7 +2,9 @@ import java.util.Optional; -import org.couchbase.quickstart.springdata.model.Airport; +import javax.validation.Valid; + +import org.couchbase.quickstart.springdata.models.Airport; import org.couchbase.quickstart.springdata.services.AirportService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -27,7 +29,7 @@ public class AirportController { private AirportService airportService; @PostMapping("/{id}") - public ResponseEntity createAirport(@PathVariable String id, @RequestBody Airport airport) { + public ResponseEntity createAirport(@PathVariable String id, @Valid @RequestBody Airport airport) { Airport createdAirport = airportService.createAirport(id, airport); return new ResponseEntity<>(createdAirport, HttpStatus.CREATED); } @@ -40,7 +42,7 @@ public ResponseEntity getAirport(@PathVariable String id) { } @PutMapping("/{id}") - public ResponseEntity updateAirport(@PathVariable String id, @RequestBody Airport airport) { + public ResponseEntity updateAirport(@PathVariable String id, @Valid @RequestBody Airport airport) { Airport updatedAirport = airportService.updateAirport(id, airport); return new ResponseEntity<>(updatedAirport, HttpStatus.OK); } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java index 2659731..78b9e99 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java @@ -3,7 +3,9 @@ import java.util.List; import java.util.UUID; -import org.couchbase.quickstart.springdata.model.Profile; +import javax.validation.Valid; + +import org.couchbase.quickstart.springdata.models.Profile; import org.couchbase.quickstart.springdata.repository.ProfileRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +68,7 @@ public ResponseEntity getProfileById(@PathVariable("id") UUID id) { } @PostMapping("/profile") - public ResponseEntity saveProfile(@RequestBody Profile profile) { + public ResponseEntity saveProfile(@Valid @RequestBody Profile profile) { // the same endpoint can be used to create and save the object profile = profileRepository.save(profile); return ResponseEntity.status(HttpStatus.CREATED).body(profile); diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java index f744168..f8a001c 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java @@ -2,7 +2,9 @@ import java.util.Optional; -import org.couchbase.quickstart.springdata.model.Route; +import javax.validation.Valid; + +import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.services.RouteService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -27,7 +29,7 @@ public class RouteController { private RouteService routeService; @PostMapping("/{id}") - public ResponseEntity createRoute(@PathVariable String id, @RequestBody Route route) { + public ResponseEntity createRoute(@PathVariable String id, @Valid @RequestBody Route route) { Route createdRoute = routeService.createRoute(id, route); return new ResponseEntity<>(createdRoute, HttpStatus.CREATED); } @@ -40,7 +42,7 @@ public ResponseEntity getRoute(@PathVariable String id) { } @PutMapping("/{id}") - public ResponseEntity updateRoute(@PathVariable String id, @RequestBody Route route) { + public ResponseEntity updateRoute(@PathVariable String id, @Valid @RequestBody Route route) { Route updatedRoute = routeService.updateRoute(id, route); return new ResponseEntity<>(updatedRoute, HttpStatus.OK); } diff --git a/src/main/java/org/couchbase/quickstart/springdata/model/Airport.java b/src/main/java/org/couchbase/quickstart/springdata/model/Airport.java deleted file mode 100644 index 0e3fe32..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/model/Airport.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.couchbase.quickstart.springdata.model; - -import org.springframework.data.annotation.Id; -import org.springframework.data.couchbase.core.mapping.Document; -import org.springframework.data.couchbase.core.mapping.Field; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Document -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class Airport { - - @Id - private String id; - - @Field - private String type; - - @Field - private String airportname; - - @Field - private String city; - - @Field - private String country; - - @Field - private String faa; - - @Field - private String icao; - - @Field - private String tz; - - @Field - private Geo geo; - - @Getter - @Setter - @AllArgsConstructor - @NoArgsConstructor - public static class Geo { - @Field - private float alt; - @Field - private float lat; - @Field - private float lon; - } -} diff --git a/src/main/java/org/couchbase/quickstart/springdata/model/Route.java b/src/main/java/org/couchbase/quickstart/springdata/model/Route.java deleted file mode 100644 index dd635f7..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/model/Route.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.couchbase.quickstart.springdata.model; - -import java.util.List; - -import org.springframework.data.annotation.Id; -import org.springframework.data.couchbase.core.mapping.Document; -import org.springframework.data.couchbase.core.mapping.Field; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Document -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class Route { - - @Id - private String id; - - @Field - private String type; - - @Field - private String airline; - - @Field("airlineid") - private String airlineId; - - @Field("sourceairport") - private String sourceAirport; - - @Field("destinationairport") - private String destinationAirport; - - @Field - private int stops; - - @Field - private String equipment; - - @Field - private List schedule; - - @Field - private float distance; - - @Getter - @Setter - @AllArgsConstructor - @NoArgsConstructor - public static class Schedule { - @Field - private int day; - - @Field - private String flight; - - @Field - private String utc; - } -} diff --git a/src/main/java/org/couchbase/quickstart/springdata/model/Airline.java b/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java similarity index 54% rename from src/main/java/org/couchbase/quickstart/springdata/model/Airline.java rename to src/main/java/org/couchbase/quickstart/springdata/models/Airline.java index 6f59331..df7f79a 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/model/Airline.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java @@ -1,4 +1,8 @@ -package org.couchbase.quickstart.springdata.model; +package org.couchbase.quickstart.springdata.models; + +import java.io.Serializable; + +import javax.validation.constraints.NotBlank; import org.springframework.data.annotation.Id; import org.springframework.data.couchbase.core.mapping.Document; @@ -14,27 +18,35 @@ @Setter @AllArgsConstructor @NoArgsConstructor -public class Airline { - @Id +public class Airline implements Serializable { + + @Id + @NotBlank(message = "Id is mandatory") private String id; @Field + @NotBlank(message = "Type is mandatory") private String type; @Field + @NotBlank(message = "Name is mandatory") private String name; @Field + @NotBlank(message = "IATA code is mandatory") private String iata; @Field + @NotBlank(message = "ICAO code is mandatory") private String icao; @Field + @NotBlank(message = "Callsign is mandatory") private String callsign; @Field + @NotBlank(message = "Country is mandatory") private String country; } diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java b/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java new file mode 100644 index 0000000..e0fe302 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java @@ -0,0 +1,68 @@ +package org.couchbase.quickstart.springdata.models; + +import java.io.Serializable; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; + +import org.springframework.data.couchbase.core.mapping.Field; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class Airport implements Serializable { + + @NotBlank(message = "Id is mandatory") + private String id; + + @NotBlank(message = "Type is mandatory") + private String type; + + @NotBlank(message = "Airport name is mandatory") + @Field("airportname") + private String airportName; + + @NotBlank(message = "City is mandatory") + private String city; + + @NotBlank(message = "Country is mandatory") + private String country; + + @NotBlank(message = "FAA code is mandatory") + @Pattern(regexp = "^[A-Z]{3}$", message = "FAA code must be a 3-letter uppercase code") + private String faa; + + @NotBlank(message = "ICAO code is mandatory") + @Pattern(regexp = "^[A-Z]{4}$", message = "ICAO code must be a 4-letter uppercase code") + private String icao; + + @NotBlank(message = "Timezone is mandatory") + private String tz; + + @Valid // To validate the embedded Geo object + private Geo geo; + + @Getter + @Setter + @AllArgsConstructor + @NoArgsConstructor + public static class Geo implements Serializable { + + @NotNull(message = "Altitude is mandatory") + private Double alt; + + @NotNull(message = "Latitude is mandatory") + private Double lat; + + @NotNull(message = "Longitude is mandatory") + private Double lon; + } +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/model/Profile.java b/src/main/java/org/couchbase/quickstart/springdata/models/Profile.java similarity index 91% rename from src/main/java/org/couchbase/quickstart/springdata/model/Profile.java rename to src/main/java/org/couchbase/quickstart/springdata/models/Profile.java index 9a8efa4..c7ce256 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/model/Profile.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Profile.java @@ -1,4 +1,4 @@ -package org.couchbase.quickstart.springdata.model; +package org.couchbase.quickstart.springdata.models; import java.util.UUID; diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Route.java b/src/main/java/org/couchbase/quickstart/springdata/models/Route.java new file mode 100644 index 0000000..b294644 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Route.java @@ -0,0 +1,72 @@ +package org.couchbase.quickstart.springdata.models; + +import java.io.Serializable; +import java.util.List; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import org.springframework.data.couchbase.core.mapping.Document; +import org.springframework.data.couchbase.core.mapping.Field; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Document +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class Route implements Serializable { + + @NotBlank(message = "Id is mandatory") + private String id; + + @NotBlank(message = "Type is mandatory") + private String type; + + @NotBlank(message = "Airline is mandatory") + private String airline; + + @NotBlank(message = "Airline ID is mandatory") + @Field("airlineid") + private String airlineId; + + @NotBlank(message = "Source airport is mandatory") + @Field("sourceairport") + private String sourceAirport; + + @NotBlank(message = "Destination airport is mandatory") + @Field("destinationairport") + private String destinationAirport; + + @NotNull(message = "Stops is mandatory") + private Integer stops; + + @NotBlank(message = "Equipment is mandatory") + private String equipment; + + @Valid // To validate the list of schedules + private List schedule; + + @NotNull(message = "Distance is mandatory") + private Double distance; + + @Getter + @Setter + @AllArgsConstructor + @NoArgsConstructor + public static class Schedule implements Serializable { + @NotNull(message = "Day is mandatory") + private Integer day; + + @NotBlank(message = "Flight is mandatory") + private String flight; + + @NotBlank(message = "UTC is mandatory") + private String utc; + } +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java index 2a2e1bd..8678aaf 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java @@ -1,6 +1,6 @@ package org.couchbase.quickstart.springdata.repository; -import org.couchbase.quickstart.springdata.model.Airline; +import org.couchbase.quickstart.springdata.models.Airline; import org.springframework.data.couchbase.repository.Collection; import org.springframework.data.couchbase.repository.CouchbaseRepository; import org.springframework.data.couchbase.repository.Query; diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java index 86fd14b..19ba94c 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java @@ -1,6 +1,6 @@ package org.couchbase.quickstart.springdata.repository; -import org.couchbase.quickstart.springdata.model.Airport; +import org.couchbase.quickstart.springdata.models.Airport; import org.springframework.data.couchbase.repository.Collection; import org.springframework.data.couchbase.repository.CouchbaseRepository; import org.springframework.data.couchbase.repository.Query; diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java index c34cc07..3d6ed43 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java @@ -3,7 +3,7 @@ import java.util.List; import java.util.UUID; -import org.couchbase.quickstart.springdata.model.Profile; +import org.couchbase.quickstart.springdata.models.Profile; import org.springframework.data.couchbase.repository.Query; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java index e7b8639..f0971fe 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java @@ -1,6 +1,6 @@ package org.couchbase.quickstart.springdata.repository; -import org.couchbase.quickstart.springdata.model.Route; +import org.couchbase.quickstart.springdata.models.Route; import org.springframework.data.couchbase.repository.Collection; import org.springframework.data.couchbase.repository.CouchbaseRepository; import org.springframework.data.couchbase.repository.DynamicProxyable; diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java index 1d01c40..42ff262 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java @@ -3,7 +3,7 @@ import java.util.Optional; -import org.couchbase.quickstart.springdata.model.Airline; +import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.repository.AirlineRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java index 3d2a48c..87519c7 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java @@ -2,7 +2,7 @@ import java.util.Optional; -import org.couchbase.quickstart.springdata.model.Airport; +import org.couchbase.quickstart.springdata.models.Airport; import org.couchbase.quickstart.springdata.repository.AirportRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java b/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java index 4272da3..132ee0c 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java @@ -2,7 +2,7 @@ import java.util.Optional; -import org.couchbase.quickstart.springdata.model.Route; +import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.repository.RouteRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; diff --git a/src/test/java/org/couchbase/quickstart/healthCheck/HealthCheckIntegrationTest.java b/src/test/java/org/couchbase/quickstart/healthCheck/HealthCheckIntegrationTest.java new file mode 100644 index 0000000..606b5a9 --- /dev/null +++ b/src/test/java/org/couchbase/quickstart/healthCheck/HealthCheckIntegrationTest.java @@ -0,0 +1,29 @@ +//package org.couchbase.quickstart.healthCheck; +// +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient; +//import org.springframework.boot.test.context.SpringBootTest; +//import org.springframework.http.MediaType; +//import org.springframework.test.context.junit4.SpringRunner; +//import org.springframework.test.web.reactive.server.WebTestClient; +// +//@RunWith(SpringRunner.class) +//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +//@AutoConfigureWebTestClient +//public class HealthCheckIntegrationTest { +// +// @Autowired +// private WebTestClient webTestClient; +// +// @Test +// public void testHealthCheck() { +// this.webTestClient.get() +// .uri("/api/v1/health") +// .accept(MediaType.APPLICATION_JSON) +// .exchange() +// .expectStatus().isOk() +// .expectHeader().contentType(MediaType.APPLICATION_JSON); +// } +//} diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineControllerTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineControllerTest.java new file mode 100644 index 0000000..cafcf7b --- /dev/null +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineControllerTest.java @@ -0,0 +1,108 @@ +//package org.couchbase.quickstart.springdata.controllers; +// +//import java.util.Arrays; +//import java.util.List; +// +//import org.couchbase.quickstart.springdata.configs.DBProperties; +//import org.couchbase.quickstart.springdata.models.Airline; +//import org.junit.jupiter.api.BeforeEach; +//import org.junit.jupiter.api.Test; +//import org.mockito.Mockito; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +//import org.springframework.boot.test.mock.mockito.MockBean; +//import org.springframework.http.MediaType; +//import org.springframework.test.web.servlet.MockMvc; +//import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +//import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +// +//import com.couchbase.client.java.Bucket; +//import com.couchbase.client.java.Cluster; +//import com.couchbase.client.java.Collection; +//import com.couchbase.client.java.kv.GetResult; +//import com.fasterxml.jackson.databind.ObjectMapper; +// +//@WebMvcTest(AirlineController.class) +//class AirlineControllerTest { +// +// @Autowired +// private MockMvc mockMvc; +// +// @MockBean +// private Cluster cluster; +// +// @MockBean +// private Collection airlineCol; +// +// @MockBean +// private DBProperties dbProperties; +// +// @MockBean +// private Bucket bucket; +// +// @BeforeEach +// void setUp() { +// airlineCol = Mockito.mock(Collection.class); +// cluster = Mockito.mock(Cluster.class); +// dbProperties = Mockito.mock(DBProperties.class); +// bucket = Mockito.mock(Bucket.class); +// } +// +// @Test +// void getAirline() throws Exception { +// Airline airline = new Airline(); +// GetResult getResult = Mockito.mock(GetResult.class); +// Mockito.when(getResult.contentAs(Airline.class)).thenReturn(airline); +// Mockito.when(airlineCol.get(Mockito.anyString())).thenReturn(getResult); +// +// mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/airline/{id}", "test")) +// .andExpect(MockMvcResultMatchers.status().isOk()) +// .andExpect(MockMvcResultMatchers.jsonPath("$.id").value(airline.getId())); +// } +// +// @Test +// void createAirline() throws Exception { +// Airline airline = new Airline(); +// Mockito.when(airlineCol.insert(Mockito.anyString(), Mockito.any())).thenReturn(null); +// +// mockMvc.perform(MockMvcRequestBuilders.post("/api/v1/airline/{id}", "test") +// .contentType(MediaType.APPLICATION_JSON) +// .content(new ObjectMapper().writeValueAsString(airline))) +// .andExpect(MockMvcResultMatchers.status().isCreated()); +// } +// +// @Test +// void updateAirline() throws Exception { +// Airline airline = new Airline(); +// Mockito.when(airlineCol.replace(Mockito.anyString(), Mockito.any())).thenReturn(null); +// +// mockMvc.perform(MockMvcRequestBuilders.put("/api/v1/airline/{id}", "test") +// .contentType(MediaType.APPLICATION_JSON) +// .content(new ObjectMapper().writeValueAsString(airline))) +// .andExpect(MockMvcResultMatchers.status().isOk()); +// } +// +// @Test +// void deleteAirline() throws Exception { +// Mockito.doNothing().when(airlineCol).remove(Mockito.anyString()); +// +// mockMvc.perform(MockMvcRequestBuilders.delete("/api/v1/airline/{id}", "test")) +// .andExpect(MockMvcResultMatchers.status().isNoContent()); +// } +// +// @Test +// void listAirlines() throws Exception { +// Airline airline1 = new Airline("10", "airline", "40-Mile Air", "Q5", "MLA", "MILE-AIR", "United States"); +// Airline airline2 = new Airline("10123", "airline", "Texas Wings", "TQ", "TXW", "TXW", "United States"); +// List airlines = Arrays.asList(airline1, airline2); +// +// Mockito.when(airlineCol.list(Mockito.any(),Airline.class)).thenReturn(airlines); +// +// mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/airline/list")) +// .andExpect(MockMvcResultMatchers.status().isOk()) +// .andExpect(MockMvcResultMatchers.jsonPath("$[0].id").value(airline1.getId())) +// .andExpect(MockMvcResultMatchers.jsonPath("$[1].id").value(airline2.getId())); +// +// +// } +//} diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java new file mode 100644 index 0000000..d5c3e6f --- /dev/null +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -0,0 +1,224 @@ +package org.couchbase.quickstart.springdata.controllers; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.List; + +import org.couchbase.quickstart.springdata.models.Airline; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.data.domain.Page; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +class AirlineIntegrationTest { + + @Value("${local.server.port}") + private int port; + + @Autowired + private TestRestTemplate restTemplate; + + // {"id":10,"type":"airline","name":"40-Mile + // Air","iata":"Q5","icao":"MLA","callsign":"MILE-AIR","country":"United + // States"} + @Test + void testGetAirline() { + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airline/airline_10", Airline.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Airline airline = response.getBody(); + assertThat(airline).isNotNull(); + assertThat(airline.getId()).isEqualTo("airline_10"); + assertThat(airline.getType()).isEqualTo("airline"); + assertThat(airline.getName()).isEqualTo("40-Mile Air"); + assertThat(airline.getIata()).isEqualTo("Q5"); + assertThat(airline.getIcao()).isEqualTo("MLA"); + assertThat(airline.getCallsign()).isEqualTo("MILE-AIR"); + assertThat(airline.getCountry()).isEqualTo("United States"); + } + + @Test + void testCreateAirline() { + Airline airline = new Airline("airline_11", "airline", "Test Airline", "TA", "TST", "TEST", "United States"); + ResponseEntity response = restTemplate.postForEntity( + "http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, Airline.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); + Airline createdAirline = response.getBody(); + assertThat(createdAirline).isNotNull(); + assertThat(createdAirline.getId()).isEqualTo("airline_11"); + assertThat(createdAirline.getType()).isEqualTo("airline"); + assertThat(createdAirline.getName()).isEqualTo("Test Airline"); + assertThat(createdAirline.getIata()).isEqualTo("TA"); + assertThat(createdAirline.getIcao()).isEqualTo("TST"); + assertThat(createdAirline.getCallsign()).isEqualTo("TEST"); + assertThat(createdAirline.getCountry()).isEqualTo("United States"); + } + + @Test + void testUpdateAirline() { + Airline airline = new Airline("airline_11", "airline", "Updated Test Airline", "TA", "TST", "TEST", + "United States"); + restTemplate.put("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), Airline.class); + + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Airline updatedAirline = response.getBody(); + assertThat(updatedAirline).isNotNull(); + assertThat(updatedAirline.getId()).isEqualTo("airline_11"); + assertThat(updatedAirline.getType()).isEqualTo("airline"); + assertThat(updatedAirline.getName()).isEqualTo("Updated Test Airline"); + assertThat(updatedAirline.getIata()).isEqualTo("TA"); + assertThat(updatedAirline.getIcao()).isEqualTo("TST"); + assertThat(updatedAirline.getCallsign()).isEqualTo("TEST"); + assertThat(updatedAirline.getCountry()).isEqualTo("United States"); + + } + + @Test + void testDeleteAirline() { + Airline airline = new Airline("airline_11", "airline", "Test Airline", "TA", "TST", "TEST", "United States"); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, + Airline.class); + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/" + airline.getId()); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), Airline.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); + } + + @Test + void testListAirlines() { + ResponseEntity> response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null, + new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + Page airlines = response.getBody(); + assertThat(airlines).isNotNull(); + assertThat(airlines.getSize()).isEqualTo(10); + + } + + @Test + void testListAirlinesByCountry() { + // Check that if it contains + // airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United + // States"} + String country = "United States"; + ResponseEntity> response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airline/country/" + country, + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + Page airlines = response.getBody(); + Airline airline = airlines.stream().filter(a -> a.getId().equals("10226")).findFirst().orElse(null); + assertThat(airline).isNotNull(); + assertThat(airline.getId()).isEqualTo("10226"); + assertThat(airline.getType()).isEqualTo("airline"); + assertThat(airline.getName()).isEqualTo("Atifly"); + assertThat(airline.getIata()).isEqualTo("A1"); + assertThat(airline.getIcao()).isEqualTo("A1F"); + assertThat(airline.getCallsign()).isEqualTo("atifly"); + assertThat(airline.getCountry()).isEqualTo("United States"); + + // {"id":1191,"type":"airline","name":"Air + // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} + + country = "France"; + ResponseEntity> response2 = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airline/country/" + country, + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); + + Page airlines2 = response2.getBody(); + Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("1191")).findFirst().orElse(null); + assertThat(airline2).isNotNull(); + assertThat(airline2.getId()).isEqualTo("1191"); + assertThat(airline2.getType()).isEqualTo("airline"); + assertThat(airline2.getName()).isEqualTo("Air Austral"); + assertThat(airline2.getIata()).isEqualTo("UU"); + assertThat(airline2.getIcao()).isEqualTo("REU"); + assertThat(airline2.getCallsign()).isEqualTo("REUNION"); + assertThat(airline2.getCountry()).isEqualTo("France"); + + } + + // @Test + // void testListAirlinesByDestinationAirport() { + // ResponseEntity response = restTemplate.getForEntity("http://localhost:" + // + port + "/api/v1/airline/destination/test", List.class); + // assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + // // Add more assertions as needed + // } +} + +// package org.couchbase.quickstart.springboot.controllers; +// +// import org.couchbase.quickstart.springboot.configs.CouchbaseConfig; +// import org.couchbase.quickstart.springboot.configs.DBProperties; +// import org.couchbase.quickstart.springboot.configs.Swagger; +// import org.junit.Before; +// import org.junit.Test; +// import org.junit.runner.RunWith; +// import org.springframework.beans.factory.annotation.Autowired; +// import +// org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +// import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +// import org.springframework.boot.test.context.SpringBootTest; +// import org.springframework.test.context.ContextConfiguration; +// import org.springframework.test.context.junit4.SpringRunner; +// import org.springframework.test.context.web.WebAppConfiguration; +// import org.springframework.test.web.servlet.MockMvc; +// import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +// import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +// import org.springframework.test.web.servlet.setup.MockMvcBuilders; +// import org.springframework.web.context.WebApplicationContext; +// +// import com.couchbase.client.java.Bucket; +// import com.couchbase.client.java.Cluster; +// import com.couchbase.client.java.Collection; +// +// +//// @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +//// @AutoConfigureMockMvc +// @ContextConfiguration(classes = {CouchbaseConfig.class, Swagger.class, +// DBProperties.class}) +//// @RunWith(SpringRunner.class) +// +// @RunWith(SpringRunner.class) +// @WebMvcTest(AirlineController.class) +// @WebAppConfiguration +// public class AirlineControllerTest { +// +// @Autowired +// private WebApplicationContext webApplicationContext; +// +// private MockMvc mockMvc; +// +// // ... your other dependencies or setup if needed +// +// @Before +// public void setup() { +// mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); +// } +// +// @Test +// public void testGetAirline() { +// // Perform the GET request using mockMvc and assert the response +// mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/airline/test")) +// .andExpect(MockMvcResultMatchers.status().isOk()) +// .andExpect(MockMvcResultMatchers.jsonPath("$.id").value("test")); +// } +// +// // ... other test methods +// } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java new file mode 100644 index 0000000..833c708 --- /dev/null +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -0,0 +1,115 @@ +package org.couchbase.quickstart.springdata.controllers; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.List; + +import org.couchbase.quickstart.springdata.models.Airport; +import org.couchbase.quickstart.springdata.models.Airport.Geo; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) + class AirportIntegrationTest { + // {"id":1254,"type":"airport","airportname":"Calais Dunkerque","city":"Calais","country":"France","faa":"CQF","icao":"LFAC","tz":"Europe/Paris","geo":{"lat":50.962097,"lon":1.954764,"alt":12.0}} + + @Value("${local.server.port}") + private int port; + + @Autowired + private TestRestTemplate restTemplate; + + @Test + void testGetAirport() throws Exception { + ResponseEntity response = restTemplate.getForEntity("http://localhost:" + port + "/api/v1/airport/airport_1254", Airport.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Airport airport = response.getBody(); + assertThat(airport).isNotNull(); + assertThat(airport.getId()).isEqualTo("airport_1254"); + assertThat(airport.getType()).isEqualTo("airport"); + assertThat(airport.getAirportName()).isEqualTo("Calais Dunkerque"); + assertThat(airport.getCity()).isEqualTo("Calais"); + assertThat(airport.getCountry()).isEqualTo("France"); + assertThat(airport.getFaa()).isEqualTo("CQF"); + assertThat(airport.getIcao()).isEqualTo("LFAC"); + assertThat(airport.getTz()).isEqualTo("Europe/Paris"); + assertThat(airport.getGeo().getLat()).isEqualTo(50.962097); + assertThat(airport.getGeo().getLon()).isEqualTo(1.954764); + assertThat(airport.getGeo().getAlt()).isEqualTo(12.0); + } + + @Test + void testCreateAirport() throws Exception { + Airport airport = new Airport("airport_1255", "airport", "Test Airport", "Test City", "Test Country", "TST", "TEST", "Test Timezone", new Geo(1.0, 2.0, 3.0)); + ResponseEntity response = restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, Airport.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); + Airport createdAirport = response.getBody(); + assertThat(createdAirport).isNotNull(); + assertThat(createdAirport.getId()).isEqualTo("airport_1255"); + assertThat(createdAirport.getType()).isEqualTo("airport"); + assertThat(createdAirport.getAirportName()).isEqualTo("Test Airport"); + assertThat(createdAirport.getCity()).isEqualTo("Test City"); + assertThat(createdAirport.getCountry()).isEqualTo("Test Country"); + assertThat(createdAirport.getFaa()).isEqualTo("TST"); + assertThat(createdAirport.getIcao()).isEqualTo("TEST"); + assertThat(createdAirport.getTz()).isEqualTo("Test Timezone"); + assertThat(createdAirport.getGeo().getAlt()).isEqualTo(1.0); + assertThat(createdAirport.getGeo().getLat()).isEqualTo(2.0); + assertThat(createdAirport.getGeo().getLon()).isEqualTo(3.0); + } + + @Test + void testUpdateAirport() throws Exception { + Airport airport = new Airport("airport_1255", "airport", "Updated Test Airport", "Updated Test City", "Updated Test Country", "TST", "TEST", "Updated Test Timezone", new Geo(1.0, 2.0, 3.0)); + restTemplate.put("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport); + ResponseEntity response = restTemplate.getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), Airport.class); + + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Airport updatedAirport = response.getBody(); + assertThat(updatedAirport).isNotNull(); + assertThat(updatedAirport.getId()).isEqualTo("airport_1255"); + assertThat(updatedAirport.getType()).isEqualTo("airport"); + assertThat(updatedAirport.getAirportName()).isEqualTo("Updated Test Airport"); + assertThat(updatedAirport.getCity()).isEqualTo("Updated Test City"); + assertThat(updatedAirport.getCountry()).isEqualTo("Updated Test Country"); + assertThat(updatedAirport.getFaa()).isEqualTo("TST"); + assertThat(updatedAirport.getIcao()).isEqualTo("TEST"); + assertThat(updatedAirport.getTz()).isEqualTo("Updated Test Timezone"); + assertThat(updatedAirport.getGeo().getAlt()).isEqualTo(1.0); + assertThat(updatedAirport.getGeo().getLat()).isEqualTo(2.0); + assertThat(updatedAirport.getGeo().getLon()).isEqualTo(3.0); + } + + @Test + void testDeleteAirport() throws Exception { + Airport airport = new Airport("airport_1255", "airport", "Test Airport", "Test City", "Test Country", "TST", "TEST", "Test Timezone", new Geo(1.0, 2.0, 3.0)); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, Airport.class); + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/" + airport.getId()); + ResponseEntity response = restTemplate.getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), Airport.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); + } + + @Test + void testListAirports() throws Exception { + ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/airport/list", HttpMethod.GET, null, new ParameterizedTypeReference>() {}); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + List airports = response.getBody(); + assertThat(airports).isNotNull(); + assertThat(airports.size()).isGreaterThan(100); + } + + // @Test + // void testListDirectConnections() throws Exception { + // ResponseEntity response = restTemplate.getForEntity("http://localhost:" + port + "/api/v1/airport/direct-connections?airportCode=test", List.class); + // assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + // // Add more assertions as needed + // } +} diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java new file mode 100644 index 0000000..5a1c15b --- /dev/null +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -0,0 +1,128 @@ +package org.couchbase.quickstart.springdata.controllers; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.couchbase.quickstart.springdata.models.Route; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +class RouteIntegrationTest { + + @Value("${local.server.port}") + private int port; + + @Autowired + private TestRestTemplate restTemplate; + + @Test + void testGetRoute() { + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/route_10000", Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Route route = response.getBody(); + assertThat(route).isNotNull(); + assertThat(route.getId()).isEqualTo("route_10000"); + assertThat(route.getType()).isEqualTo("route"); + assertThat(route.getAirline()).isEqualTo("AF"); + assertThat(route.getAirlineId()).isEqualTo("airline_137"); + assertThat(route.getSourceAirport()).isEqualTo("TLV"); + assertThat(route.getDestinationAirport()).isEqualTo("MRS"); + assertThat(route.getStops()).isZero(); + assertThat(route.getEquipment()).isEqualTo("320"); + assertThat(route.getSchedule()).hasSize(23); + assertThat(route.getDistance()).isEqualTo(2881.617376098415); + } + + @Test + void testCreateRoute() { + List schedule = Collections.singletonList(new Route.Schedule(0, "AF198", "10:13:00")); + Route createdRoute = new Route("route_10001", "route", "AF", "airline_137", "TLV", "MRS", 0, "320", + schedule, 2881.617376098415); + ResponseEntity response = restTemplate.postForEntity( + "http://localhost:" + port + "/api/v1/route/" + createdRoute.getId(), createdRoute, Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); + Route route = response.getBody(); + assertThat(route).isNotNull(); + assertThat(route.getId()).isEqualTo("route_10001"); + assertThat(route.getType()).isEqualTo("route"); + assertThat(route.getAirline()).isEqualTo("AF"); + assertThat(route.getAirlineId()).isEqualTo("airline_137"); + assertThat(route.getSourceAirport()).isEqualTo("TLV"); + assertThat(route.getDestinationAirport()).isEqualTo("MRS"); + assertThat(route.getStops()).isZero(); + assertThat(route.getEquipment()).isEqualTo("320"); + assertThat(route.getSchedule()).hasSize(1); + assertThat(route.getSchedule().get(0).getDay()).isZero(); + assertThat(route.getSchedule().get(0).getUtc()).isEqualTo("10:13:00"); + assertThat(route.getSchedule().get(0).getFlight()).isEqualTo("AF198"); + assertThat(route.getDistance()).isEqualTo(2881.617376098415); + } + + @Test + void testUpdateRoute() { + List schedule = Arrays.asList(new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(1, "AF547", "19:14:00"), new Route.Schedule(2, "AF943", "01:31:00"), + new Route.Schedule(3, "AF356", "12:40:00"), new Route.Schedule(4, "AF480", "08:58:00"), + new Route.Schedule(5, "AF250", "12:59:00"), new Route.Schedule(6, "AF130", "04:45:00"), + new Route.Schedule(7, "AF997", "00:31:00"), new Route.Schedule(8, "AF223", "19:41:00"), + new Route.Schedule(9, "AF890", "15:14:00"), new Route.Schedule(10, "AF399", "00:30:00"), + new Route.Schedule(11, "AF328", "16:18:00"), new Route.Schedule(12, "AF074", "23:50:00"), + new Route.Schedule(13, "AF556", "11:33:00"), new Route.Schedule(14, "AF064", "13:23:00"), + new Route.Schedule(15, "AF596", "12:09:00"), new Route.Schedule(16, "AF818", "08:02:00"), + new Route.Schedule(17, "AF967", "11:33:00"), new Route.Schedule(18, "AF730", "19:42:00"), + new Route.Schedule(19, "AF882", "17:07:00"), new Route.Schedule(20, "AF485", "17:03:00"), + new Route.Schedule(21, "AF898", "10:01:00"), new Route.Schedule(22, "AF496", "07:00:00")); + Route route = new Route("route_10001", "route", "AF", "airline_137", "TLV", "MRS", 0, "320", schedule, 2881.617376098415); + restTemplate.put("http://localhost:" + port + "/api/v1/route/" + route.getId(), route); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), Route.class); + + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Route updatedRoute = response.getBody(); + assertThat(updatedRoute).isNotNull(); + assertThat(updatedRoute.getId()).isEqualTo("route_10001"); + assertThat(updatedRoute.getType()).isEqualTo("route"); + assertThat(updatedRoute.getAirline()).isEqualTo("AF"); + assertThat(updatedRoute.getAirlineId()).isEqualTo("airline_137"); + assertThat(updatedRoute.getSourceAirport()).isEqualTo("TLV"); + assertThat(updatedRoute.getDestinationAirport()).isEqualTo("MRS"); + assertThat(updatedRoute.getStops()).isZero(); + assertThat(updatedRoute.getEquipment()).isEqualTo("320"); + assertThat(updatedRoute.getDistance()).isEqualTo(2881.617376098415); + assertThat(updatedRoute.getSchedule()).hasSize(23); + } + + @Test + void testDeleteRoute() { + Route route = new Route("route_10001", "route", "AF", "airline_137", "TLV", "MRS", 0, "320", null, 2881.617376098415); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, Route.class); + restTemplate.delete("http://localhost:" + port + "/api/v1/route/" + route.getId()); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); + } + + @Test + void testListRoutes() { + ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/route/list", + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + List routes = response.getBody(); + assertThat(routes).isNotNull(); + assertThat(routes.size()).isGreaterThan(100); + } +} \ No newline at end of file diff --git a/src/test/java/org/couchbase/quickstart/userProfile/UserProfileIntegrationTest.java b/src/test/java/org/couchbase/quickstart/userProfile/UserProfileIntegrationTest.java new file mode 100644 index 0000000..6d28c64 --- /dev/null +++ b/src/test/java/org/couchbase/quickstart/userProfile/UserProfileIntegrationTest.java @@ -0,0 +1,232 @@ +//package org.couchbase.quickstart.userProfile; +// +//import static org.junit.Assert.assertEquals; +//import static org.junit.Assert.assertNotEquals; +//import static org.junit.Assert.assertNotNull; +// +//import java.util.List; +//import java.util.UUID; +// +//import org.couchbase.quickstart.springdata.configs.CollectionNames; +//import org.couchbase.quickstart.springdata.configs.DBProperties; +//import org.couchbase.quickstart.springdata.models.Profile; +//import org.couchbase.quickstart.springdata.models.ProfileRequest; +//import org.hamcrest.MatcherAssert; +//import org.hamcrest.Matchers; +//import org.junit.After; +//import org.junit.Rule; +//import org.junit.Test; +//import org.junit.rules.ExpectedException; +//import org.junit.runner.RunWith; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient; +//import org.springframework.boot.test.context.SpringBootTest; +//import org.springframework.http.MediaType; +//import org.springframework.test.context.junit4.SpringRunner; +//import org.springframework.test.web.reactive.server.EntityExchangeResult; +//import org.springframework.test.web.reactive.server.WebTestClient; +//import org.springframework.test.web.reactive.server.WebTestClient.ResponseSpec; +//import org.springframework.web.reactive.function.BodyInserters; +// +//import com.couchbase.client.core.error.DocumentNotFoundException; +//import com.couchbase.client.java.Bucket; +//import com.couchbase.client.java.Cluster; +//import com.couchbase.client.java.json.JsonObject; +// +//@RunWith(SpringRunner.class) +//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +//@AutoConfigureWebTestClient +//public class UserProfileIntegrationTest { +// +// @Autowired +// private WebTestClient webTestClient; +// @Autowired +// private Cluster cluster; +// @Autowired +// private Bucket bucket; +// @Autowired +// private DBProperties prop; +// +// @Rule +// public ExpectedException exceptionRule = ExpectedException.none(); +// +// @After +// public void cleanDB() { +// cluster.query("DELETE FROM " + prop.getBucketName() + "._default.profile "); +// } +// +// @Test +// public void testUserProfileNotFound() { +// +// this.webTestClient.get() +// .uri("/api/v1/profile?limit=5&skip=0&searchFirstName=Bob") +// .accept(MediaType.APPLICATION_JSON) +// .exchange() +// .expectStatus().is4xxClientError() +// .expectHeader().contentType(MediaType.APPLICATION_JSON); +// } +// +// @Test +// public void testCreateUserProfile() { +// // test data +// ProfileRequest createTestProfile = getCreateTestProfile(); +// String json = getCreatedUserJson(createTestProfile); +// +// // run the post test +// EntityExchangeResult profileResult = this.webTestClient.post() +// .uri("/api/v1/profile/") +// .bodyValue(json) +// .accept(MediaType.APPLICATION_JSON) +// .header("Content-Type", "application/json; charset=utf-8") +// .exchange() +// .expectStatus().isCreated() +// .expectBody(Profile.class) +// .returnResult(); +// +// Profile result = bucket.collection(CollectionNames.PROFILE) +// .get(profileResult.getResponseBody().getPid()) +// .contentAs(Profile.class); +// +// assertEquals(result.getFirstName(), createTestProfile.getFirstName()); +// assertEquals(result.getLastName(), createTestProfile.getLastName()); +// assertEquals(result.getEmail(), createTestProfile.getEmail()); +// assertNotEquals(result.getPassword(), createTestProfile.getPassword()); +// assertNotNull(result.getPid()); +// } +// +// @Test +// public void testListUsersSuccess() { +// +// // test data +// Profile testProfile = getTestProfile(); +// bucket.collection(CollectionNames.PROFILE).insert(testProfile.getPid(), testProfile); +// +// EntityExchangeResult> profileListResult = this.webTestClient.get() +// .uri("/api/v1/profile/profiles/?limit=5&skip=0&search=Jam") +// .accept(MediaType.APPLICATION_JSON) +// .exchange() +// .expectStatus().isOk() +// .expectHeader().contentType(MediaType.APPLICATION_JSON) +// .expectBodyList(Profile.class) +// .returnResult(); +// +// MatcherAssert.assertThat(profileListResult.getResponseBody(), Matchers.hasSize(1)); +// Profile result = profileListResult.getResponseBody().get(0); +// System.out.println(result); +// assertEquals(result.getFirstName(), testProfile.getFirstName()); +// assertEquals(result.getLastName(), testProfile.getLastName()); +// assertEquals(result.getEmail(), testProfile.getEmail()); +// // TBD: encrypted password verify +// // assertTrue(BCrypt.checkpw(testProfile.getPassword(),result.getPassword())); +// assertNotNull(result.getPid()); +// } +// +// @Test +// public void testListUsersNoResult() { +// +// // test data +// Profile testProfile = getTestProfile(); +// bucket.collection(CollectionNames.PROFILE).insert(testProfile.getPid(), testProfile); +// +// EntityExchangeResult> profileListResult = this.webTestClient.get() +// .uri("/api/v1/profile/profiles/?limit=5&skip=0&search=Jack") +// .accept(MediaType.APPLICATION_JSON) +// .exchange() +// .expectStatus().isOk() +// .expectHeader().contentType(MediaType.APPLICATION_JSON) +// .expectBodyList(Profile.class) +// .returnResult(); +// +// MatcherAssert.assertThat(profileListResult.getResponseBody(), Matchers.hasSize(0)); +// } +// +// @Test +// public void testDeleteUserProfile() { +// +// exceptionRule.expect(DocumentNotFoundException.class); +// exceptionRule.expectMessage("Document with the given id not found"); +// +// // test data +// Profile testProfile = getTestProfile(); +// bucket.collection(CollectionNames.PROFILE).insert(testProfile.getPid(), testProfile); +// +// // delete the user +// this.webTestClient.delete() +// .uri(String.format("/api/v1/profile/%s", testProfile.getPid())) +// .accept(MediaType.APPLICATION_JSON) +// .header("Content-Type", "application/json; charset=utf-8") +// .exchange() +// .expectStatus().isOk(); +// +// bucket.collection(CollectionNames.PROFILE).get(testProfile.getPid()); +// } +// +// @Test +// public void testTransferCredits() { +// Profile sourceProfile = getTestProfile(), +// targetProfile = getTestProfile(); +// +// bucket.collection(CollectionNames.PROFILE).insert(sourceProfile.getPid(), sourceProfile); +// bucket.collection(CollectionNames.PROFILE).insert(targetProfile.getPid(), targetProfile); +// +// // transfer credits +// callTransferCredits(sourceProfile, targetProfile, 100) +// .expectStatus().isOk(); +// +// // attempt to transfer credits again -- should fail +// callTransferCredits(sourceProfile, targetProfile, 100) +// .expectStatus().is5xxServerError(); +// +// sourceProfile = bucket.collection(CollectionNames.PROFILE).get(sourceProfile.getPid()).contentAs(Profile.class); +// targetProfile = bucket.collection(CollectionNames.PROFILE).get(targetProfile.getPid()).contentAs(Profile.class); +// +// assertNotNull(sourceProfile); +// assertNotNull(targetProfile); +// +// assertEquals((Integer) 0, sourceProfile.getBalance()); +// assertEquals((Integer) 200, targetProfile.getBalance()); +// } +// +// private ResponseSpec callTransferCredits(Profile sourceProfile, Profile targetProfile, Integer amount) { +// return webTestClient.post() +// .uri("/api/v1/profile/transfer") +// // .contentType(MediaType.APPLICATION_FORM_URLENCODED) +// .body(BodyInserters +// .fromFormData("source", sourceProfile.getPid()) +// .with("target", targetProfile.getPid()) +// .with("amount", amount.toString())) +// // .header(HttpHeaders.CONTENT_TYPE, +// // MediaType.APPLICATION_FORM_URLENCODED_VALUE) +// .exchange(); +// } +// +// private String getCreatedUserJson(ProfileRequest profile) { +// // create json to post to integration test +// return JsonObject.create() +// .put("firstName", profile.getFirstName()) +// .put("lastName", profile.getLastName()) +// .put("email", profile.getEmail()) +// .put("password", profile.getPassword()) +// .put("balance", profile.getBalance()) +// .toString(); +// } +// +// private ProfileRequest getCreateTestProfile() { +// return new ProfileRequest( +// "James", +// "Gosling", +// "james.gosling@sun.com", +// "password", +// 100); +// } +// +// private Profile getTestProfile() { +// return new Profile( +// UUID.randomUUID().toString(), +// "James", +// "Gosling", +// "james.gosling@sun.com", +// "password", +// 100); +// } +//} From b557d2c959028ea728743c25090f04284526cc2e Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 20 Dec 2023 15:27:43 +0530 Subject: [PATCH 06/41] Refactor integration tests to use RestResponsePage --- .../springdata/models/RestResponsePage.java | 40 +++++++++++++++++++ .../controllers/AirlineIntegrationTest.java | 30 +++++++------- .../controllers/AirportIntegrationTest.java | 7 ++-- .../controllers/RouteIntegrationTest.java | 9 +++-- 4 files changed, 63 insertions(+), 23 deletions(-) create mode 100644 src/main/java/org/couchbase/quickstart/springdata/models/RestResponsePage.java diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/RestResponsePage.java b/src/main/java/org/couchbase/quickstart/springdata/models/RestResponsePage.java new file mode 100644 index 0000000..8a7ff54 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/models/RestResponsePage.java @@ -0,0 +1,40 @@ +package org.couchbase.quickstart.springdata.models; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; + +import java.util.ArrayList; +import java.util.List; + +public class RestResponsePage extends PageImpl { + @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) + public RestResponsePage(@JsonProperty("content") List content, + @JsonProperty("number") int number, + @JsonProperty("size") int size, + @JsonProperty("totalElements") Long totalElements, + @JsonProperty("pageable") JsonNode pageable, + @JsonProperty("last") boolean last, + @JsonProperty("totalPages") int totalPages, + @JsonProperty("sort") JsonNode sort, + @JsonProperty("first") boolean first, + @JsonProperty("numberOfElements") int numberOfElements) { + + super(content, PageRequest.of(number, size), totalElements); + } + + public RestResponsePage(List content, Pageable pageable, long total) { + super(content, pageable, total); + } + + public RestResponsePage(List content) { + super(content); + } + + public RestResponsePage() { + super(new ArrayList<>()); + } +} \ No newline at end of file diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index d5c3e6f..602149b 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -2,16 +2,14 @@ import static org.assertj.core.api.Assertions.assertThat; -import java.util.List; - import org.couchbase.quickstart.springdata.models.Airline; +import org.couchbase.quickstart.springdata.models.RestResponsePage; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.core.ParameterizedTypeReference; -import org.springframework.data.domain.Page; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -95,13 +93,13 @@ void testDeleteAirline() { @Test void testListAirlines() { - ResponseEntity> response = restTemplate.exchange( + ResponseEntity> response = restTemplate.exchange( "http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null, - new ParameterizedTypeReference>() { + new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Page airlines = response.getBody(); + RestResponsePage airlines = response.getBody(); assertThat(airlines).isNotNull(); assertThat(airlines.getSize()).isEqualTo(10); @@ -113,16 +111,16 @@ void testListAirlinesByCountry() { // airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United // States"} String country = "United States"; - ResponseEntity> response = restTemplate.exchange( + ResponseEntity> response = restTemplate.exchange( "http://localhost:" + port + "/api/v1/airline/country/" + country, - HttpMethod.GET, null, new ParameterizedTypeReference>() { + HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Page airlines = response.getBody(); - Airline airline = airlines.stream().filter(a -> a.getId().equals("10226")).findFirst().orElse(null); + RestResponsePage airlines = response.getBody(); + Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst().orElse(null); assertThat(airline).isNotNull(); - assertThat(airline.getId()).isEqualTo("10226"); + assertThat(airline.getId()).isEqualTo("airline_10226"); assertThat(airline.getType()).isEqualTo("airline"); assertThat(airline.getName()).isEqualTo("Atifly"); assertThat(airline.getIata()).isEqualTo("A1"); @@ -134,16 +132,16 @@ void testListAirlinesByCountry() { // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} country = "France"; - ResponseEntity> response2 = restTemplate.exchange( + ResponseEntity> response2 = restTemplate.exchange( "http://localhost:" + port + "/api/v1/airline/country/" + country, - HttpMethod.GET, null, new ParameterizedTypeReference>() { + HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); - Page airlines2 = response2.getBody(); - Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("1191")).findFirst().orElse(null); + RestResponsePage airlines2 = response2.getBody(); + Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst().orElse(null); assertThat(airline2).isNotNull(); - assertThat(airline2.getId()).isEqualTo("1191"); + assertThat(airline2.getId()).isEqualTo("airline_1191"); assertThat(airline2.getType()).isEqualTo("airline"); assertThat(airline2.getName()).isEqualTo("Air Austral"); assertThat(airline2.getIata()).isEqualTo("UU"); diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index 833c708..8992069 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -5,6 +5,7 @@ import java.util.List; import org.couchbase.quickstart.springdata.models.Airport; +import org.couchbase.quickstart.springdata.models.RestResponsePage; import org.couchbase.quickstart.springdata.models.Airport.Geo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -98,12 +99,12 @@ void testDeleteAirport() throws Exception { @Test void testListAirports() throws Exception { - ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/airport/list", HttpMethod.GET, null, new ParameterizedTypeReference>() {}); + ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/airport/list", HttpMethod.GET, null, new ParameterizedTypeReference>() {}); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - List airports = response.getBody(); + RestResponsePage airports = response.getBody(); assertThat(airports).isNotNull(); - assertThat(airports.size()).isGreaterThan(100); + assertThat(airports.getTotalElements()).isGreaterThan(100); } // @Test diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index 5a1c15b..36e9d9d 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -6,6 +6,7 @@ import java.util.Collections; import java.util.List; +import org.couchbase.quickstart.springdata.models.RestResponsePage; import org.couchbase.quickstart.springdata.models.Route; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -116,13 +117,13 @@ void testDeleteRoute() { @Test void testListRoutes() { - ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/route/list", - HttpMethod.GET, null, new ParameterizedTypeReference>() { + ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/route/list", + HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - List routes = response.getBody(); + RestResponsePage routes = response.getBody(); assertThat(routes).isNotNull(); - assertThat(routes.size()).isGreaterThan(100); + assertThat(routes.getTotalElements()).isGreaterThan(100); } } \ No newline at end of file From 63bd9fae6071fc34863d64cda7a6ac02c07d9b19 Mon Sep 17 00:00:00 2001 From: teetangh Date: Thu, 4 Jan 2024 15:18:47 +0530 Subject: [PATCH 07/41] updated controllers with error handling + used lombok data and builder + refactored integration tests --- .../controller/AirlineController.java | 87 +++-- .../controller/AirportController.java | 82 ++++- .../controller/RouteController.java | 76 +++- .../quickstart/springdata/models/Airline.java | 12 +- .../quickstart/springdata/models/Airport.java | 15 +- .../quickstart/springdata/models/Route.java | 13 +- .../springdata/services/AirlineService.java | 8 +- .../springdata/services/AirportService.java | 9 +- .../springdata/services/RouteService.java | 9 +- .../controllers/AirlineControllerTest.java | 108 ------ .../controllers/AirlineIntegrationTest.java | 331 ++++++++---------- .../controllers/AirportIntegrationTest.java | 186 +++++----- .../controllers/RouteIntegrationTest.java | 301 +++++++++++----- 13 files changed, 691 insertions(+), 546 deletions(-) delete mode 100644 src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineControllerTest.java diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java index 196518d..ece0fab 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java @@ -6,7 +6,6 @@ import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.services.AirlineService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; @@ -21,42 +20,79 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import com.couchbase.client.core.error.DocumentExistsException; +import com.couchbase.client.core.error.DocumentNotFoundException; + +import io.swagger.v3.oas.annotations.Operation; + @RestController @RequestMapping("/api/v1/airline") public class AirlineController { private AirlineService airlineService; - @Autowired public AirlineController(AirlineService airlineService) { this.airlineService = airlineService; } - @PostMapping("/{id}") - public ResponseEntity createAirline(@PathVariable String id, @Valid @RequestBody Airline airline) { - Airline createdAirline = airlineService.createAirline(id, airline); - return new ResponseEntity<>(createdAirline, HttpStatus.CREATED); - } - + @Operation(summary = "Get an airline by ID") @GetMapping("/{id}") public ResponseEntity getAirline(@PathVariable String id) { - Optional airline = airlineService.getAirlineById(id); - return airline.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) - .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + try { + Optional airline = airlineService.getAirlineById(id); + return airline.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) + .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } + @Operation(summary = "Create an airline") + @PostMapping("/{id}") + public ResponseEntity createAirline(@Valid @RequestBody Airline airline) { + try { + Airline newAirline = airlineService.createAirline(airline); + return new ResponseEntity<>(newAirline, HttpStatus.CREATED); + } catch (DocumentExistsException e) { + return new ResponseEntity<>(HttpStatus.CONFLICT); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @Operation(summary = "Update an airline") @PutMapping("/{id}") public ResponseEntity updateAirline(@PathVariable String id, @Valid @RequestBody Airline airline) { - Airline updatedAirline = airlineService.updateAirline(id, airline); - return new ResponseEntity<>(updatedAirline, HttpStatus.OK); + try { + Airline updatedAirline = airlineService.updateAirline(id, airline); + if (updatedAirline != null) { + return new ResponseEntity<>(updatedAirline, HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } + @Operation(summary = "Delete an airline") @DeleteMapping("/{id}") public ResponseEntity deleteAirline(@PathVariable String id) { - airlineService.deleteAirline(id); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); + try { + airlineService.deleteAirline(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } + @Operation(summary = "List all airlines") @GetMapping("/list") public ResponseEntity> listAirlines(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { @@ -64,24 +100,35 @@ public ResponseEntity> listAirlines(@RequestParam(defaultValue = " return new ResponseEntity<>(airlines, HttpStatus.OK); } + @Operation(summary = "List all airlines by country") @GetMapping("/country/{country}") public ResponseEntity> listAirlinesByCountry( @PathVariable String country, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { - Page airlines = airlineService.findByCountry(country, PageRequest.of(page, size)); - return new ResponseEntity<>(airlines, HttpStatus.OK); + try { + + Page airlines = airlineService.findByCountry(country, PageRequest.of(page, size)); + return new ResponseEntity<>(airlines, HttpStatus.OK); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } + @Operation(summary = "List all airlines by desination airport") @GetMapping("/destination/{destinationAirport}") public ResponseEntity> listAirlinesByDestinationAirport( @PathVariable String destinationAirport, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { - Page airlines = airlineService.findByDestinationAirport(destinationAirport, - PageRequest.of(page, size)); + try { + Page airlines = airlineService.findByDestinationAirport(destinationAirport, + PageRequest.of(page, size)); - return new ResponseEntity<>(airlines, HttpStatus.OK); + return new ResponseEntity<>(airlines, HttpStatus.OK); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java index 3c6c8d1..b669c6f 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -6,7 +6,6 @@ import org.couchbase.quickstart.springdata.models.Airport; import org.couchbase.quickstart.springdata.services.AirportService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; @@ -21,43 +20,88 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import com.couchbase.client.core.error.DocumentExistsException; +import com.couchbase.client.core.error.DocumentNotFoundException; + +import io.swagger.v3.oas.annotations.Operation; + @RestController @RequestMapping("/api/v1/airport") public class AirportController { - @Autowired private AirportService airportService; - @PostMapping("/{id}") - public ResponseEntity createAirport(@PathVariable String id, @Valid @RequestBody Airport airport) { - Airport createdAirport = airportService.createAirport(id, airport); - return new ResponseEntity<>(createdAirport, HttpStatus.CREATED); + public AirportController(AirportService airportService) { + this.airportService = airportService; } + @Operation(summary = "Get an airport by ID") @GetMapping("/{id}") public ResponseEntity getAirport(@PathVariable String id) { - Optional airport = airportService.getAirportById(id); - return airport.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) - .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + try { + Optional airport = airportService.getAirportById(id); + return airport.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) + .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @Operation(summary = "Create an airport") + @PostMapping("/{id}") + public ResponseEntity createAirport(@PathVariable String id, @Valid @RequestBody Airport airport) { + try { + Airport newAirport = airportService.createAirport(airport); + return new ResponseEntity<>(newAirport, HttpStatus.CREATED); + } catch (DocumentExistsException e) { + return new ResponseEntity<>(HttpStatus.CONFLICT); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + @Operation(summary = "Update an airport") @PutMapping("/{id}") public ResponseEntity updateAirport(@PathVariable String id, @Valid @RequestBody Airport airport) { - Airport updatedAirport = airportService.updateAirport(id, airport); - return new ResponseEntity<>(updatedAirport, HttpStatus.OK); + try { + Airport updatedAirport = airportService.updateAirport(id, airport); + if (updatedAirport != null) { + return new ResponseEntity<>(updatedAirport, HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } + @Operation(summary = "Delete an airport") @DeleteMapping("/{id}") public ResponseEntity deleteAirport(@PathVariable String id) { - airportService.deleteAirport(id); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); + try { + airportService.deleteAirport(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } @GetMapping("/list") public ResponseEntity> listAirports(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { - Page airports = airportService.getAllAirports(PageRequest.of(page, size)); - return new ResponseEntity<>(airports, HttpStatus.OK); + try { + Page airports = airportService.getAllAirports(PageRequest.of(page, size)); + return new ResponseEntity<>(airports, HttpStatus.OK); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } @GetMapping("/direct-connections") @@ -65,7 +109,11 @@ public ResponseEntity> listDirectConnections( @RequestParam String airport, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { - Page airports = airportService.getDirectConnections(airport, PageRequest.of(page, size)); - return new ResponseEntity<>(airports, HttpStatus.OK); + try { + Page airports = airportService.getDirectConnections(airport, PageRequest.of(page, size)); + return new ResponseEntity<>(airports, HttpStatus.OK); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java index f8a001c..559ea6a 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java @@ -6,7 +6,6 @@ import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.services.RouteService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; @@ -21,43 +20,88 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import com.couchbase.client.core.error.DocumentExistsException; +import com.couchbase.client.core.error.DocumentNotFoundException; + +import io.swagger.v3.oas.annotations.Operation; + @RestController @RequestMapping("/api/v1/route") public class RouteController { - @Autowired - private RouteService routeService; + private final RouteService routeService; - @PostMapping("/{id}") - public ResponseEntity createRoute(@PathVariable String id, @Valid @RequestBody Route route) { - Route createdRoute = routeService.createRoute(id, route); - return new ResponseEntity<>(createdRoute, HttpStatus.CREATED); + public RouteController(RouteService routeService) { + this.routeService = routeService; } + @Operation(summary = "Get a route by ID") @GetMapping("/{id}") public ResponseEntity getRoute(@PathVariable String id) { - Optional route = routeService.getRouteById(id); - return route.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) - .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + try { + Optional route = routeService.getRouteById(id); + return route.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) + .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @Operation(summary = "Create a route") + @PostMapping("/{id}") + public ResponseEntity createRoute(@Valid @RequestBody Route route) { + try { + Route newRoute = routeService.createRoute(route); + return new ResponseEntity<>(newRoute, HttpStatus.CREATED); + } catch (DocumentExistsException e) { + return new ResponseEntity<>(HttpStatus.CONFLICT); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + @Operation(summary = "Update a route") @PutMapping("/{id}") public ResponseEntity updateRoute(@PathVariable String id, @Valid @RequestBody Route route) { - Route updatedRoute = routeService.updateRoute(id, route); - return new ResponseEntity<>(updatedRoute, HttpStatus.OK); + try { + Route updatedRoute = routeService.updateRoute(id, route); + if (updatedRoute != null) { + return new ResponseEntity<>(updatedRoute, HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } + @Operation(summary = "Delete a route") @DeleteMapping("/{id}") public ResponseEntity deleteRoute(@PathVariable String id) { - routeService.deleteRoute(id); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); + try { + routeService.deleteRoute(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } catch (DocumentNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } @GetMapping("/list") public ResponseEntity> listRoutes(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { - Page routes = routeService.getAllRoutes(PageRequest.of(page, size)); - return new ResponseEntity<>(routes, HttpStatus.OK); + try { + Page routes = routeService.getAllRoutes(PageRequest.of(page, size)); + return new ResponseEntity<>(routes, HttpStatus.OK); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } } diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java b/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java index df7f79a..1919e23 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java @@ -4,21 +4,16 @@ import javax.validation.constraints.NotBlank; +import lombok.*; import org.springframework.data.annotation.Id; import org.springframework.data.couchbase.core.mapping.Document; import org.springframework.data.couchbase.core.mapping.Field; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - @Document -@Getter -@Setter @AllArgsConstructor @NoArgsConstructor - +@Data +@Builder public class Airline implements Serializable { @Id @@ -49,4 +44,5 @@ public class Airline implements Serializable { @NotBlank(message = "Country is mandatory") private String country; + } diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java b/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java index e0fe302..c432c6c 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java @@ -7,19 +7,25 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; +import org.springframework.data.annotation.Id; +import org.springframework.data.couchbase.core.mapping.Document; import org.springframework.data.couchbase.core.mapping.Field; import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -@Getter -@Setter +@Document @AllArgsConstructor @NoArgsConstructor +@Data +@Builder public class Airport implements Serializable { + @Id @NotBlank(message = "Id is mandatory") private String id; @@ -50,10 +56,11 @@ public class Airport implements Serializable { @Valid // To validate the embedded Geo object private Geo geo; - @Getter - @Setter + @Document @AllArgsConstructor @NoArgsConstructor + @Data + @Builder public static class Geo implements Serializable { @NotNull(message = "Altitude is mandatory") diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Route.java b/src/main/java/org/couchbase/quickstart/springdata/models/Route.java index b294644..e5c3a55 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Route.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Route.java @@ -11,15 +11,15 @@ import org.springframework.data.couchbase.core.mapping.Field; import lombok.AllArgsConstructor; -import lombok.Getter; +import lombok.Builder; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Setter; @Document -@Getter -@Setter @AllArgsConstructor @NoArgsConstructor +@Data +@Builder public class Route implements Serializable { @NotBlank(message = "Id is mandatory") @@ -55,10 +55,11 @@ public class Route implements Serializable { @NotNull(message = "Distance is mandatory") private Double distance; - @Getter - @Setter + @Document @AllArgsConstructor @NoArgsConstructor + @Data + @Builder public static class Schedule implements Serializable { @NotNull(message = "Day is mandatory") private Integer day; diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java index 42ff262..45c174e 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java @@ -13,9 +13,12 @@ @Service public class AirlineService { - @Autowired private AirlineRepository airlineRepository; + public AirlineService(AirlineRepository airlineRepository) { + this.airlineRepository = airlineRepository; + } + public Page getAllAirlines(Pageable pageable) { return airlineRepository.findAll(pageable); } @@ -32,8 +35,7 @@ public void deleteAirline(String id) { airlineRepository.deleteById(id); } - public Airline createAirline(String id, Airline airline) { - airline.setId(id); + public Airline createAirline(Airline airline) { return airlineRepository.save(airline); } diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java index 87519c7..68d9d94 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java @@ -4,7 +4,6 @@ import org.couchbase.quickstart.springdata.models.Airport; import org.couchbase.quickstart.springdata.repository.AirportRepository; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -12,9 +11,12 @@ @Service public class AirportService { - @Autowired private AirportRepository airportRepository; + public AirportService(AirportRepository airportRepository) { + this.airportRepository = airportRepository; + } + public Page getAllAirports(Pageable pageable) { return airportRepository.findAll(pageable); } @@ -31,8 +33,7 @@ public void deleteAirport(String id) { airportRepository.deleteById(id); } - public Airport createAirport(String id, Airport airport) { - airport.setId(id); + public Airport createAirport(Airport airport) { return airportRepository.save(airport); } diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java b/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java index 132ee0c..8f6b897 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java @@ -4,7 +4,6 @@ import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.repository.RouteRepository; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -12,9 +11,12 @@ @Service public class RouteService { - @Autowired private RouteRepository routeRepository; + public RouteService(RouteRepository routeRepository) { + this.routeRepository = routeRepository; + } + public Page getAllRoutes(Pageable pageable) { return routeRepository.findAll(pageable); } @@ -31,8 +33,7 @@ public void deleteRoute(String id) { routeRepository.deleteById(id); } - public Route createRoute(String id, Route route) { - route.setId(id); + public Route createRoute(Route route) { return routeRepository.save(route); } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineControllerTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineControllerTest.java deleted file mode 100644 index cafcf7b..0000000 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineControllerTest.java +++ /dev/null @@ -1,108 +0,0 @@ -//package org.couchbase.quickstart.springdata.controllers; -// -//import java.util.Arrays; -//import java.util.List; -// -//import org.couchbase.quickstart.springdata.configs.DBProperties; -//import org.couchbase.quickstart.springdata.models.Airline; -//import org.junit.jupiter.api.BeforeEach; -//import org.junit.jupiter.api.Test; -//import org.mockito.Mockito; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -//import org.springframework.boot.test.mock.mockito.MockBean; -//import org.springframework.http.MediaType; -//import org.springframework.test.web.servlet.MockMvc; -//import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -//import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -// -//import com.couchbase.client.java.Bucket; -//import com.couchbase.client.java.Cluster; -//import com.couchbase.client.java.Collection; -//import com.couchbase.client.java.kv.GetResult; -//import com.fasterxml.jackson.databind.ObjectMapper; -// -//@WebMvcTest(AirlineController.class) -//class AirlineControllerTest { -// -// @Autowired -// private MockMvc mockMvc; -// -// @MockBean -// private Cluster cluster; -// -// @MockBean -// private Collection airlineCol; -// -// @MockBean -// private DBProperties dbProperties; -// -// @MockBean -// private Bucket bucket; -// -// @BeforeEach -// void setUp() { -// airlineCol = Mockito.mock(Collection.class); -// cluster = Mockito.mock(Cluster.class); -// dbProperties = Mockito.mock(DBProperties.class); -// bucket = Mockito.mock(Bucket.class); -// } -// -// @Test -// void getAirline() throws Exception { -// Airline airline = new Airline(); -// GetResult getResult = Mockito.mock(GetResult.class); -// Mockito.when(getResult.contentAs(Airline.class)).thenReturn(airline); -// Mockito.when(airlineCol.get(Mockito.anyString())).thenReturn(getResult); -// -// mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/airline/{id}", "test")) -// .andExpect(MockMvcResultMatchers.status().isOk()) -// .andExpect(MockMvcResultMatchers.jsonPath("$.id").value(airline.getId())); -// } -// -// @Test -// void createAirline() throws Exception { -// Airline airline = new Airline(); -// Mockito.when(airlineCol.insert(Mockito.anyString(), Mockito.any())).thenReturn(null); -// -// mockMvc.perform(MockMvcRequestBuilders.post("/api/v1/airline/{id}", "test") -// .contentType(MediaType.APPLICATION_JSON) -// .content(new ObjectMapper().writeValueAsString(airline))) -// .andExpect(MockMvcResultMatchers.status().isCreated()); -// } -// -// @Test -// void updateAirline() throws Exception { -// Airline airline = new Airline(); -// Mockito.when(airlineCol.replace(Mockito.anyString(), Mockito.any())).thenReturn(null); -// -// mockMvc.perform(MockMvcRequestBuilders.put("/api/v1/airline/{id}", "test") -// .contentType(MediaType.APPLICATION_JSON) -// .content(new ObjectMapper().writeValueAsString(airline))) -// .andExpect(MockMvcResultMatchers.status().isOk()); -// } -// -// @Test -// void deleteAirline() throws Exception { -// Mockito.doNothing().when(airlineCol).remove(Mockito.anyString()); -// -// mockMvc.perform(MockMvcRequestBuilders.delete("/api/v1/airline/{id}", "test")) -// .andExpect(MockMvcResultMatchers.status().isNoContent()); -// } -// -// @Test -// void listAirlines() throws Exception { -// Airline airline1 = new Airline("10", "airline", "40-Mile Air", "Q5", "MLA", "MILE-AIR", "United States"); -// Airline airline2 = new Airline("10123", "airline", "Texas Wings", "TQ", "TXW", "TXW", "United States"); -// List airlines = Arrays.asList(airline1, airline2); -// -// Mockito.when(airlineCol.list(Mockito.any(),Airline.class)).thenReturn(airlines); -// -// mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/airline/list")) -// .andExpect(MockMvcResultMatchers.status().isOk()) -// .andExpect(MockMvcResultMatchers.jsonPath("$[0].id").value(airline1.getId())) -// .andExpect(MockMvcResultMatchers.jsonPath("$[1].id").value(airline2.getId())); -// -// -// } -//} diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index 602149b..471d636 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -4,6 +4,8 @@ import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.models.RestResponsePage; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -17,97 +19,130 @@ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class AirlineIntegrationTest { - @Value("${local.server.port}") - private int port; - - @Autowired - private TestRestTemplate restTemplate; - - // {"id":10,"type":"airline","name":"40-Mile - // Air","iata":"Q5","icao":"MLA","callsign":"MILE-AIR","country":"United - // States"} - @Test - void testGetAirline() { - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airline/airline_10", Airline.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Airline airline = response.getBody(); - assertThat(airline).isNotNull(); - assertThat(airline.getId()).isEqualTo("airline_10"); - assertThat(airline.getType()).isEqualTo("airline"); - assertThat(airline.getName()).isEqualTo("40-Mile Air"); - assertThat(airline.getIata()).isEqualTo("Q5"); - assertThat(airline.getIcao()).isEqualTo("MLA"); - assertThat(airline.getCallsign()).isEqualTo("MILE-AIR"); - assertThat(airline.getCountry()).isEqualTo("United States"); - } - - @Test - void testCreateAirline() { - Airline airline = new Airline("airline_11", "airline", "Test Airline", "TA", "TST", "TEST", "United States"); - ResponseEntity response = restTemplate.postForEntity( - "http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, Airline.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); - Airline createdAirline = response.getBody(); - assertThat(createdAirline).isNotNull(); - assertThat(createdAirline.getId()).isEqualTo("airline_11"); - assertThat(createdAirline.getType()).isEqualTo("airline"); - assertThat(createdAirline.getName()).isEqualTo("Test Airline"); - assertThat(createdAirline.getIata()).isEqualTo("TA"); - assertThat(createdAirline.getIcao()).isEqualTo("TST"); - assertThat(createdAirline.getCallsign()).isEqualTo("TEST"); - assertThat(createdAirline.getCountry()).isEqualTo("United States"); - } - - @Test - void testUpdateAirline() { - Airline airline = new Airline("airline_11", "airline", "Updated Test Airline", "TA", "TST", "TEST", - "United States"); - restTemplate.put("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline); - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), Airline.class); - - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Airline updatedAirline = response.getBody(); - assertThat(updatedAirline).isNotNull(); - assertThat(updatedAirline.getId()).isEqualTo("airline_11"); - assertThat(updatedAirline.getType()).isEqualTo("airline"); - assertThat(updatedAirline.getName()).isEqualTo("Updated Test Airline"); - assertThat(updatedAirline.getIata()).isEqualTo("TA"); - assertThat(updatedAirline.getIcao()).isEqualTo("TST"); - assertThat(updatedAirline.getCallsign()).isEqualTo("TEST"); - assertThat(updatedAirline.getCountry()).isEqualTo("United States"); - - } - - @Test - void testDeleteAirline() { - Airline airline = new Airline("airline_11", "airline", "Test Airline", "TA", "TST", "TEST", "United States"); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, - Airline.class); - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/" + airline.getId()); - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), Airline.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); - } - - @Test - void testListAirlines() { - ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null, - new ParameterizedTypeReference>() { - }); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - - RestResponsePage airlines = response.getBody(); - assertThat(airlines).isNotNull(); - assertThat(airlines.getSize()).isEqualTo(10); - - } - - @Test - void testListAirlinesByCountry() { - // Check that if it contains + @Value("${local.server.port}") + private int port; + + @Autowired + private TestRestTemplate restTemplate; + + @BeforeEach + void setUp() { + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create"); + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update"); + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete"); + } + + @AfterEach + void tearDown() { + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create"); + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update"); + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete"); + } + + @Test + void testGetAirline() { + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airline/airline_10", Airline.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Airline airline = response.getBody(); + assert airline != null; + + Airline expectedAirline = Airline.builder() + .id("airline_10") + .type("airline") + .name("40-Mile Air") + .iata("Q5") + .icao("MLA") + .callsign("MILE-AIR") + .country("United States") + .build(); + System.out.println(airline.toString()); + assertThat(airline).isEqualTo(expectedAirline); + } + + @Test + void testCreateAirline() { + Airline airline = Airline.builder() + .id("airline_create") + .type("airline") + .name("Test Airline") + .iata("TA") + .icao("TST") + .callsign("TEST") + .country("United States") + .build(); + ResponseEntity response = restTemplate.postForEntity( + "http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, + Airline.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); + Airline createdAirline = response.getBody(); + + assert createdAirline != null; + assertThat(createdAirline).isEqualTo(airline); + } + + @Test + void testUpdateAirline() { + Airline airline = Airline.builder() + .id("airline_update") + .type("airline") + .name("Updated Test Airline") + .iata("TA") + .icao("TST") + .callsign("TEST") + .country("United States") + .build(); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, + Airline.class); + restTemplate.put("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), + Airline.class); + + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Airline updatedAirline = response.getBody(); + assertThat(updatedAirline) + .isNotNull() + .isEqualTo(airline); + } + + @Test + void testDeleteAirline() { + String airlineIdToDelete = "airline_delete"; + Airline airline = Airline.builder() + .id(airlineIdToDelete) + .type("airline") + .name("Test Airline") + .iata("TA") + .icao("TST") + .callsign("TEST") + .country("United States") + .build(); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, + Airline.class); + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/" + airlineIdToDelete); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airline/" + airlineIdToDelete, + Airline.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); + } + + @Test + void testListAirlines() { + ResponseEntity> response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null, + new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + RestResponsePage airlines = response.getBody(); + assertThat(airlines).isNotNull(); + assertThat(airlines.getSize()).isEqualTo(10); + } + + @Test + void testListAirlinesByCountry() { + // Check that if it contains // airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United // States"} String country = "United States"; @@ -120,13 +155,17 @@ void testListAirlinesByCountry() { RestResponsePage airlines = response.getBody(); Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst().orElse(null); assertThat(airline).isNotNull(); - assertThat(airline.getId()).isEqualTo("airline_10226"); - assertThat(airline.getType()).isEqualTo("airline"); - assertThat(airline.getName()).isEqualTo("Atifly"); - assertThat(airline.getIata()).isEqualTo("A1"); - assertThat(airline.getIcao()).isEqualTo("A1F"); - assertThat(airline.getCallsign()).isEqualTo("atifly"); - assertThat(airline.getCountry()).isEqualTo("United States"); + + Airline expectedAirline = Airline.builder() + .id("airline_10226") + .type("airline") + .name("Atifly") + .iata("A1") + .icao("A1F") + .callsign("atifly") + .country("United States") + .build(); + assertThat(airline).isEqualTo(expectedAirline); // {"id":1191,"type":"airline","name":"Air // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} @@ -140,83 +179,21 @@ void testListAirlinesByCountry() { RestResponsePage airlines2 = response2.getBody(); Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst().orElse(null); - assertThat(airline2).isNotNull(); - assertThat(airline2.getId()).isEqualTo("airline_1191"); - assertThat(airline2.getType()).isEqualTo("airline"); - assertThat(airline2.getName()).isEqualTo("Air Austral"); - assertThat(airline2.getIata()).isEqualTo("UU"); - assertThat(airline2.getIcao()).isEqualTo("REU"); - assertThat(airline2.getCallsign()).isEqualTo("REUNION"); - assertThat(airline2.getCountry()).isEqualTo("France"); - - } - - // @Test - // void testListAirlinesByDestinationAirport() { - // ResponseEntity response = restTemplate.getForEntity("http://localhost:" - // + port + "/api/v1/airline/destination/test", List.class); - // assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - // // Add more assertions as needed - // } -} -// package org.couchbase.quickstart.springboot.controllers; -// -// import org.couchbase.quickstart.springboot.configs.CouchbaseConfig; -// import org.couchbase.quickstart.springboot.configs.DBProperties; -// import org.couchbase.quickstart.springboot.configs.Swagger; -// import org.junit.Before; -// import org.junit.Test; -// import org.junit.runner.RunWith; -// import org.springframework.beans.factory.annotation.Autowired; -// import -// org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -// import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -// import org.springframework.boot.test.context.SpringBootTest; -// import org.springframework.test.context.ContextConfiguration; -// import org.springframework.test.context.junit4.SpringRunner; -// import org.springframework.test.context.web.WebAppConfiguration; -// import org.springframework.test.web.servlet.MockMvc; -// import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -// import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -// import org.springframework.test.web.servlet.setup.MockMvcBuilders; -// import org.springframework.web.context.WebApplicationContext; -// -// import com.couchbase.client.java.Bucket; -// import com.couchbase.client.java.Cluster; -// import com.couchbase.client.java.Collection; -// -// -//// @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -//// @AutoConfigureMockMvc -// @ContextConfiguration(classes = {CouchbaseConfig.class, Swagger.class, -// DBProperties.class}) -//// @RunWith(SpringRunner.class) -// -// @RunWith(SpringRunner.class) -// @WebMvcTest(AirlineController.class) -// @WebAppConfiguration -// public class AirlineControllerTest { -// -// @Autowired -// private WebApplicationContext webApplicationContext; -// -// private MockMvc mockMvc; -// -// // ... your other dependencies or setup if needed -// -// @Before -// public void setup() { -// mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); -// } -// -// @Test -// public void testGetAirline() { -// // Perform the GET request using mockMvc and assert the response -// mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/airline/test")) -// .andExpect(MockMvcResultMatchers.status().isOk()) -// .andExpect(MockMvcResultMatchers.jsonPath("$.id").value("test")); -// } -// -// // ... other test methods -// } + Airline expectedAirline2 = Airline.builder() + .id("airline_1191") + .type("airline") + .name("Air Austral") + .iata("UU") + .icao("REU") + .callsign("REUNION") + .country("France") + .build(); + assertThat(airline2).isEqualTo(expectedAirline2); + + } + + // @Test + // void testListAirlinesByDestinationAirport() { + // } +} diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index 8992069..57e1c0f 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -2,11 +2,11 @@ import static org.assertj.core.api.Assertions.assertThat; -import java.util.List; - import org.couchbase.quickstart.springdata.models.Airport; -import org.couchbase.quickstart.springdata.models.RestResponsePage; import org.couchbase.quickstart.springdata.models.Airport.Geo; +import org.couchbase.quickstart.springdata.models.RestResponsePage; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -18,99 +18,109 @@ import org.springframework.http.ResponseEntity; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) - class AirportIntegrationTest { - // {"id":1254,"type":"airport","airportname":"Calais Dunkerque","city":"Calais","country":"France","faa":"CQF","icao":"LFAC","tz":"Europe/Paris","geo":{"lat":50.962097,"lon":1.954764,"alt":12.0}} +class AirportIntegrationTest { + + @Value("${local.server.port}") + private int port; + + @Autowired + private TestRestTemplate restTemplate; - @Value("${local.server.port}") - private int port; + @BeforeEach + void setUp() { + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create"); + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update"); + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete"); + } - @Autowired - private TestRestTemplate restTemplate; + @AfterEach + void tearDown() { + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create"); + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update"); + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete"); + } - @Test - void testGetAirport() throws Exception { - ResponseEntity response = restTemplate.getForEntity("http://localhost:" + port + "/api/v1/airport/airport_1254", Airport.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Airport airport = response.getBody(); - assertThat(airport).isNotNull(); - assertThat(airport.getId()).isEqualTo("airport_1254"); - assertThat(airport.getType()).isEqualTo("airport"); - assertThat(airport.getAirportName()).isEqualTo("Calais Dunkerque"); - assertThat(airport.getCity()).isEqualTo("Calais"); - assertThat(airport.getCountry()).isEqualTo("France"); - assertThat(airport.getFaa()).isEqualTo("CQF"); - assertThat(airport.getIcao()).isEqualTo("LFAC"); - assertThat(airport.getTz()).isEqualTo("Europe/Paris"); - assertThat(airport.getGeo().getLat()).isEqualTo(50.962097); - assertThat(airport.getGeo().getLon()).isEqualTo(1.954764); - assertThat(airport.getGeo().getAlt()).isEqualTo(12.0); - } + @Test + void testGetAirport() { + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airport/airport_1254", + Airport.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Airport airport = response.getBody(); + assert airport != null; + Airport expectedAirport = Airport.builder().id("airport_1254").type("airport") + .airportName("Calais Dunkerque") + .city("Calais").country("France").faa("CQF").icao("LFAC").tz("Europe/Paris") + .geo(new Geo(12.0, 50.962097, 1.954764)).build(); + assertThat(airport).isEqualTo(expectedAirport); + } - @Test - void testCreateAirport() throws Exception { - Airport airport = new Airport("airport_1255", "airport", "Test Airport", "Test City", "Test Country", "TST", "TEST", "Test Timezone", new Geo(1.0, 2.0, 3.0)); - ResponseEntity response = restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, Airport.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); - Airport createdAirport = response.getBody(); - assertThat(createdAirport).isNotNull(); - assertThat(createdAirport.getId()).isEqualTo("airport_1255"); - assertThat(createdAirport.getType()).isEqualTo("airport"); - assertThat(createdAirport.getAirportName()).isEqualTo("Test Airport"); - assertThat(createdAirport.getCity()).isEqualTo("Test City"); - assertThat(createdAirport.getCountry()).isEqualTo("Test Country"); - assertThat(createdAirport.getFaa()).isEqualTo("TST"); - assertThat(createdAirport.getIcao()).isEqualTo("TEST"); - assertThat(createdAirport.getTz()).isEqualTo("Test Timezone"); - assertThat(createdAirport.getGeo().getAlt()).isEqualTo(1.0); - assertThat(createdAirport.getGeo().getLat()).isEqualTo(2.0); - assertThat(createdAirport.getGeo().getLon()).isEqualTo(3.0); - } + @Test + void testCreateAirport() { + Airport airport = Airport.builder().id("airport_create").type("airport").airportName("Test Airport") + .city("Test City").country("Test Country").faa("TST").icao("TEST") + .tz("Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build(); + ResponseEntity response = restTemplate.postForEntity( + "http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, + Airport.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); + Airport createdAirport = response.getBody(); + assert createdAirport != null; + assertThat(createdAirport).isEqualTo(airport); + } - @Test - void testUpdateAirport() throws Exception { - Airport airport = new Airport("airport_1255", "airport", "Updated Test Airport", "Updated Test City", "Updated Test Country", "TST", "TEST", "Updated Test Timezone", new Geo(1.0, 2.0, 3.0)); - restTemplate.put("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport); - ResponseEntity response = restTemplate.getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), Airport.class); + @Test + void testUpdateAirport() { + Airport airport = Airport.builder().id("airport_update").type("airport") + .airportName("Updated Test Airport").city("Updated Test City") + .country("Updated Test Country").faa("TST").icao("TEST") + .tz("Updated Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build(); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, + Airport.class); + restTemplate.put("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), + Airport.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Airport updatedAirport = response.getBody(); - assertThat(updatedAirport).isNotNull(); - assertThat(updatedAirport.getId()).isEqualTo("airport_1255"); - assertThat(updatedAirport.getType()).isEqualTo("airport"); - assertThat(updatedAirport.getAirportName()).isEqualTo("Updated Test Airport"); - assertThat(updatedAirport.getCity()).isEqualTo("Updated Test City"); - assertThat(updatedAirport.getCountry()).isEqualTo("Updated Test Country"); - assertThat(updatedAirport.getFaa()).isEqualTo("TST"); - assertThat(updatedAirport.getIcao()).isEqualTo("TEST"); - assertThat(updatedAirport.getTz()).isEqualTo("Updated Test Timezone"); - assertThat(updatedAirport.getGeo().getAlt()).isEqualTo(1.0); - assertThat(updatedAirport.getGeo().getLat()).isEqualTo(2.0); - assertThat(updatedAirport.getGeo().getLon()).isEqualTo(3.0); - } + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Airport updatedAirport = response.getBody(); + assert updatedAirport != null; + assertThat(updatedAirport).isEqualTo(airport); + } - @Test - void testDeleteAirport() throws Exception { - Airport airport = new Airport("airport_1255", "airport", "Test Airport", "Test City", "Test Country", "TST", "TEST", "Test Timezone", new Geo(1.0, 2.0, 3.0)); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, Airport.class); - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/" + airport.getId()); - ResponseEntity response = restTemplate.getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), Airport.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); - } + @Test + void testDeleteAirport() { + Airport airport = Airport.builder().id("airport_delete").type("airport").airportName("Test Airport") + .city("Test City").country("Test Country").faa("TST").icao("TEST") + .tz("Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build(); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, + Airport.class); + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/" + airport.getId()); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), + Airport.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); + } - @Test - void testListAirports() throws Exception { - ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/airport/list", HttpMethod.GET, null, new ParameterizedTypeReference>() {}); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + @Test + void testListAirports() { + ResponseEntity> response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airport/list", HttpMethod.GET, null, + new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - RestResponsePage airports = response.getBody(); - assertThat(airports).isNotNull(); - assertThat(airports.getTotalElements()).isGreaterThan(100); - } + RestResponsePage airports = response.getBody(); + assertThat(airports).isNotNull(); + assertThat(airports).hasSize(10); + } - // @Test - // void testListDirectConnections() throws Exception { - // ResponseEntity response = restTemplate.getForEntity("http://localhost:" + port + "/api/v1/airport/direct-connections?airportCode=test", List.class); - // assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - // // Add more assertions as needed - // } + // Uncomment this test and modify it similarly if you want to include it + // @Test + // void testListDirectConnections() { + // ResponseEntity response = restTemplate.getForEntity("http://localhost:" + // + port + "/api/v1/airport/direct-connections?airportCode=test", List.class); + // assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + // // Add more assertions as needed + // } } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index 36e9d9d..759c66c 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -3,11 +3,11 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.Arrays; -import java.util.Collections; -import java.util.List; import org.couchbase.quickstart.springdata.models.RestResponsePage; import org.couchbase.quickstart.springdata.models.Route; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -21,101 +21,219 @@ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class RouteIntegrationTest { - @Value("${local.server.port}") - private int port; + @Value("${local.server.port}") + private int port; - @Autowired - private TestRestTemplate restTemplate; + @Autowired + private TestRestTemplate restTemplate; - @Test - void testGetRoute() { - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/route_10000", Route.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Route route = response.getBody(); - assertThat(route).isNotNull(); - assertThat(route.getId()).isEqualTo("route_10000"); - assertThat(route.getType()).isEqualTo("route"); - assertThat(route.getAirline()).isEqualTo("AF"); - assertThat(route.getAirlineId()).isEqualTo("airline_137"); - assertThat(route.getSourceAirport()).isEqualTo("TLV"); - assertThat(route.getDestinationAirport()).isEqualTo("MRS"); - assertThat(route.getStops()).isZero(); - assertThat(route.getEquipment()).isEqualTo("320"); - assertThat(route.getSchedule()).hasSize(23); - assertThat(route.getDistance()).isEqualTo(2881.617376098415); - } + @BeforeEach + void setUp() { + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_create"); + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_update"); + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_delete"); + } - @Test - void testCreateRoute() { - List schedule = Collections.singletonList(new Route.Schedule(0, "AF198", "10:13:00")); - Route createdRoute = new Route("route_10001", "route", "AF", "airline_137", "TLV", "MRS", 0, "320", - schedule, 2881.617376098415); - ResponseEntity response = restTemplate.postForEntity( - "http://localhost:" + port + "/api/v1/route/" + createdRoute.getId(), createdRoute, Route.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); - Route route = response.getBody(); - assertThat(route).isNotNull(); - assertThat(route.getId()).isEqualTo("route_10001"); - assertThat(route.getType()).isEqualTo("route"); - assertThat(route.getAirline()).isEqualTo("AF"); - assertThat(route.getAirlineId()).isEqualTo("airline_137"); - assertThat(route.getSourceAirport()).isEqualTo("TLV"); - assertThat(route.getDestinationAirport()).isEqualTo("MRS"); - assertThat(route.getStops()).isZero(); - assertThat(route.getEquipment()).isEqualTo("320"); - assertThat(route.getSchedule()).hasSize(1); - assertThat(route.getSchedule().get(0).getDay()).isZero(); - assertThat(route.getSchedule().get(0).getUtc()).isEqualTo("10:13:00"); - assertThat(route.getSchedule().get(0).getFlight()).isEqualTo("AF198"); - assertThat(route.getDistance()).isEqualTo(2881.617376098415); - } + @AfterEach + void tearDown() { + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_create"); + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_update"); + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_delete"); + } - @Test - void testUpdateRoute() { - List schedule = Arrays.asList(new Route.Schedule(0, "AF198", "10:13:00"), - new Route.Schedule(1, "AF547", "19:14:00"), new Route.Schedule(2, "AF943", "01:31:00"), - new Route.Schedule(3, "AF356", "12:40:00"), new Route.Schedule(4, "AF480", "08:58:00"), - new Route.Schedule(5, "AF250", "12:59:00"), new Route.Schedule(6, "AF130", "04:45:00"), - new Route.Schedule(7, "AF997", "00:31:00"), new Route.Schedule(8, "AF223", "19:41:00"), - new Route.Schedule(9, "AF890", "15:14:00"), new Route.Schedule(10, "AF399", "00:30:00"), - new Route.Schedule(11, "AF328", "16:18:00"), new Route.Schedule(12, "AF074", "23:50:00"), - new Route.Schedule(13, "AF556", "11:33:00"), new Route.Schedule(14, "AF064", "13:23:00"), - new Route.Schedule(15, "AF596", "12:09:00"), new Route.Schedule(16, "AF818", "08:02:00"), - new Route.Schedule(17, "AF967", "11:33:00"), new Route.Schedule(18, "AF730", "19:42:00"), - new Route.Schedule(19, "AF882", "17:07:00"), new Route.Schedule(20, "AF485", "17:03:00"), - new Route.Schedule(21, "AF898", "10:01:00"), new Route.Schedule(22, "AF496", "07:00:00")); - Route route = new Route("route_10001", "route", "AF", "airline_137", "TLV", "MRS", 0, "320", schedule, 2881.617376098415); - restTemplate.put("http://localhost:" + port + "/api/v1/route/" + route.getId(), route); - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), Route.class); + @Test + void testGetRoute() throws Exception { + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/route_10000", Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Route route = response.getBody(); + assert route != null; - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Route updatedRoute = response.getBody(); - assertThat(updatedRoute).isNotNull(); - assertThat(updatedRoute.getId()).isEqualTo("route_10001"); - assertThat(updatedRoute.getType()).isEqualTo("route"); - assertThat(updatedRoute.getAirline()).isEqualTo("AF"); - assertThat(updatedRoute.getAirlineId()).isEqualTo("airline_137"); - assertThat(updatedRoute.getSourceAirport()).isEqualTo("TLV"); - assertThat(updatedRoute.getDestinationAirport()).isEqualTo("MRS"); - assertThat(updatedRoute.getStops()).isZero(); - assertThat(updatedRoute.getEquipment()).isEqualTo("320"); - assertThat(updatedRoute.getDistance()).isEqualTo(2881.617376098415); - assertThat(updatedRoute.getSchedule()).hasSize(23); - } + Route expectedRoute = Route.builder() + .id("route_10000") + .type("route") + .airline("AF") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("MRS") + .stops(0) + .equipment("320") + .schedule(Arrays.asList( + new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(0, "AF547", "19:14:00"), + new Route.Schedule(0, "AF943", "01:31:00"), + new Route.Schedule(1, "AF356", "12:40:00"), + new Route.Schedule(1, "AF480", "08:58:00"), + new Route.Schedule(1, "AF250", "12:59:00"), + new Route.Schedule(1, "AF130", "04:45:00"), + new Route.Schedule(2, "AF997", "00:31:00"), + new Route.Schedule(2, "AF223", "19:41:00"), + new Route.Schedule(2, "AF890", "15:14:00"), + new Route.Schedule(2, "AF399", "00:30:00"), + new Route.Schedule(2, "AF328", "16:18:00"), + new Route.Schedule(3, "AF074", "23:50:00"), + new Route.Schedule(3, "AF556", "11:33:00"), + new Route.Schedule(4, "AF064", "13:23:00"), + new Route.Schedule(4, "AF596", "12:09:00"), + new Route.Schedule(4, "AF818", "08:02:00"), + new Route.Schedule(5, "AF967", "11:33:00"), + new Route.Schedule(5, "AF730", "19:42:00"), + new Route.Schedule(6, "AF882", "17:07:00"), + new Route.Schedule(6, "AF485", "17:03:00"), + new Route.Schedule(6, "AF898", "10:01:00"), + new Route.Schedule(6, "AF496", "07:00:00"))) + .distance(2881.617376098415) + .build(); + assertThat(route).isEqualTo(expectedRoute); + } - @Test - void testDeleteRoute() { - Route route = new Route("route_10001", "route", "AF", "airline_137", "TLV", "MRS", 0, "320", null, 2881.617376098415); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, Route.class); - restTemplate.delete("http://localhost:" + port + "/api/v1/route/" + route.getId()); - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), Route.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); - } + @Test + void testCreateRoute() throws Exception { + + Route route = Route.builder() + .id("route_create") + .type("route") + .airline("AF") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("MRS") + .stops(0) + .equipment("320") + .schedule(Arrays.asList( + new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(0, "AF547", "19:14:00"), + new Route.Schedule(0, "AF943", "01:31:00"), + new Route.Schedule(1, "AF356", "12:40:00"), + new Route.Schedule(1, "AF480", "08:58:00"), + new Route.Schedule(1, "AF250", "12:59:00"), + new Route.Schedule(1, "AF130", "04:45:00"), + new Route.Schedule(2, "AF997", "00:31:00"), + new Route.Schedule(2, "AF223", "19:41:00"), + new Route.Schedule(2, "AF890", "15:14:00"), + new Route.Schedule(2, "AF399", "00:30:00"), + new Route.Schedule(2, "AF328", "16:18:00"), + new Route.Schedule(3, "AF074", "23:50:00"), + new Route.Schedule(3, "AF556", "11:33:00"), + new Route.Schedule(4, "AF064", "13:23:00"), + new Route.Schedule(4, "AF596", "12:09:00"), + new Route.Schedule(4, "AF818", "08:02:00"), + new Route.Schedule(5, "AF967", "11:33:00"), + new Route.Schedule(5, "AF730", "19:42:00"), + new Route.Schedule(6, "AF882", "17:07:00"), + new Route.Schedule(6, "AF485", "17:03:00"), + new Route.Schedule(6, "AF898", "10:01:00"), + new Route.Schedule(6, "AF496", "07:00:00"))) + .distance(2881.617376098415) + .build(); + ResponseEntity response = restTemplate + .postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); + Route createdRoute = response.getBody(); + assert createdRoute != null; + assertThat(createdRoute).isEqualTo(route); + } - @Test + @Test + void testUpdateRoute() throws Exception { + + Route route = Route.builder() + .id("route_update") + .type("route") + .airline("AF") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("MRS") + .stops(0) + .equipment("320") + .schedule(Arrays.asList( + new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(0, "AF547", "19:14:00"), + new Route.Schedule(0, "AF943", "01:31:00"), + new Route.Schedule(1, "AF356", "12:40:00"), + new Route.Schedule(1, "AF480", "08:58:00"), + new Route.Schedule(1, "AF250", "12:59:00"), + new Route.Schedule(1, "AF130", "04:45:00"), + new Route.Schedule(2, "AF997", "00:31:00"), + new Route.Schedule(2, "AF223", "19:41:00"), + new Route.Schedule(2, "AF890", "15:14:00"), + new Route.Schedule(2, "AF399", "00:30:00"), + new Route.Schedule(2, "AF328", "16:18:00"), + new Route.Schedule(3, "AF074", "23:50:00"), + new Route.Schedule(3, "AF556", "11:33:00"), + new Route.Schedule(4, "AF064", "13:23:00"), + new Route.Schedule(4, "AF596", "12:09:00"), + new Route.Schedule(4, "AF818", "08:02:00"), + new Route.Schedule(5, "AF967", "11:33:00"), + new Route.Schedule(5, "AF730", "19:42:00"), + new Route.Schedule(6, "AF882", "17:07:00"), + new Route.Schedule(6, "AF485", "17:03:00"), + new Route.Schedule(6, "AF898", "10:01:00"), + new Route.Schedule(6, "AF496", "07:00:00"))) + .distance(2881.617376098415) + .build(); + + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + Route.class); + restTemplate.put("http://localhost:" + port + "/api/v1/route/" + route.getId(), route); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), + Route.class); + + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Route updatedRoute = response.getBody(); + assert updatedRoute != null; + assertThat(updatedRoute).isEqualTo(route); + } + + @Test + void testDeleteRoute() throws Exception { + + Route route = Route.builder() + .id("route_delete") + .type("route") + .airline("AF") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("MRS") + .stops(0) + .equipment("320") + .schedule(Arrays.asList( + new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(0, "AF547", "19:14:00"), + new Route.Schedule(0, "AF943", "01:31:00"), + new Route.Schedule(1, "AF356", "12:40:00"), + new Route.Schedule(1, "AF480", "08:58:00"), + new Route.Schedule(1, "AF250", "12:59:00"), + new Route.Schedule(1, "AF130", "04:45:00"), + new Route.Schedule(2, "AF997", "00:31:00"), + new Route.Schedule(2, "AF223", "19:41:00"), + new Route.Schedule(2, "AF890", "15:14:00"), + new Route.Schedule(2, "AF399", "00:30:00"), + new Route.Schedule(2, "AF328", "16:18:00"), + new Route.Schedule(3, "AF074", "23:50:00"), + new Route.Schedule(3, "AF556", "11:33:00"), + new Route.Schedule(4, "AF064", "13:23:00"), + new Route.Schedule(4, "AF596", "12:09:00"), + new Route.Schedule(4, "AF818", "08:02:00"), + new Route.Schedule(5, "AF967", "11:33:00"), + new Route.Schedule(5, "AF730", "19:42:00"), + new Route.Schedule(6, "AF882", "17:07:00"), + new Route.Schedule(6, "AF485", "17:03:00"), + new Route.Schedule(6, "AF898", "10:01:00"), + new Route.Schedule(6, "AF496", "07:00:00"))) + .distance(2881.617376098415) + .build(); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + Route.class); + restTemplate.delete("http://localhost:" + port + "/api/v1/route/" + route.getId()); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), + Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); + } + + @Test void testListRoutes() { ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/route/list", HttpMethod.GET, null, new ParameterizedTypeReference>() { @@ -124,6 +242,7 @@ void testListRoutes() { RestResponsePage routes = response.getBody(); assertThat(routes).isNotNull(); - assertThat(routes.getTotalElements()).isGreaterThan(100); + assertThat(routes).hasSize(10); } + } \ No newline at end of file From 496204d722bbf7543087808bacf7a4cf0dc2a4f9 Mon Sep 17 00:00:00 2001 From: teetangh Date: Sun, 7 Jan 2024 19:37:52 +0530 Subject: [PATCH 08/41] Add Dockerfile and make repository classes final --- Dockerfile | 15 +++++++++ build.gradle | 1 + .../controller/AirlineController.java | 33 ++++++++++++++++--- .../controller/AirportController.java | 25 ++++++++++++-- .../controller/RouteController.java | 20 ++++++++++- .../repository/AirlineRepository.java | 2 ++ .../repository/AirportRepository.java | 2 ++ .../repository/RouteRepository.java | 2 ++ .../springdata/services/AirlineService.java | 3 +- .../springdata/services/AirportService.java | 2 +- .../springdata/services/RouteService.java | 2 +- 11 files changed, 94 insertions(+), 13 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..dfea2c1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +# NOT WORKING +FROM gradle:7.3.3-jdk11 AS build +COPY --chown=gradle:gradle . /home/gradle/src +WORKDIR /home/gradle/src +RUN gradle build --no-daemon + +FROM openjdk:11-jre-slim + +EXPOSE 8080 + +RUN mkdir /app + +COPY --from=build /home/gradle/src/build/libs/*.jar /app/java-springdata-quickstart.jar + +ENTRYPOINT ["java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app/java-springdata-quickstart.jar"] diff --git a/build.gradle b/build.gradle index 12cf03d..bf82376 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ plugins { group = 'org.couchbase.quickstart.springdata' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' +archivesBaseName = 'java-springdata-quickstart' repositories { mavenCentral() diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java index ece0fab..ec4392c 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java @@ -6,6 +6,7 @@ import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.services.AirlineService; +import org.springframework.dao.DataRetrievalFailureException; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; @@ -24,17 +25,24 @@ import com.couchbase.client.core.error.DocumentNotFoundException; import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; +@Slf4j @RestController @RequestMapping("/api/v1/airline") public class AirlineController { - private AirlineService airlineService; + private final AirlineService airlineService; public AirlineController(AirlineService airlineService) { this.airlineService = airlineService; } + // All Errors + private static final String INTERNAL_SERVER_ERROR = "Internal server error"; + private static final String DOCUMENT_NOT_FOUND = "Document not found"; + private static final String DOCUMENT_ALREADY_EXISTS = "Document already exists"; + @Operation(summary = "Get an airline by ID") @GetMapping("/{id}") public ResponseEntity getAirline(@PathVariable String id) { @@ -43,8 +51,10 @@ public ResponseEntity getAirline(@PathVariable String id) { return airline.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); } catch (DocumentNotFoundException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -56,8 +66,10 @@ public ResponseEntity createAirline(@Valid @RequestBody Airline airline Airline newAirline = airlineService.createAirline(airline); return new ResponseEntity<>(newAirline, HttpStatus.CREATED); } catch (DocumentExistsException e) { + log.error(DOCUMENT_ALREADY_EXISTS, e); return new ResponseEntity<>(HttpStatus.CONFLICT); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -72,9 +84,11 @@ public ResponseEntity updateAirline(@PathVariable String id, @Valid @Re } else { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } - } catch (DocumentNotFoundException e) { + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -85,9 +99,11 @@ public ResponseEntity deleteAirline(@PathVariable String id) { try { airlineService.deleteAirline(id); return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } catch (DocumentNotFoundException e) { + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -96,8 +112,13 @@ public ResponseEntity deleteAirline(@PathVariable String id) { @GetMapping("/list") public ResponseEntity> listAirlines(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { - Page airlines = airlineService.getAllAirlines(PageRequest.of(page, size)); - return new ResponseEntity<>(airlines, HttpStatus.OK); + try { + Page airlines = airlineService.getAllAirlines(PageRequest.of(page, size)); + return new ResponseEntity<>(airlines, HttpStatus.OK); + } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } } @Operation(summary = "List all airlines by country") @@ -111,6 +132,7 @@ public ResponseEntity> listAirlinesByCountry( Page airlines = airlineService.findByCountry(country, PageRequest.of(page, size)); return new ResponseEntity<>(airlines, HttpStatus.OK); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -128,6 +150,7 @@ public ResponseEntity> listAirlinesByDestinationAirport( return new ResponseEntity<>(airlines, HttpStatus.OK); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java index b669c6f..6d73149 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -6,6 +6,7 @@ import org.couchbase.quickstart.springdata.models.Airport; import org.couchbase.quickstart.springdata.services.AirportService; +import org.springframework.dao.DataRetrievalFailureException; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; @@ -24,17 +25,24 @@ import com.couchbase.client.core.error.DocumentNotFoundException; import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; @RestController @RequestMapping("/api/v1/airport") +@Slf4j public class AirportController { - private AirportService airportService; + private final AirportService airportService; public AirportController(AirportService airportService) { this.airportService = airportService; } + // All Errors + private static final String INTERNAL_SERVER_ERROR = "Internal server error"; + private static final String DOCUMENT_NOT_FOUND = "Document not found"; + private static final String DOCUMENT_ALREADY_EXISTS = "Document already exists"; + @Operation(summary = "Get an airport by ID") @GetMapping("/{id}") public ResponseEntity getAirport(@PathVariable String id) { @@ -42,9 +50,11 @@ public ResponseEntity getAirport(@PathVariable String id) { Optional airport = airportService.getAirportById(id); return airport.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); - } catch (DocumentNotFoundException e) { + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -56,8 +66,10 @@ public ResponseEntity createAirport(@PathVariable String id, @Valid @Re Airport newAirport = airportService.createAirport(airport); return new ResponseEntity<>(newAirport, HttpStatus.CREATED); } catch (DocumentExistsException e) { + log.error(DOCUMENT_ALREADY_EXISTS, e); return new ResponseEntity<>(HttpStatus.CONFLICT); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } @@ -71,11 +83,14 @@ public ResponseEntity updateAirport(@PathVariable String id, @Valid @Re if (updatedAirport != null) { return new ResponseEntity<>(updatedAirport, HttpStatus.OK); } else { + log.error(DOCUMENT_NOT_FOUND); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } - } catch (DocumentNotFoundException e) { + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -87,8 +102,10 @@ public ResponseEntity deleteAirport(@PathVariable String id) { airportService.deleteAirport(id); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } catch (DocumentNotFoundException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -100,6 +117,7 @@ public ResponseEntity> listAirports(@RequestParam(defaultValue = " Page airports = airportService.getAllAirports(PageRequest.of(page, size)); return new ResponseEntity<>(airports, HttpStatus.OK); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -113,6 +131,7 @@ public ResponseEntity> listDirectConnections( Page airports = airportService.getDirectConnections(airport, PageRequest.of(page, size)); return new ResponseEntity<>(airports, HttpStatus.OK); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java index 559ea6a..f3018a5 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java @@ -6,6 +6,7 @@ import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.services.RouteService; +import org.springframework.dao.DataRetrievalFailureException; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; @@ -24,9 +25,11 @@ import com.couchbase.client.core.error.DocumentNotFoundException; import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; @RestController @RequestMapping("/api/v1/route") +@Slf4j public class RouteController { private final RouteService routeService; @@ -35,6 +38,11 @@ public RouteController(RouteService routeService) { this.routeService = routeService; } + // All Errors + private static final String INTERNAL_SERVER_ERROR = "Internal server error"; + private static final String DOCUMENT_NOT_FOUND = "Document not found"; + private static final String DOCUMENT_ALREADY_EXISTS = "Document already exists"; + @Operation(summary = "Get a route by ID") @GetMapping("/{id}") public ResponseEntity getRoute(@PathVariable String id) { @@ -43,8 +51,10 @@ public ResponseEntity getRoute(@PathVariable String id) { return route.map(value -> new ResponseEntity<>(value, HttpStatus.OK)) .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); } catch (DocumentNotFoundException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -56,8 +66,10 @@ public ResponseEntity createRoute(@Valid @RequestBody Route route) { Route newRoute = routeService.createRoute(route); return new ResponseEntity<>(newRoute, HttpStatus.CREATED); } catch (DocumentExistsException e) { + log.error(DOCUMENT_ALREADY_EXISTS, e); return new ResponseEntity<>(HttpStatus.CONFLICT); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } @@ -71,11 +83,14 @@ public ResponseEntity updateRoute(@PathVariable String id, @Valid @Reques if (updatedRoute != null) { return new ResponseEntity<>(updatedRoute, HttpStatus.OK); } else { + log.error(DOCUMENT_NOT_FOUND); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } catch (DocumentNotFoundException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -86,9 +101,11 @@ public ResponseEntity deleteRoute(@PathVariable String id) { try { routeService.deleteRoute(id); return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } catch (DocumentNotFoundException e) { + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + log.error(DOCUMENT_NOT_FOUND, e); return new ResponseEntity<>(HttpStatus.NOT_FOUND); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -100,6 +117,7 @@ public ResponseEntity> listRoutes(@RequestParam(defaultValue = "0") Page routes = routeService.getAllRoutes(PageRequest.of(page, size)); return new ResponseEntity<>(routes, HttpStatus.OK); } catch (Exception e) { + log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java index 8678aaf..bb0439f 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java @@ -8,11 +8,13 @@ import org.springframework.data.couchbase.repository.Scope; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Repository; import com.couchbase.client.java.query.QueryScanConsistency; @Scope("inventory") @Collection("airline") +@Repository @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) public interface AirlineRepository extends CouchbaseRepository { diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java index 19ba94c..2f4f2e7 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java @@ -8,11 +8,13 @@ import org.springframework.data.couchbase.repository.Scope; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Repository; import com.couchbase.client.java.query.QueryScanConsistency; @Scope("inventory") @Collection("airport") +@Repository @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) public interface AirportRepository extends CouchbaseRepository { diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java index f0971fe..d27c241 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java @@ -9,11 +9,13 @@ import org.springframework.data.couchbase.repository.Scope; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Repository; import com.couchbase.client.java.query.QueryScanConsistency; @Scope("inventory") @Collection("route") +@Repository @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) public interface RouteRepository extends CouchbaseRepository, DynamicProxyable { diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java index 45c174e..3607ff5 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirlineService.java @@ -5,7 +5,6 @@ import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.repository.AirlineRepository; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -13,7 +12,7 @@ @Service public class AirlineService { - private AirlineRepository airlineRepository; + private final AirlineRepository airlineRepository; public AirlineService(AirlineRepository airlineRepository) { this.airlineRepository = airlineRepository; diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java index 68d9d94..995458d 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java @@ -11,7 +11,7 @@ @Service public class AirportService { - private AirportRepository airportRepository; + private final AirportRepository airportRepository; public AirportService(AirportRepository airportRepository) { this.airportRepository = airportRepository; diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java b/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java index 8f6b897..38fee30 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/RouteService.java @@ -11,7 +11,7 @@ @Service public class RouteService { - private RouteRepository routeRepository; + private final RouteRepository routeRepository; public RouteService(RouteRepository routeRepository) { this.routeRepository = routeRepository; From 722adb258581d6e01fb550f5155c3b6d5eadfb96 Mon Sep 17 00:00:00 2001 From: teetangh Date: Sun, 7 Jan 2024 20:24:46 +0530 Subject: [PATCH 09/41] Add direct connections API endpoint and update repository --- .../springdata/controller/AirportController.java | 13 +++++++++---- .../springdata/repository/AirportRepository.java | 5 +++-- .../springdata/services/AirportService.java | 3 ++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java index 6d73149..433fa13 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -3,14 +3,17 @@ import java.util.Optional; import javax.validation.Valid; +import java.util.stream.Collectors; import org.couchbase.quickstart.springdata.models.Airport; import org.couchbase.quickstart.springdata.services.AirportService; +import org.couchbase.quickstart.springdata.models.Route; import org.springframework.dao.DataRetrievalFailureException; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; + import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -123,13 +126,15 @@ public ResponseEntity> listAirports(@RequestParam(defaultValue = " } @GetMapping("/direct-connections") - public ResponseEntity> listDirectConnections( - @RequestParam String airport, + public ResponseEntity> listDirectConnections( + @RequestParam String airportCode, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { try { - Page airports = airportService.getDirectConnections(airport, PageRequest.of(page, size)); - return new ResponseEntity<>(airports, HttpStatus.OK); + Page airports = airportService.getDirectConnections(airportCode, PageRequest.of(page, size)); + Page directConnections = airports.map(Route::getDestinationAirport); + return new ResponseEntity<>(directConnections, HttpStatus.OK); + } catch (Exception e) { log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java index 2f4f2e7..4019213 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java @@ -1,6 +1,7 @@ package org.couchbase.quickstart.springdata.repository; import org.couchbase.quickstart.springdata.models.Airport; +import org.couchbase.quickstart.springdata.models.Route; import org.springframework.data.couchbase.repository.Collection; import org.springframework.data.couchbase.repository.CouchbaseRepository; import org.springframework.data.couchbase.repository.Query; @@ -21,10 +22,10 @@ public interface AirportRepository extends CouchbaseRepository @Query("#{#n1ql.selectEntity}") Page findAll(Pageable pageable); - @Query("SELECT DISTINCT META(airport).id AS __id,airport.* " + + @Query("SELECT DISTINCT META(route).id as __id,route.* " + "FROM airport as airport " + "JOIN route as route ON airport.faa = route.sourceairport " + "WHERE airport.faa = $1 AND route.stops = 0") - Page getDirectConnections(String targetAirportCode, Pageable pageable); + Page getDirectConnections(String targetAirportCode, Pageable pageable); } \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java index 995458d..a00482c 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java +++ b/src/main/java/org/couchbase/quickstart/springdata/services/AirportService.java @@ -3,6 +3,7 @@ import java.util.Optional; import org.couchbase.quickstart.springdata.models.Airport; +import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.repository.AirportRepository; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -42,7 +43,7 @@ public Airport updateAirport(String id, Airport airport) { return airportRepository.save(airport); } - public Page getDirectConnections(String id, Pageable pageable) { + public Page getDirectConnections(String id, Pageable pageable) { return airportRepository.getDirectConnections(id, pageable); } From 91a64f641231670a62442a2db1e348b221e890ab Mon Sep 17 00:00:00 2001 From: teetangh Date: Sun, 7 Jan 2024 20:25:23 +0530 Subject: [PATCH 10/41] Remove unused variable in CouchbaseConfiguration.java --- .../quickstart/springdata/config/CouchbaseConfiguration.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java b/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java index 7495a1e..31fcd30 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java +++ b/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java @@ -28,8 +28,6 @@ public class CouchbaseConfiguration extends AbstractCouchbaseConfiguration { @Value("${spring.couchbase.bucket.name}") private String bucket; - @Value("${spring.couchbase.scope.name}") - private String scope; @Override public String getConnectionString() { From 108a39df34f2e0ff16e66c229304aced746017b3 Mon Sep 17 00:00:00 2001 From: teetangh Date: Sun, 7 Jan 2024 20:27:32 +0530 Subject: [PATCH 11/41] Refactor Application class with Spring Data and Swagger documentation --- .../quickstart/springdata/Application.java | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/couchbase/quickstart/springdata/Application.java b/src/main/java/org/couchbase/quickstart/springdata/Application.java index f378a33..103adf5 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/Application.java +++ b/src/main/java/org/couchbase/quickstart/springdata/Application.java @@ -1,23 +1,39 @@ package org.couchbase.quickstart.springdata; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.web.filter.ForwardedHeaderFilter; +import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.info.Info; +import lombok.extern.slf4j.Slf4j; + /** * This example application demonstrates using * Spring Data with Couchbase. **/ -@SpringBootApplication -public class Application { - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } +@Slf4j +@SpringBootApplication(exclude = SecurityAutoConfiguration.class, proxyBeanMethods = false) +@OpenAPIDefinition(info = @Info(title = "Quickstart in Couchbase with Spring Data", version = "2.0", description = "

A quickstart API using Java and Spring Data with Couchbase and travel-sample data

We have a visual representation of the API documentation using Swagger which allows you to interact with the API's endpoints directly through the browser. It provides a clear view of the API including endpoints, HTTP methods, request parameters, and response objects.

Click on an individual endpoint to expand it and see detailed information. This includes the endpoint's description, possible response status codes, and the request parameters it accepts.

Trying Out the API

You can try out an API by clicking on the \"Try it out\" button next to the endpoints.

  • Parameters: If an endpoint requires parameters, Swagger UI provides input boxes for you to fill in. This could include path parameters, query strings, headers, or the body of a POST/PUT request.
  • Execution: Once you've inputted all the necessary parameters, you can click the \"Execute\" button to make a live API call. Swagger UI will send the request to the API and display the response directly in the documentation. This includes the response code, response headers, and response body.

Models

Swagger documents the structure of request and response bodies using models. These models define the expected data structure using JSON schema and are extremely helpful in understanding what data to send and expect.

For details on the API, please check the tutorial on the Couchbase Developer Portal: https://developer.couchbase.com/tutorial-quickstart-java-spring-boot

")) +public class Application implements CommandLineRunner { + + @Override + public void run(String... args) throws Exception { + log.info("Application started successfully"); + } + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + + @Bean + ForwardedHeaderFilter forwardedHeaderFilter() { + return new ForwardedHeaderFilter(); + } + - @Bean - ForwardedHeaderFilter forwardedHeaderFilter() { - return new ForwardedHeaderFilter(); - } } From 557638ae5baeeab5f8d96e040b520522a0700076 Mon Sep 17 00:00:00 2001 From: teetangh Date: Sun, 7 Jan 2024 20:40:08 +0530 Subject: [PATCH 12/41] Delete unused classes and update application.properties --- .../springdata/config/DBSetupRunner.java | 55 ------------------- .../quickstart/springdata/config/Swagger.java | 21 ------- src/main/resources/application.properties | 4 +- 3 files changed, 1 insertion(+), 79 deletions(-) delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/config/Swagger.java diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java b/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java deleted file mode 100644 index 4095d72..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/config/DBSetupRunner.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.couchbase.quickstart.springdata.config; - -import java.util.Optional; - -import org.couchbase.quickstart.springdata.models.Airline; -import org.couchbase.quickstart.springdata.models.Airport; -import org.couchbase.quickstart.springdata.models.Route; -import org.couchbase.quickstart.springdata.repository.AirlineRepository; -import org.couchbase.quickstart.springdata.repository.AirportRepository; -import org.couchbase.quickstart.springdata.repository.RouteRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.CommandLineRunner; -import org.springframework.stereotype.Component; - -@Component -public class DBSetupRunner implements CommandLineRunner { - - @Autowired - private AirlineRepository airlineRepository; - - @Autowired - private AirportRepository airportRepository; - - @Autowired - private RouteRepository routeRepository; - - @Override - public void run(String... strings) throws Exception { - Optional airline = airlineRepository.findById("airline_10"); - if (airline.isPresent()) { - System.out.println("got airline_10: " + airline.get()); - } else { - System.out.println("airline_10 not found"); - } - - Optional airport = airportRepository.findById("airport_1254"); - if (airport.isPresent()) { - System.out.println("got airport_1254: " + airport.get()); - } else { - System.out.println("airport_1254 not found"); - } - - Optional route = routeRepository.findById("route_10000"); - if (route.isPresent()) { - System.out.println("got route_10000: " + route.get()); - } else { - System.out.println("route_10000 not found"); - } - try { - } catch (Exception e) { - e.printStackTrace(); - } - } - -} \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/Swagger.java b/src/main/java/org/couchbase/quickstart/springdata/config/Swagger.java deleted file mode 100644 index 8064f93..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/config/Swagger.java +++ /dev/null @@ -1,21 +0,0 @@ -// package org.couchbase.quickstart.springdata.config; - -// import org.springframework.context.annotation.Bean; -// import org.springframework.context.annotation.Configuration; - -// import springfox.documentation.builders.PathSelectors; -// import springfox.documentation.builders.RequestHandlerSelectors; -// import springfox.documentation.spi.DocumentationType; -// import springfox.documentation.spring.web.plugins.Docket; - -// @Configuration -// public class Swagger { -// @Bean -// public Docket api() { -// return new Docket(DocumentationType.SWAGGER_2) -// .select() -// .apis(RequestHandlerSelectors.basePackage("org.couchbase.quickstart.controllers")) -// .paths(PathSelectors.any()) -// .build(); -// } -// } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index c249e0b..7f698f0 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -5,7 +5,5 @@ spring.couchbase.bucket.name=travel-sample spring.couchbase.bucket.user=kaustav spring.couchbase.bucket.password=password spring.couchbase.scope.name=inventory -spring.mvc.pathmatch.matching-strategy=ant_path_matcher - - +spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER From d203c1b77fa97e183f292d897f304edf596d17a9 Mon Sep 17 00:00:00 2001 From: teetangh Date: Mon, 8 Jan 2024 13:58:43 +0530 Subject: [PATCH 13/41] Overridden Cluster connect method --- .../springdata/config/CouchbaseConfiguration.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java b/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java index 31fcd30..26c179f 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java +++ b/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java @@ -9,6 +9,7 @@ import com.couchbase.client.core.msg.kv.DurabilityLevel; import com.couchbase.client.java.Bucket; import com.couchbase.client.java.Cluster; +import com.couchbase.client.java.env.ClusterEnvironment; import com.couchbase.client.java.manager.bucket.BucketSettings; import com.couchbase.client.java.manager.bucket.BucketType; @@ -81,4 +82,10 @@ public Bucket getCouchbaseBucket(Cluster cluster){ } return cluster.bucket(getBucketName()); } + + @Override + @Bean(destroyMethod = "disconnect") + public Cluster couchbaseCluster(ClusterEnvironment couchbaseClusterEnvironment) { + return Cluster.connect(getConnectionString(),getUserName(),getPassword()); + } } \ No newline at end of file From b9a4e544deb883c5ef10efb795bb8219d0d29b5c Mon Sep 17 00:00:00 2001 From: teetangh Date: Tue, 9 Jan 2024 14:41:21 +0530 Subject: [PATCH 14/41] Add .iml and target/ to .gitignore, handle exceptions in test setup and teardown --- .gitignore | 3 + .../controllers/AirlineIntegrationTest.java | 134 ++++-- .../controllers/AirportIntegrationTest.java | 43 +- .../controllers/RouteIntegrationTest.java | 412 ++++++++++-------- 4 files changed, 369 insertions(+), 223 deletions(-) diff --git a/.gitignore b/.gitignore index 2692eda..ff5af65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ +*.iml + .gradle build/ +target/ out/ .vscode/ diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index 471d636..507891a 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -4,6 +4,7 @@ import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.models.RestResponsePage; +import org.couchbase.quickstart.springdata.services.AirlineService; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -12,10 +13,13 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.core.ParameterizedTypeReference; +import org.springframework.dao.DataRetrievalFailureException; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import com.couchbase.client.core.error.DocumentNotFoundException; + @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class AirlineIntegrationTest { @@ -25,18 +29,45 @@ class AirlineIntegrationTest { @Autowired private TestRestTemplate restTemplate; + @Autowired + private AirlineService airlineService; + @BeforeEach void setUp() { - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create"); - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update"); - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete"); + try { + if (airlineService.getAirlineById("airline_create").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create"); + } + if (airlineService.getAirlineById("airline_update").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update"); + } + if (airlineService.getAirlineById("airline_delete").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete"); + } + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + System.out.println("Document not found during setup"); + } catch (Exception e) { + System.out.println("Error deleting test data during setup"); + } } @AfterEach void tearDown() { - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create"); - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update"); - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete"); + try { + if (airlineService.getAirlineById("airline_create").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create"); + } + if (airlineService.getAirlineById("airline_update").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update"); + } + if (airlineService.getAirlineById("airline_delete").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete"); + } + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + System.out.println("Document not found during teardown"); + } catch (Exception e) { + System.out.println("Error deleting test data during teardown"); + } } @Test @@ -130,11 +161,11 @@ void testDeleteAirline() { @Test void testListAirlines() { ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null, - new ParameterizedTypeReference>() { - }); + "http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null, + new ParameterizedTypeReference>() { + }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - + RestResponsePage airlines = response.getBody(); assertThat(airlines).isNotNull(); assertThat(airlines.getSize()).isEqualTo(10); @@ -142,21 +173,22 @@ void testListAirlines() { @Test void testListAirlinesByCountry() { - // Check that if it contains - // airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United - // States"} - String country = "United States"; - ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/country/" + country, - HttpMethod.GET, null, new ParameterizedTypeReference>() { - }); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + // Check that if it contains + // airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United + // States"} + String country = "United States"; + ResponseEntity> response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airline/country/" + country, + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); RestResponsePage airlines = response.getBody(); - Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst().orElse(null); + assert airlines != null; + Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst().orElse(null); assertThat(airline).isNotNull(); - Airline expectedAirline = Airline.builder() + Airline expectedAirline = Airline.builder() .id("airline_10226") .type("airline") .name("Atifly") @@ -165,10 +197,10 @@ void testListAirlinesByCountry() { .callsign("atifly") .country("United States") .build(); - assertThat(airline).isEqualTo(expectedAirline); + assertThat(airline).isEqualTo(expectedAirline); - // {"id":1191,"type":"airline","name":"Air - // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} + // {"id":1191,"type":"airline","name":"Air + // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} country = "France"; ResponseEntity> response2 = restTemplate.exchange( @@ -178,9 +210,10 @@ void testListAirlinesByCountry() { assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); RestResponsePage airlines2 = response2.getBody(); - Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst().orElse(null); + assert airlines2 != null; + Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst().orElse(null); - Airline expectedAirline2 = Airline.builder() + Airline expectedAirline2 = Airline.builder() .id("airline_1191") .type("airline") .name("Air Austral") @@ -189,11 +222,58 @@ void testListAirlinesByCountry() { .callsign("REUNION") .country("France") .build(); - assertThat(airline2).isEqualTo(expectedAirline2); + assertThat(airline2).isEqualTo(expectedAirline2); } // @Test // void testListAirlinesByDestinationAirport() { + // // Check that if it contains + // // + // airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United + // // States"} + // String destinationAirport = "LAX"; + // ResponseEntity> response = restTemplate.exchange( + // "http://localhost:" + port + "/api/v1/airline/destinationAirport/" + + // destinationAirport, + // HttpMethod.GET, null, new + // ParameterizedTypeReference>() { + // }); + // assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + // RestResponsePage airlines = response.getBody(); + // assert airlines != null; + // Airline airline = airlines.stream().filter(a -> + // a.getId().equals("airline_10226")).findFirst() + // .orElse(null); + // assertThat(airline).isNotNull(); + + // Airline expectedAirline = + // Airline.builder().id("airline_10226").type("airline").name("Atifly") + // .iata("A1").icao("A1F").callsign("atifly").country("United States").build(); + // assertThat(airline).isEqualTo(expectedAirline); + + // // {"id":1191,"type":"airline","name":"Air + // // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} + + // destinationAirport = "LAX"; + // ResponseEntity> response2 = restTemplate.exchange( + // "http://localhost:" + port + "/api/v1/airline/destinationAirport/" + + // destinationAirport, + // HttpMethod.GET, null, new + // ParameterizedTypeReference>() { + // }); + // assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); + + // RestResponsePage airlines2 = response2.getBody(); + // assert airlines2 != null; + // Airline airline2 = airlines2.stream().filter(a -> + // a.getId().equals("airline_1191")).findFirst() + // .orElse(null); + + // Airline expectedAirline2 = + // Airline.builder().id("airline_1191").type("airline").name("Air Austral") + // .iata("UU").icao("REU").callsign("REUNION").country("France").build(); + // assertThat(airline2).isEqualTo(expectedAirline2); // } } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index 57e1c0f..f8d01d8 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -5,6 +5,7 @@ import org.couchbase.quickstart.springdata.models.Airport; import org.couchbase.quickstart.springdata.models.Airport.Geo; import org.couchbase.quickstart.springdata.models.RestResponsePage; +import org.couchbase.quickstart.springdata.services.AirportService; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -13,10 +14,13 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.core.ParameterizedTypeReference; +import org.springframework.dao.DataRetrievalFailureException; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import com.couchbase.client.core.error.DocumentNotFoundException; + @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class AirportIntegrationTest { @@ -26,18 +30,45 @@ class AirportIntegrationTest { @Autowired private TestRestTemplate restTemplate; + @Autowired + private AirportService airportService; + @BeforeEach void setUp() { - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create"); - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update"); - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete"); + try { + if (airportService.getAirportById("airport_create").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create"); + } + if (airportService.getAirportById("airport_update").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update"); + } + if (airportService.getAirportById("airport_delete").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete"); + } + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + System.out.println("Document not found during setup"); + } catch (Exception e) { + System.out.println("Error deleting test data during setup"); + } } @AfterEach void tearDown() { - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create"); - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update"); - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete"); + try { + if (airportService.getAirportById("airport_create").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create"); + } + if (airportService.getAirportById("airport_update").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update"); + } + if (airportService.getAirportById("airport_delete").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete"); + } + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + System.out.println("Document not found during setup"); + } catch (Exception e) { + System.out.println("Error deleting test data during setup"); + } } @Test diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index 759c66c..4749162 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -6,6 +6,7 @@ import org.couchbase.quickstart.springdata.models.RestResponsePage; import org.couchbase.quickstart.springdata.models.Route; +import org.couchbase.quickstart.springdata.services.RouteService; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -14,10 +15,13 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.core.ParameterizedTypeReference; +import org.springframework.dao.DataRetrievalFailureException; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import com.couchbase.client.core.error.DocumentNotFoundException; + @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class RouteIntegrationTest { @@ -27,222 +31,250 @@ class RouteIntegrationTest { @Autowired private TestRestTemplate restTemplate; + @Autowired + private RouteService routeService; + @BeforeEach void setUp() { - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_create"); - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_update"); - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_delete"); + try { + if (routeService.getRouteById("route_create").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_create"); + } + if (routeService.getRouteById("route_update").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_update"); + } + if (routeService.getRouteById("route_delete").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_delete"); + } + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + System.out.println("Document not found during setup"); + } catch (Exception e) { + System.out.println("Error deleting test data during setup"); + } } @AfterEach void tearDown() { - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_create"); - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_update"); - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_delete"); + try { + if (routeService.getRouteById("route_create").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_create"); + } + if (routeService.getRouteById("route_update").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_update"); + } + if (routeService.getRouteById("route_delete").isPresent()) { + restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_delete"); + } + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { + System.out.println("Document not found during setup"); + } catch (Exception e) { + System.out.println("Error deleting test data during setup"); + } } @Test void testGetRoute() throws Exception { - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/route_10000", Route.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Route route = response.getBody(); - assert route != null; - - Route expectedRoute = Route.builder() - .id("route_10000") - .type("route") - .airline("AF") - .airlineId("airline_137") - .sourceAirport("TLV") - .destinationAirport("MRS") - .stops(0) - .equipment("320") - .schedule(Arrays.asList( - new Route.Schedule(0, "AF198", "10:13:00"), - new Route.Schedule(0, "AF547", "19:14:00"), - new Route.Schedule(0, "AF943", "01:31:00"), - new Route.Schedule(1, "AF356", "12:40:00"), - new Route.Schedule(1, "AF480", "08:58:00"), - new Route.Schedule(1, "AF250", "12:59:00"), - new Route.Schedule(1, "AF130", "04:45:00"), - new Route.Schedule(2, "AF997", "00:31:00"), - new Route.Schedule(2, "AF223", "19:41:00"), - new Route.Schedule(2, "AF890", "15:14:00"), - new Route.Schedule(2, "AF399", "00:30:00"), - new Route.Schedule(2, "AF328", "16:18:00"), - new Route.Schedule(3, "AF074", "23:50:00"), - new Route.Schedule(3, "AF556", "11:33:00"), - new Route.Schedule(4, "AF064", "13:23:00"), - new Route.Schedule(4, "AF596", "12:09:00"), - new Route.Schedule(4, "AF818", "08:02:00"), - new Route.Schedule(5, "AF967", "11:33:00"), - new Route.Schedule(5, "AF730", "19:42:00"), - new Route.Schedule(6, "AF882", "17:07:00"), - new Route.Schedule(6, "AF485", "17:03:00"), - new Route.Schedule(6, "AF898", "10:01:00"), - new Route.Schedule(6, "AF496", "07:00:00"))) - .distance(2881.617376098415) - .build(); - assertThat(route).isEqualTo(expectedRoute); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/route_10000", Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Route route = response.getBody(); + assert route != null; + + Route expectedRoute = Route.builder() + .id("route_10000") + .type("route") + .airline("AF") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("MRS") + .stops(0) + .equipment("320") + .schedule(Arrays.asList( + new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(0, "AF547", "19:14:00"), + new Route.Schedule(0, "AF943", "01:31:00"), + new Route.Schedule(1, "AF356", "12:40:00"), + new Route.Schedule(1, "AF480", "08:58:00"), + new Route.Schedule(1, "AF250", "12:59:00"), + new Route.Schedule(1, "AF130", "04:45:00"), + new Route.Schedule(2, "AF997", "00:31:00"), + new Route.Schedule(2, "AF223", "19:41:00"), + new Route.Schedule(2, "AF890", "15:14:00"), + new Route.Schedule(2, "AF399", "00:30:00"), + new Route.Schedule(2, "AF328", "16:18:00"), + new Route.Schedule(3, "AF074", "23:50:00"), + new Route.Schedule(3, "AF556", "11:33:00"), + new Route.Schedule(4, "AF064", "13:23:00"), + new Route.Schedule(4, "AF596", "12:09:00"), + new Route.Schedule(4, "AF818", "08:02:00"), + new Route.Schedule(5, "AF967", "11:33:00"), + new Route.Schedule(5, "AF730", "19:42:00"), + new Route.Schedule(6, "AF882", "17:07:00"), + new Route.Schedule(6, "AF485", "17:03:00"), + new Route.Schedule(6, "AF898", "10:01:00"), + new Route.Schedule(6, "AF496", "07:00:00"))) + .distance(2881.617376098415) + .build(); + assertThat(route).isEqualTo(expectedRoute); } @Test void testCreateRoute() throws Exception { - Route route = Route.builder() - .id("route_create") - .type("route") - .airline("AF") - .airlineId("airline_137") - .sourceAirport("TLV") - .destinationAirport("MRS") - .stops(0) - .equipment("320") - .schedule(Arrays.asList( - new Route.Schedule(0, "AF198", "10:13:00"), - new Route.Schedule(0, "AF547", "19:14:00"), - new Route.Schedule(0, "AF943", "01:31:00"), - new Route.Schedule(1, "AF356", "12:40:00"), - new Route.Schedule(1, "AF480", "08:58:00"), - new Route.Schedule(1, "AF250", "12:59:00"), - new Route.Schedule(1, "AF130", "04:45:00"), - new Route.Schedule(2, "AF997", "00:31:00"), - new Route.Schedule(2, "AF223", "19:41:00"), - new Route.Schedule(2, "AF890", "15:14:00"), - new Route.Schedule(2, "AF399", "00:30:00"), - new Route.Schedule(2, "AF328", "16:18:00"), - new Route.Schedule(3, "AF074", "23:50:00"), - new Route.Schedule(3, "AF556", "11:33:00"), - new Route.Schedule(4, "AF064", "13:23:00"), - new Route.Schedule(4, "AF596", "12:09:00"), - new Route.Schedule(4, "AF818", "08:02:00"), - new Route.Schedule(5, "AF967", "11:33:00"), - new Route.Schedule(5, "AF730", "19:42:00"), - new Route.Schedule(6, "AF882", "17:07:00"), - new Route.Schedule(6, "AF485", "17:03:00"), - new Route.Schedule(6, "AF898", "10:01:00"), - new Route.Schedule(6, "AF496", "07:00:00"))) - .distance(2881.617376098415) - .build(); - ResponseEntity response = restTemplate - .postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, - Route.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); - Route createdRoute = response.getBody(); - assert createdRoute != null; - assertThat(createdRoute).isEqualTo(route); + Route route = Route.builder() + .id("route_create") + .type("route") + .airline("AF") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("MRS") + .stops(0) + .equipment("320") + .schedule(Arrays.asList( + new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(0, "AF547", "19:14:00"), + new Route.Schedule(0, "AF943", "01:31:00"), + new Route.Schedule(1, "AF356", "12:40:00"), + new Route.Schedule(1, "AF480", "08:58:00"), + new Route.Schedule(1, "AF250", "12:59:00"), + new Route.Schedule(1, "AF130", "04:45:00"), + new Route.Schedule(2, "AF997", "00:31:00"), + new Route.Schedule(2, "AF223", "19:41:00"), + new Route.Schedule(2, "AF890", "15:14:00"), + new Route.Schedule(2, "AF399", "00:30:00"), + new Route.Schedule(2, "AF328", "16:18:00"), + new Route.Schedule(3, "AF074", "23:50:00"), + new Route.Schedule(3, "AF556", "11:33:00"), + new Route.Schedule(4, "AF064", "13:23:00"), + new Route.Schedule(4, "AF596", "12:09:00"), + new Route.Schedule(4, "AF818", "08:02:00"), + new Route.Schedule(5, "AF967", "11:33:00"), + new Route.Schedule(5, "AF730", "19:42:00"), + new Route.Schedule(6, "AF882", "17:07:00"), + new Route.Schedule(6, "AF485", "17:03:00"), + new Route.Schedule(6, "AF898", "10:01:00"), + new Route.Schedule(6, "AF496", "07:00:00"))) + .distance(2881.617376098415) + .build(); + ResponseEntity response = restTemplate + .postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); + Route createdRoute = response.getBody(); + assert createdRoute != null; + assertThat(createdRoute).isEqualTo(route); } @Test void testUpdateRoute() throws Exception { - Route route = Route.builder() - .id("route_update") - .type("route") - .airline("AF") - .airlineId("airline_137") - .sourceAirport("TLV") - .destinationAirport("MRS") - .stops(0) - .equipment("320") - .schedule(Arrays.asList( - new Route.Schedule(0, "AF198", "10:13:00"), - new Route.Schedule(0, "AF547", "19:14:00"), - new Route.Schedule(0, "AF943", "01:31:00"), - new Route.Schedule(1, "AF356", "12:40:00"), - new Route.Schedule(1, "AF480", "08:58:00"), - new Route.Schedule(1, "AF250", "12:59:00"), - new Route.Schedule(1, "AF130", "04:45:00"), - new Route.Schedule(2, "AF997", "00:31:00"), - new Route.Schedule(2, "AF223", "19:41:00"), - new Route.Schedule(2, "AF890", "15:14:00"), - new Route.Schedule(2, "AF399", "00:30:00"), - new Route.Schedule(2, "AF328", "16:18:00"), - new Route.Schedule(3, "AF074", "23:50:00"), - new Route.Schedule(3, "AF556", "11:33:00"), - new Route.Schedule(4, "AF064", "13:23:00"), - new Route.Schedule(4, "AF596", "12:09:00"), - new Route.Schedule(4, "AF818", "08:02:00"), - new Route.Schedule(5, "AF967", "11:33:00"), - new Route.Schedule(5, "AF730", "19:42:00"), - new Route.Schedule(6, "AF882", "17:07:00"), - new Route.Schedule(6, "AF485", "17:03:00"), - new Route.Schedule(6, "AF898", "10:01:00"), - new Route.Schedule(6, "AF496", "07:00:00"))) - .distance(2881.617376098415) - .build(); - - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, - Route.class); - restTemplate.put("http://localhost:" + port + "/api/v1/route/" + route.getId(), route); - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), - Route.class); - - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - Route updatedRoute = response.getBody(); - assert updatedRoute != null; - assertThat(updatedRoute).isEqualTo(route); + Route route = Route.builder() + .id("route_update") + .type("route") + .airline("AF") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("MRS") + .stops(0) + .equipment("320") + .schedule(Arrays.asList( + new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(0, "AF547", "19:14:00"), + new Route.Schedule(0, "AF943", "01:31:00"), + new Route.Schedule(1, "AF356", "12:40:00"), + new Route.Schedule(1, "AF480", "08:58:00"), + new Route.Schedule(1, "AF250", "12:59:00"), + new Route.Schedule(1, "AF130", "04:45:00"), + new Route.Schedule(2, "AF997", "00:31:00"), + new Route.Schedule(2, "AF223", "19:41:00"), + new Route.Schedule(2, "AF890", "15:14:00"), + new Route.Schedule(2, "AF399", "00:30:00"), + new Route.Schedule(2, "AF328", "16:18:00"), + new Route.Schedule(3, "AF074", "23:50:00"), + new Route.Schedule(3, "AF556", "11:33:00"), + new Route.Schedule(4, "AF064", "13:23:00"), + new Route.Schedule(4, "AF596", "12:09:00"), + new Route.Schedule(4, "AF818", "08:02:00"), + new Route.Schedule(5, "AF967", "11:33:00"), + new Route.Schedule(5, "AF730", "19:42:00"), + new Route.Schedule(6, "AF882", "17:07:00"), + new Route.Schedule(6, "AF485", "17:03:00"), + new Route.Schedule(6, "AF898", "10:01:00"), + new Route.Schedule(6, "AF496", "07:00:00"))) + .distance(2881.617376098415) + .build(); + + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + Route.class); + restTemplate.put("http://localhost:" + port + "/api/v1/route/" + route.getId(), route); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), + Route.class); + + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + Route updatedRoute = response.getBody(); + assert updatedRoute != null; + assertThat(updatedRoute).isEqualTo(route); } @Test void testDeleteRoute() throws Exception { - Route route = Route.builder() - .id("route_delete") - .type("route") - .airline("AF") - .airlineId("airline_137") - .sourceAirport("TLV") - .destinationAirport("MRS") - .stops(0) - .equipment("320") - .schedule(Arrays.asList( - new Route.Schedule(0, "AF198", "10:13:00"), - new Route.Schedule(0, "AF547", "19:14:00"), - new Route.Schedule(0, "AF943", "01:31:00"), - new Route.Schedule(1, "AF356", "12:40:00"), - new Route.Schedule(1, "AF480", "08:58:00"), - new Route.Schedule(1, "AF250", "12:59:00"), - new Route.Schedule(1, "AF130", "04:45:00"), - new Route.Schedule(2, "AF997", "00:31:00"), - new Route.Schedule(2, "AF223", "19:41:00"), - new Route.Schedule(2, "AF890", "15:14:00"), - new Route.Schedule(2, "AF399", "00:30:00"), - new Route.Schedule(2, "AF328", "16:18:00"), - new Route.Schedule(3, "AF074", "23:50:00"), - new Route.Schedule(3, "AF556", "11:33:00"), - new Route.Schedule(4, "AF064", "13:23:00"), - new Route.Schedule(4, "AF596", "12:09:00"), - new Route.Schedule(4, "AF818", "08:02:00"), - new Route.Schedule(5, "AF967", "11:33:00"), - new Route.Schedule(5, "AF730", "19:42:00"), - new Route.Schedule(6, "AF882", "17:07:00"), - new Route.Schedule(6, "AF485", "17:03:00"), - new Route.Schedule(6, "AF898", "10:01:00"), - new Route.Schedule(6, "AF496", "07:00:00"))) - .distance(2881.617376098415) - .build(); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, - Route.class); - restTemplate.delete("http://localhost:" + port + "/api/v1/route/" + route.getId()); - ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), - Route.class); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); + Route route = Route.builder() + .id("route_delete") + .type("route") + .airline("AF") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("MRS") + .stops(0) + .equipment("320") + .schedule(Arrays.asList( + new Route.Schedule(0, "AF198", "10:13:00"), + new Route.Schedule(0, "AF547", "19:14:00"), + new Route.Schedule(0, "AF943", "01:31:00"), + new Route.Schedule(1, "AF356", "12:40:00"), + new Route.Schedule(1, "AF480", "08:58:00"), + new Route.Schedule(1, "AF250", "12:59:00"), + new Route.Schedule(1, "AF130", "04:45:00"), + new Route.Schedule(2, "AF997", "00:31:00"), + new Route.Schedule(2, "AF223", "19:41:00"), + new Route.Schedule(2, "AF890", "15:14:00"), + new Route.Schedule(2, "AF399", "00:30:00"), + new Route.Schedule(2, "AF328", "16:18:00"), + new Route.Schedule(3, "AF074", "23:50:00"), + new Route.Schedule(3, "AF556", "11:33:00"), + new Route.Schedule(4, "AF064", "13:23:00"), + new Route.Schedule(4, "AF596", "12:09:00"), + new Route.Schedule(4, "AF818", "08:02:00"), + new Route.Schedule(5, "AF967", "11:33:00"), + new Route.Schedule(5, "AF730", "19:42:00"), + new Route.Schedule(6, "AF882", "17:07:00"), + new Route.Schedule(6, "AF485", "17:03:00"), + new Route.Schedule(6, "AF898", "10:01:00"), + new Route.Schedule(6, "AF496", "07:00:00"))) + .distance(2881.617376098415) + .build(); + restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + Route.class); + restTemplate.delete("http://localhost:" + port + "/api/v1/route/" + route.getId()); + ResponseEntity response = restTemplate + .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), + Route.class); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); } - @Test - void testListRoutes() { - ResponseEntity> response = restTemplate.exchange("http://localhost:" + port + "/api/v1/route/list", - HttpMethod.GET, null, new ParameterizedTypeReference>() { - }); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - - RestResponsePage routes = response.getBody(); - assertThat(routes).isNotNull(); - assertThat(routes).hasSize(10); - } + @Test + void testListRoutes() { + ResponseEntity> response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/route/list", + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + RestResponsePage routes = response.getBody(); + assertThat(routes).isNotNull(); + assertThat(routes).hasSize(10); + } } \ No newline at end of file From a4f9116fafca165ae3b647ed088c12456ef95b69 Mon Sep 17 00:00:00 2001 From: teetangh Date: Tue, 9 Jan 2024 15:47:01 +0530 Subject: [PATCH 15/41] Add summary annotations to list routes and list airports APIs --- .../controller/AirportController.java | 6 +- .../controller/RouteController.java | 1 + .../controllers/AirlineIntegrationTest.java | 135 +++++++++--------- .../controllers/AirportIntegrationTest.java | 37 +++-- 4 files changed, 105 insertions(+), 74 deletions(-) diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java index 433fa13..d2252cb 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -113,6 +113,7 @@ public ResponseEntity deleteAirport(@PathVariable String id) { } } + @Operation(summary = "List all airports") @GetMapping("/list") public ResponseEntity> listAirports(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { @@ -125,9 +126,10 @@ public ResponseEntity> listAirports(@RequestParam(defaultValue = " } } - @GetMapping("/direct-connections") + @Operation(summary = "List of direct connections to an airport") + @GetMapping("/direct-connections/{airportCode}") public ResponseEntity> listDirectConnections( - @RequestParam String airportCode, + @PathVariable String airportCode, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { try { diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java index f3018a5..37e6555 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java @@ -110,6 +110,7 @@ public ResponseEntity deleteRoute(@PathVariable String id) { } } + @Operation(summary = "List all routes") @GetMapping("/list") public ResponseEntity> listRoutes(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index 507891a..36715c1 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -183,10 +183,12 @@ void testListAirlinesByCountry() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - RestResponsePage airlines = response.getBody(); - assert airlines != null; - Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst().orElse(null); - assertThat(airline).isNotNull(); + RestResponsePage airlines = response.getBody(); + assert airlines != null; + + Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_10226")).findFirst() + .orElse(null); + assertThat(airline).isNotNull(); Airline expectedAirline = Airline.builder() .id("airline_10226") @@ -202,16 +204,17 @@ void testListAirlinesByCountry() { // {"id":1191,"type":"airline","name":"Air // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} - country = "France"; - ResponseEntity> response2 = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/country/" + country, - HttpMethod.GET, null, new ParameterizedTypeReference>() { - }); - assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); - - RestResponsePage airlines2 = response2.getBody(); - assert airlines2 != null; - Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst().orElse(null); + country = "France"; + ResponseEntity> response2 = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airline/country/" + country, + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); + + RestResponsePage airlines2 = response2.getBody(); + assert airlines2 != null; + Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_1191")).findFirst() + .orElse(null); Airline expectedAirline2 = Airline.builder() .id("airline_1191") @@ -226,54 +229,58 @@ void testListAirlinesByCountry() { } - // @Test - // void testListAirlinesByDestinationAirport() { - // // Check that if it contains - // // - // airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United - // // States"} - // String destinationAirport = "LAX"; - // ResponseEntity> response = restTemplate.exchange( - // "http://localhost:" + port + "/api/v1/airline/destinationAirport/" + - // destinationAirport, - // HttpMethod.GET, null, new - // ParameterizedTypeReference>() { - // }); - // assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - - // RestResponsePage airlines = response.getBody(); - // assert airlines != null; - // Airline airline = airlines.stream().filter(a -> - // a.getId().equals("airline_10226")).findFirst() - // .orElse(null); - // assertThat(airline).isNotNull(); - - // Airline expectedAirline = - // Airline.builder().id("airline_10226").type("airline").name("Atifly") - // .iata("A1").icao("A1F").callsign("atifly").country("United States").build(); - // assertThat(airline).isEqualTo(expectedAirline); - - // // {"id":1191,"type":"airline","name":"Air - // // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} - - // destinationAirport = "LAX"; - // ResponseEntity> response2 = restTemplate.exchange( - // "http://localhost:" + port + "/api/v1/airline/destinationAirport/" + - // destinationAirport, - // HttpMethod.GET, null, new - // ParameterizedTypeReference>() { - // }); - // assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); - - // RestResponsePage airlines2 = response2.getBody(); - // assert airlines2 != null; - // Airline airline2 = airlines2.stream().filter(a -> - // a.getId().equals("airline_1191")).findFirst() - // .orElse(null); - - // Airline expectedAirline2 = - // Airline.builder().id("airline_1191").type("airline").name("Air Austral") - // .iata("UU").icao("REU").callsign("REUNION").country("France").build(); - // assertThat(airline2).isEqualTo(expectedAirline2); - // } + @Test + void testListAirlinesByDestinationAirport() { + + String airport = "LAX"; + ResponseEntity> response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airline/destination/" + airport, + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + RestResponsePage airlines = response.getBody(); + assert airlines != null; + Airline airline = airlines.stream().filter(a -> a.getId().equals("airline_3029")).findFirst() + .orElse(null); + assertThat(airline).isNotNull(); + + Airline expectedAirline = Airline.builder() + .id("airline_3029") + .type("airline") + .name("JetBlue Airways") + .iata("B6") + .icao("JBU") + .callsign("JETBLUE") + .country("United States") + .build(); + assertThat(airline).isEqualTo(expectedAirline); + + airport = "CDG"; + ResponseEntity> response2 = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airline/destination/" + airport, + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + + assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); + RestResponsePage airlines2 = response2.getBody(); + + assert airlines2 != null; + + Airline airline2 = airlines2.stream().filter(a -> a.getId().equals("airline_137")).findFirst() + .orElse(null); + + Airline expectedAirline2 = Airline.builder() + .id("airline_137") + .type("airline") + .name("Air France") + .iata("AF") + .icao("AFR") + .callsign("AIRFRANS") + .country("France") + .build(); + + assertThat(airline2).isEqualTo(expectedAirline2); + + } } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index f8d01d8..0cf97b0 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -146,12 +146,33 @@ void testListAirports() { assertThat(airports).hasSize(10); } - // Uncomment this test and modify it similarly if you want to include it - // @Test - // void testListDirectConnections() { - // ResponseEntity response = restTemplate.getForEntity("http://localhost:" - // + port + "/api/v1/airport/direct-connections?airportCode=test", List.class); - // assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - // // Add more assertions as needed - // } + @Test + void testListDirectConnections() { + String airportCode = "LAX"; + ResponseEntity> response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airport/direct-connections/" + airportCode, + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + RestResponsePage directConnections = response.getBody(); + + assertThat(directConnections).isNotNull().hasSize(10); + assertThat(directConnections).contains("NRT", "CUN", "GDL", "HMO", "MEX", "MZT", "PVR", "SJD", "ZIH", + "ZLO"); + + airportCode = "JFK"; + response = restTemplate.exchange( + "http://localhost:" + port + "/api/v1/airport/direct-connections/" + airportCode, + HttpMethod.GET, null, new ParameterizedTypeReference>() { + }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + + directConnections = response.getBody(); + + assertThat(directConnections).isNotNull().hasSize(10); + assertThat(directConnections).contains("DEL", "LHR", "EZE", "ATL", "CUN", "MEX", "EZE", "LAX", "SAN", + "SEA"); + + } } From 8df40d0a353d7e012fa843f9f0450bc9ec9fe234 Mon Sep 17 00:00:00 2001 From: teetangh Date: Tue, 9 Jan 2024 15:53:49 +0530 Subject: [PATCH 16/41] Remove unused healthcheck,index and profile --- .../controller/HealthCheckController.java | 26 -- .../controller/IndexController.java | 19 -- .../controller/ProfileController.java | 87 ------- .../quickstart/springdata/models/Profile.java | 26 -- .../repository/ProfileRepository.java | 21 -- .../HealthCheckIntegrationTest.java | 29 --- .../UserProfileIntegrationTest.java | 232 ------------------ 7 files changed, 440 deletions(-) delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/controller/HealthCheckController.java delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/controller/IndexController.java delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/models/Profile.java delete mode 100644 src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java delete mode 100644 src/test/java/org/couchbase/quickstart/healthCheck/HealthCheckIntegrationTest.java delete mode 100644 src/test/java/org/couchbase/quickstart/userProfile/UserProfileIntegrationTest.java diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/HealthCheckController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/HealthCheckController.java deleted file mode 100644 index 6871aa8..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/HealthCheckController.java +++ /dev/null @@ -1,26 +0,0 @@ -// package org.couchbase.quickstart.springdata.controller; - -// import org.springframework.http.MediaType; -// import org.springframework.web.bind.annotation.GetMapping; -// import org.springframework.web.bind.annotation.RequestMapping; -// import org.springframework.web.bind.annotation.RestController; - -// import io.swagger.annotations.ApiOperation; -// import io.swagger.annotations.ApiResponse; -// import io.swagger.annotations.ApiResponses; - -// @RestController -// @RequestMapping("/api/v1") -// public class HealthCheckController { - -// @GetMapping(path = "/health", produces = MediaType.APPLICATION_JSON_VALUE) -// @ApiOperation(value = "Get Service Health", produces = MediaType.APPLICATION_JSON_VALUE) -// @ApiResponses( -// value = { -// @ApiResponse(code = 200, message = "OK"), -// @ApiResponse(code = 500, message = "Error occurred in checking service health", response = Error.class) -// }) -// public String getServiceHealthStatus() { -// return "{ \"serviceStatus\": \"Service is Up\" }"; -// } -// } diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/IndexController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/IndexController.java deleted file mode 100644 index 223cae3..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/IndexController.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.couchbase.quickstart.springdata.controller; - -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class IndexController { - @GetMapping("/") - public ResponseEntity index() { - // Redirecting to swagger-ui home page - HttpHeaders headers = new HttpHeaders(); - headers.add("Location", "/swagger-ui/index.html"); - return new ResponseEntity(headers, HttpStatus.FOUND); - } -} - diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java deleted file mode 100644 index 78b9e99..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/ProfileController.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.couchbase.quickstart.springdata.controller; - -import java.util.List; -import java.util.UUID; - -import javax.validation.Valid; - -import org.couchbase.quickstart.springdata.models.Profile; -import org.couchbase.quickstart.springdata.repository.ProfileRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.dao.DataRetrievalFailureException; -import org.springframework.data.domain.PageRequest; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class ProfileController { - private static final Logger LOGGER = LoggerFactory.getLogger(ProfileController.class); - @Autowired - private ProfileRepository profileRepository; - - @GetMapping("/profile") - public ResponseEntity> listProfiles( - @RequestParam(required = false) String query, - @RequestParam(defaultValue = "10") int pageSize, - @RequestParam(defaultValue = "0") int page - ) { - if (pageSize < 1 || pageSize > 10) pageSize = 10; - List result; - - if (query == null || query.length() != 0) { - // Couchbase repoitories support request pagination via PageRequest - PageRequest pageRequest = PageRequest.of(page, pageSize); - result = profileRepository.findAll(pageRequest).toList(); - } else { - // This is just a LIKE query. - // For full-text search documentation refer to: - // https://docs.couchbase.com/java-sdk/current/howtos/full-text-searching-with-sdk.html - result = profileRepository.findByText(query, page, pageSize); - } - - if (result != null && result.size() > 0) { - return ResponseEntity.ok(result); - } - - return ResponseEntity.noContent().build(); - } - - @GetMapping("/profile/{id}") - public ResponseEntity getProfileById(@PathVariable("id") UUID id) { - if (id == null) { - return ResponseEntity.status(400).build(); - } - Profile result = profileRepository.findById(id).orElse(null); - if (result == null) { - return ResponseEntity.notFound().build(); - } - return ResponseEntity.ok(result); - } - - @PostMapping("/profile") - public ResponseEntity saveProfile(@Valid @RequestBody Profile profile) { - // the same endpoint can be used to create and save the object - profile = profileRepository.save(profile); - return ResponseEntity.status(HttpStatus.CREATED).body(profile); - } - - @DeleteMapping("/profile/{id}") - public ResponseEntity deleteProfile(@PathVariable UUID id) { - try { - profileRepository.deleteById(id); - return ResponseEntity.noContent().build(); - } catch (DataRetrievalFailureException e) { - LOGGER.error("Document not found", e); - return ResponseEntity.notFound().build(); - } - } -} diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Profile.java b/src/main/java/org/couchbase/quickstart/springdata/models/Profile.java deleted file mode 100644 index c7ce256..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Profile.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.couchbase.quickstart.springdata.models; - -import java.util.UUID; - -import org.springframework.data.annotation.Id; -import org.springframework.data.couchbase.core.mapping.id.GeneratedValue; -import org.springframework.data.couchbase.repository.Collection; -import org.springframework.data.couchbase.repository.Scope; - -import lombok.Getter; -import lombok.Setter; - -@Scope("_default") -@Collection("profile") -@Getter -@Setter -public class Profile { - @Id - @GeneratedValue - private UUID id; - private String firstName; - private String lastName; - private Byte age; - private String address; - -} diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java deleted file mode 100644 index 3d6ed43..0000000 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/ProfileRepository.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.couchbase.quickstart.springdata.repository; - -import java.util.List; -import java.util.UUID; - -import org.couchbase.quickstart.springdata.models.Profile; -import org.springframework.data.couchbase.repository.Query; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.repository.PagingAndSortingRepository; -import org.springframework.stereotype.Repository; - - -@Repository -public interface ProfileRepository extends PagingAndSortingRepository { - // Repository method that executes a custom SQL++ query - @Query("#{#n1ql.selectEntity} WHERE firstName LIKE '%' || $1 || '%' OR lastName LIKE '%' || $1 || '%' OR address LIKE '%' || $1 || '%' OFFSET $2 * $3 LIMIT $3") - List findByText(String query, int pageNum, int pageSize); - - Page findByAge(byte age, Pageable pageable); -} diff --git a/src/test/java/org/couchbase/quickstart/healthCheck/HealthCheckIntegrationTest.java b/src/test/java/org/couchbase/quickstart/healthCheck/HealthCheckIntegrationTest.java deleted file mode 100644 index 606b5a9..0000000 --- a/src/test/java/org/couchbase/quickstart/healthCheck/HealthCheckIntegrationTest.java +++ /dev/null @@ -1,29 +0,0 @@ -//package org.couchbase.quickstart.healthCheck; -// -//import org.junit.Test; -//import org.junit.runner.RunWith; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient; -//import org.springframework.boot.test.context.SpringBootTest; -//import org.springframework.http.MediaType; -//import org.springframework.test.context.junit4.SpringRunner; -//import org.springframework.test.web.reactive.server.WebTestClient; -// -//@RunWith(SpringRunner.class) -//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -//@AutoConfigureWebTestClient -//public class HealthCheckIntegrationTest { -// -// @Autowired -// private WebTestClient webTestClient; -// -// @Test -// public void testHealthCheck() { -// this.webTestClient.get() -// .uri("/api/v1/health") -// .accept(MediaType.APPLICATION_JSON) -// .exchange() -// .expectStatus().isOk() -// .expectHeader().contentType(MediaType.APPLICATION_JSON); -// } -//} diff --git a/src/test/java/org/couchbase/quickstart/userProfile/UserProfileIntegrationTest.java b/src/test/java/org/couchbase/quickstart/userProfile/UserProfileIntegrationTest.java deleted file mode 100644 index 6d28c64..0000000 --- a/src/test/java/org/couchbase/quickstart/userProfile/UserProfileIntegrationTest.java +++ /dev/null @@ -1,232 +0,0 @@ -//package org.couchbase.quickstart.userProfile; -// -//import static org.junit.Assert.assertEquals; -//import static org.junit.Assert.assertNotEquals; -//import static org.junit.Assert.assertNotNull; -// -//import java.util.List; -//import java.util.UUID; -// -//import org.couchbase.quickstart.springdata.configs.CollectionNames; -//import org.couchbase.quickstart.springdata.configs.DBProperties; -//import org.couchbase.quickstart.springdata.models.Profile; -//import org.couchbase.quickstart.springdata.models.ProfileRequest; -//import org.hamcrest.MatcherAssert; -//import org.hamcrest.Matchers; -//import org.junit.After; -//import org.junit.Rule; -//import org.junit.Test; -//import org.junit.rules.ExpectedException; -//import org.junit.runner.RunWith; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient; -//import org.springframework.boot.test.context.SpringBootTest; -//import org.springframework.http.MediaType; -//import org.springframework.test.context.junit4.SpringRunner; -//import org.springframework.test.web.reactive.server.EntityExchangeResult; -//import org.springframework.test.web.reactive.server.WebTestClient; -//import org.springframework.test.web.reactive.server.WebTestClient.ResponseSpec; -//import org.springframework.web.reactive.function.BodyInserters; -// -//import com.couchbase.client.core.error.DocumentNotFoundException; -//import com.couchbase.client.java.Bucket; -//import com.couchbase.client.java.Cluster; -//import com.couchbase.client.java.json.JsonObject; -// -//@RunWith(SpringRunner.class) -//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -//@AutoConfigureWebTestClient -//public class UserProfileIntegrationTest { -// -// @Autowired -// private WebTestClient webTestClient; -// @Autowired -// private Cluster cluster; -// @Autowired -// private Bucket bucket; -// @Autowired -// private DBProperties prop; -// -// @Rule -// public ExpectedException exceptionRule = ExpectedException.none(); -// -// @After -// public void cleanDB() { -// cluster.query("DELETE FROM " + prop.getBucketName() + "._default.profile "); -// } -// -// @Test -// public void testUserProfileNotFound() { -// -// this.webTestClient.get() -// .uri("/api/v1/profile?limit=5&skip=0&searchFirstName=Bob") -// .accept(MediaType.APPLICATION_JSON) -// .exchange() -// .expectStatus().is4xxClientError() -// .expectHeader().contentType(MediaType.APPLICATION_JSON); -// } -// -// @Test -// public void testCreateUserProfile() { -// // test data -// ProfileRequest createTestProfile = getCreateTestProfile(); -// String json = getCreatedUserJson(createTestProfile); -// -// // run the post test -// EntityExchangeResult profileResult = this.webTestClient.post() -// .uri("/api/v1/profile/") -// .bodyValue(json) -// .accept(MediaType.APPLICATION_JSON) -// .header("Content-Type", "application/json; charset=utf-8") -// .exchange() -// .expectStatus().isCreated() -// .expectBody(Profile.class) -// .returnResult(); -// -// Profile result = bucket.collection(CollectionNames.PROFILE) -// .get(profileResult.getResponseBody().getPid()) -// .contentAs(Profile.class); -// -// assertEquals(result.getFirstName(), createTestProfile.getFirstName()); -// assertEquals(result.getLastName(), createTestProfile.getLastName()); -// assertEquals(result.getEmail(), createTestProfile.getEmail()); -// assertNotEquals(result.getPassword(), createTestProfile.getPassword()); -// assertNotNull(result.getPid()); -// } -// -// @Test -// public void testListUsersSuccess() { -// -// // test data -// Profile testProfile = getTestProfile(); -// bucket.collection(CollectionNames.PROFILE).insert(testProfile.getPid(), testProfile); -// -// EntityExchangeResult> profileListResult = this.webTestClient.get() -// .uri("/api/v1/profile/profiles/?limit=5&skip=0&search=Jam") -// .accept(MediaType.APPLICATION_JSON) -// .exchange() -// .expectStatus().isOk() -// .expectHeader().contentType(MediaType.APPLICATION_JSON) -// .expectBodyList(Profile.class) -// .returnResult(); -// -// MatcherAssert.assertThat(profileListResult.getResponseBody(), Matchers.hasSize(1)); -// Profile result = profileListResult.getResponseBody().get(0); -// System.out.println(result); -// assertEquals(result.getFirstName(), testProfile.getFirstName()); -// assertEquals(result.getLastName(), testProfile.getLastName()); -// assertEquals(result.getEmail(), testProfile.getEmail()); -// // TBD: encrypted password verify -// // assertTrue(BCrypt.checkpw(testProfile.getPassword(),result.getPassword())); -// assertNotNull(result.getPid()); -// } -// -// @Test -// public void testListUsersNoResult() { -// -// // test data -// Profile testProfile = getTestProfile(); -// bucket.collection(CollectionNames.PROFILE).insert(testProfile.getPid(), testProfile); -// -// EntityExchangeResult> profileListResult = this.webTestClient.get() -// .uri("/api/v1/profile/profiles/?limit=5&skip=0&search=Jack") -// .accept(MediaType.APPLICATION_JSON) -// .exchange() -// .expectStatus().isOk() -// .expectHeader().contentType(MediaType.APPLICATION_JSON) -// .expectBodyList(Profile.class) -// .returnResult(); -// -// MatcherAssert.assertThat(profileListResult.getResponseBody(), Matchers.hasSize(0)); -// } -// -// @Test -// public void testDeleteUserProfile() { -// -// exceptionRule.expect(DocumentNotFoundException.class); -// exceptionRule.expectMessage("Document with the given id not found"); -// -// // test data -// Profile testProfile = getTestProfile(); -// bucket.collection(CollectionNames.PROFILE).insert(testProfile.getPid(), testProfile); -// -// // delete the user -// this.webTestClient.delete() -// .uri(String.format("/api/v1/profile/%s", testProfile.getPid())) -// .accept(MediaType.APPLICATION_JSON) -// .header("Content-Type", "application/json; charset=utf-8") -// .exchange() -// .expectStatus().isOk(); -// -// bucket.collection(CollectionNames.PROFILE).get(testProfile.getPid()); -// } -// -// @Test -// public void testTransferCredits() { -// Profile sourceProfile = getTestProfile(), -// targetProfile = getTestProfile(); -// -// bucket.collection(CollectionNames.PROFILE).insert(sourceProfile.getPid(), sourceProfile); -// bucket.collection(CollectionNames.PROFILE).insert(targetProfile.getPid(), targetProfile); -// -// // transfer credits -// callTransferCredits(sourceProfile, targetProfile, 100) -// .expectStatus().isOk(); -// -// // attempt to transfer credits again -- should fail -// callTransferCredits(sourceProfile, targetProfile, 100) -// .expectStatus().is5xxServerError(); -// -// sourceProfile = bucket.collection(CollectionNames.PROFILE).get(sourceProfile.getPid()).contentAs(Profile.class); -// targetProfile = bucket.collection(CollectionNames.PROFILE).get(targetProfile.getPid()).contentAs(Profile.class); -// -// assertNotNull(sourceProfile); -// assertNotNull(targetProfile); -// -// assertEquals((Integer) 0, sourceProfile.getBalance()); -// assertEquals((Integer) 200, targetProfile.getBalance()); -// } -// -// private ResponseSpec callTransferCredits(Profile sourceProfile, Profile targetProfile, Integer amount) { -// return webTestClient.post() -// .uri("/api/v1/profile/transfer") -// // .contentType(MediaType.APPLICATION_FORM_URLENCODED) -// .body(BodyInserters -// .fromFormData("source", sourceProfile.getPid()) -// .with("target", targetProfile.getPid()) -// .with("amount", amount.toString())) -// // .header(HttpHeaders.CONTENT_TYPE, -// // MediaType.APPLICATION_FORM_URLENCODED_VALUE) -// .exchange(); -// } -// -// private String getCreatedUserJson(ProfileRequest profile) { -// // create json to post to integration test -// return JsonObject.create() -// .put("firstName", profile.getFirstName()) -// .put("lastName", profile.getLastName()) -// .put("email", profile.getEmail()) -// .put("password", profile.getPassword()) -// .put("balance", profile.getBalance()) -// .toString(); -// } -// -// private ProfileRequest getCreateTestProfile() { -// return new ProfileRequest( -// "James", -// "Gosling", -// "james.gosling@sun.com", -// "password", -// 100); -// } -// -// private Profile getTestProfile() { -// return new Profile( -// UUID.randomUUID().toString(), -// "James", -// "Gosling", -// "james.gosling@sun.com", -// "password", -// 100); -// } -//} From ec1c651046ce2dfb2de4fabf23c42af497706985 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 02:44:02 +0530 Subject: [PATCH 17/41] Docker finally working --- .cursorignore | 7 +++++++ Dockerfile | 31 +++++++++++++++++++++---------- build.gradle | 17 ++++++++++------- 3 files changed, 38 insertions(+), 17 deletions(-) create mode 100644 .cursorignore diff --git a/.cursorignore b/.cursorignore new file mode 100644 index 0000000..a48ddb0 --- /dev/null +++ b/.cursorignore @@ -0,0 +1,7 @@ +.gradle/ +.idea/ +build/ +target/ +.gitignore +.dockerignore +*.java \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index dfea2c1..b5f750b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,26 @@ -# NOT WORKING -FROM gradle:7.3.3-jdk11 AS build -COPY --chown=gradle:gradle . /home/gradle/src -WORKDIR /home/gradle/src -RUN gradle build --no-daemon +# Get latest java +FROM eclipse-temurin:17-jdk-jammy AS build -FROM openjdk:11-jre-slim +# Set the working directory +WORKDIR /app -EXPOSE 8080 +# Copy the build.gradle and settings.gradle files +COPY build.gradle . +COPY settings.gradle . +COPY gradlew . +COPY gradle ./gradle + +# Copy the src directory +COPY src ./src -RUN mkdir /app +# Build the application without running the tests and with stacktrace +RUN ./gradlew clean build -x test --stacktrace + +# Expose port 8080 +EXPOSE 8080 -COPY --from=build /home/gradle/src/build/libs/*.jar /app/java-springdata-quickstart.jar +# Run the application +ENTRYPOINT ["java","-jar","/app/build/libs/java-springdata-quickstart-0.0.1-SNAPSHOT.jar"] -ENTRYPOINT ["java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app/java-springdata-quickstart.jar"] +# docker build -t java-springdata-quickstart . +# docker run -d --name springdata-container -p 9440:8080 java-springdata-quickstart \ No newline at end of file diff --git a/build.gradle b/build.gradle index bf82376..1cdac2a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,22 +1,24 @@ plugins { - id 'org.springframework.boot' version '2.7.0' + id 'org.springframework.boot' version '2.7.18' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'org.couchbase.quickstart.springdata' version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' +sourceCompatibility = '11' +targetCompatibility = '11' archivesBaseName = 'java-springdata-quickstart' repositories { mavenCentral() } -// ext { -// swaggerVersion = "3.0.0" -// springWebVersion = "5.3.9" -// } +jar { + manifest { + attributes 'Main-Class': 'org.couchbase.quickstart.springdata.Application' + } +} dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-couchbase' @@ -27,7 +29,7 @@ dependencies { // lombok compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' - testCompileOnly 'org.projectlombok:lombok' + testCompileOnly 'org.projectlombok:lombok:' testAnnotationProcessor 'org.projectlombok:lombok' // swagger @@ -45,3 +47,4 @@ dependencies { tasks.named('test') { useJUnitPlatform() } + From bb27e97f616716a85666a74077bbacf9d8c6343b Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 12:37:17 +0530 Subject: [PATCH 18/41] Update GitHub Actions workflow and Couchbase configuration --- .github/workflows/tests.yaml | 89 ++++++++++++++++++++--- src/main/resources/application.properties | 2 +- 2 files changed, 79 insertions(+), 12 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index e0203c7..881e657 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -1,29 +1,96 @@ name: Tests + on: push: - workflow_dispatch: - schedule: - - cron: "0 0 * * 0" + branches: [main] + pull_request: + branches: [main] + schedule: + - cron: "0 */6 * * *" + jobs: run_tests: name: Run Tests runs-on: ubuntu-latest + strategy: + matrix: + java-version: ["8", "11", "17"] steps: - - uses: actions/checkout@v2 - - name: Set up JDK 17 - uses: actions/setup-java@v2 + - name: Update repositories + run: | + apt update || echo "apt-update failed" # && apt -y upgrade + + - name: Set up JDK ${{ matrix.java-version }} + uses: actions/setup-java@v4 with: - java-version: 17 - distribution: 'adopt' + java-version: ${{ matrix.java-version }} + distribution: "adopt" cache: gradle - - id: run + + - name: Checkout ${{ github.event.repository.name }} + uses: actions/checkout@v4 + + - name: Setup couchbase run: | - ./gradlew --no-daemon test + apt install -y iputils-ping || echo "apt-install failed" + ping -c 1 couchbase && ( + apt install -y socat + socat TCP-LISTEN:8091,fork TCP:couchbase:8091 & + socat TCP-LISTEN:8092,fork TCP:couchbase:8092 & + socat TCP-LISTEN:8093,fork TCP:couchbase:8093 & + socat TCP-LISTEN:8094,fork TCP:couchbase:8094 & + socat TCP-LISTEN:8095,fork TCP:couchbase:8095 & + socat TCP-LISTEN:8096,fork TCP:couchbase:8096 & + socat TCP-LISTEN:9140,fork TCP:couchbase:9140 & + socat TCP-LISTEN:11210,fork TCP:couchbase:11210 & + socat TCP-LISTEN:11211,fork TCP:couchbase:11211 & + socat TCP-LISTEN:11207,fork TCP:couchbase:11207 & + socat TCP-LISTEN:18091,fork TCP:couchbase:18091 & + socat TCP-LISTEN:18092,fork TCP:couchbase:18092 & + socat TCP-LISTEN:18093,fork TCP:couchbase:18093 & + socat TCP-LISTEN:18094,fork TCP:couchbase:18094 & + socat TCP-LISTEN:18095,fork TCP:couchbase:18095 & + socat TCP-LISTEN:18096,fork TCP:couchbase:18096 & + ) && echo "Initialized couchbase port forwarding" || echo "ping couchbase failed, not forwarding ports" + printf "Waiting for CB startup..." + wget -O /dev/null http://localhost:8091/ && echo "DONE" || (echo "FAIL" && panic) + curl -v -X POST http://localhost:8091/node/controller/setupServices -d 'services=kv%2Cn1ql%2Cindex' + curl -v -X POST http://localhost:8091/pools/default -d 'memoryQuota=256' -d 'indexMemoryQuota=256' + curl -u Administrator:password -v -X POST http://localhost:8091/settings/web -d 'password=password&username=Administrator&port=SAME' + curl -v -X POST http://localhost:8091/pools/default/buckets \ + -u Administrator:password \ + -d name=user_profile \ + -d bucketType=couchbase\ + -d ramQuotaMB=1024 \ + -d durabilityMinLevel=majorityAndPersistActive + curl -u Administrator:password -v -X POST http://localhost:8091/settings/indexes -d 'storageMode=memory_optimized' + curl -u Administrator:password -v -X GET http://localhost:8091/pools/default | jq '.' | grep hostname + curl -u Administrator:password -v -X POST http://localhost:8091/sampleBuckets/install -d '["travel-sample"]' + + - name: Run Gradle Tests + id: run + run: ./gradlew --no-daemon test + - name: Report Status if: always() uses: ravsamhq/notify-slack-action@v1 with: status: ${{ job.status }} - notify_when: 'failure' + notify_when: "failure" env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + + services: + couchbase: + image: public.ecr.aws/z2f7n8a1/couchbase-da-containers:couchbase-neo + options: >- + --health-cmd "wget -q -O - localhost:8091" + --health-interval 10s + --health-timeout 5s + --health-retries 10 + ports: + - 8091-8096 + - 9140 + - 11210-11211 + - 11207 + - 18091-18096 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7f698f0..4ad7197 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,7 +2,7 @@ server.use-forward-headers=true server.forward-headers-strategy=framework spring.couchbase.bootstrap-hosts=localhost spring.couchbase.bucket.name=travel-sample -spring.couchbase.bucket.user=kaustav +spring.couchbase.bucket.user=Administrator spring.couchbase.bucket.password=password spring.couchbase.scope.name=inventory spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER From ea4a31e2a6ce441a6476d2286e61d658f48ed435 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 12:47:42 +0530 Subject: [PATCH 19/41] Update GitHub Actions workflow to include JDK setup and cache configuration --- .github/workflows/tests.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 881e657..29e8fde 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -20,15 +20,15 @@ jobs: run: | apt update || echo "apt-update failed" # && apt -y upgrade + - name: Checkout ${{ github.event.repository.name }} + uses: actions/checkout@v4 + - name: Set up JDK ${{ matrix.java-version }} uses: actions/setup-java@v4 with: java-version: ${{ matrix.java-version }} distribution: "adopt" - cache: gradle - - - name: Checkout ${{ github.event.repository.name }} - uses: actions/checkout@v4 + cache: "gradle" - name: Setup couchbase run: | From 7709c4ece9a6e0bb93f0bcf6d6629480414ba4c3 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 12:55:01 +0530 Subject: [PATCH 20/41] Update package installation commands --- .github/workflows/tests.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 29e8fde..f8713fc 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -18,7 +18,7 @@ jobs: steps: - name: Update repositories run: | - apt update || echo "apt-update failed" # && apt -y upgrade + sudo apt update || echo "apt-update failed" # && apt -y upgrade - name: Checkout ${{ github.event.repository.name }} uses: actions/checkout@v4 @@ -32,9 +32,9 @@ jobs: - name: Setup couchbase run: | - apt install -y iputils-ping || echo "apt-install failed" + sudo apt install -y iputils-ping || echo "apt-install failed" ping -c 1 couchbase && ( - apt install -y socat + sudo apt install -y socat socat TCP-LISTEN:8091,fork TCP:couchbase:8091 & socat TCP-LISTEN:8092,fork TCP:couchbase:8092 & socat TCP-LISTEN:8093,fork TCP:couchbase:8093 & From d1c81905f82b957b9cf1b84afe860919014b14ed Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 15:51:07 +0530 Subject: [PATCH 21/41] Replace secrets in application.properties --- .github/workflows/tests.yaml | 54 ++--------------------- src/main/resources/application.properties | 6 +-- 2 files changed, 7 insertions(+), 53 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index f8713fc..25f627f 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -30,42 +30,11 @@ jobs: distribution: "adopt" cache: "gradle" - - name: Setup couchbase + - name: Replace secrets in application.properties run: | - sudo apt install -y iputils-ping || echo "apt-install failed" - ping -c 1 couchbase && ( - sudo apt install -y socat - socat TCP-LISTEN:8091,fork TCP:couchbase:8091 & - socat TCP-LISTEN:8092,fork TCP:couchbase:8092 & - socat TCP-LISTEN:8093,fork TCP:couchbase:8093 & - socat TCP-LISTEN:8094,fork TCP:couchbase:8094 & - socat TCP-LISTEN:8095,fork TCP:couchbase:8095 & - socat TCP-LISTEN:8096,fork TCP:couchbase:8096 & - socat TCP-LISTEN:9140,fork TCP:couchbase:9140 & - socat TCP-LISTEN:11210,fork TCP:couchbase:11210 & - socat TCP-LISTEN:11211,fork TCP:couchbase:11211 & - socat TCP-LISTEN:11207,fork TCP:couchbase:11207 & - socat TCP-LISTEN:18091,fork TCP:couchbase:18091 & - socat TCP-LISTEN:18092,fork TCP:couchbase:18092 & - socat TCP-LISTEN:18093,fork TCP:couchbase:18093 & - socat TCP-LISTEN:18094,fork TCP:couchbase:18094 & - socat TCP-LISTEN:18095,fork TCP:couchbase:18095 & - socat TCP-LISTEN:18096,fork TCP:couchbase:18096 & - ) && echo "Initialized couchbase port forwarding" || echo "ping couchbase failed, not forwarding ports" - printf "Waiting for CB startup..." - wget -O /dev/null http://localhost:8091/ && echo "DONE" || (echo "FAIL" && panic) - curl -v -X POST http://localhost:8091/node/controller/setupServices -d 'services=kv%2Cn1ql%2Cindex' - curl -v -X POST http://localhost:8091/pools/default -d 'memoryQuota=256' -d 'indexMemoryQuota=256' - curl -u Administrator:password -v -X POST http://localhost:8091/settings/web -d 'password=password&username=Administrator&port=SAME' - curl -v -X POST http://localhost:8091/pools/default/buckets \ - -u Administrator:password \ - -d name=user_profile \ - -d bucketType=couchbase\ - -d ramQuotaMB=1024 \ - -d durabilityMinLevel=majorityAndPersistActive - curl -u Administrator:password -v -X POST http://localhost:8091/settings/indexes -d 'storageMode=memory_optimized' - curl -u Administrator:password -v -X GET http://localhost:8091/pools/default | jq '.' | grep hostname - curl -u Administrator:password -v -X POST http://localhost:8091/sampleBuckets/install -d '["travel-sample"]' + sed -i "s/\${DB_CONN_STR}/${{ secrets.DB_CONN_STR }}/g" src/main/resources/application.properties + sed -i "s/\${DB_USERNAME}/${{ secrets.DB_USERNAME }}/g" src/main/resources/application.properties + sed -i "s/\${DB_PASSWORD}/${{ secrets.DB_PASSWORD }}/g" src/main/resources/application.properties - name: Run Gradle Tests id: run @@ -79,18 +48,3 @@ jobs: notify_when: "failure" env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - - services: - couchbase: - image: public.ecr.aws/z2f7n8a1/couchbase-da-containers:couchbase-neo - options: >- - --health-cmd "wget -q -O - localhost:8091" - --health-interval 10s - --health-timeout 5s - --health-retries 10 - ports: - - 8091-8096 - - 9140 - - 11210-11211 - - 11207 - - 18091-18096 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 4ad7197..fc490d1 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,9 +1,9 @@ server.use-forward-headers=true server.forward-headers-strategy=framework -spring.couchbase.bootstrap-hosts=localhost +spring.couchbase.bootstrap-hosts=${DB_CONN_STR} spring.couchbase.bucket.name=travel-sample -spring.couchbase.bucket.user=Administrator -spring.couchbase.bucket.password=password +spring.couchbase.bucket.user=${DB_USERNAME} +spring.couchbase.bucket.password=${DB_PASSWORD} spring.couchbase.scope.name=inventory spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER From 1a3ceaa4d05213cfa13c6eb25a953dbaba7b3ac8 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 16:12:51 +0530 Subject: [PATCH 22/41] Refactor integration tests to use dynamic base URI This commit refactors the integration tests in the `RouteIntegrationTest` and `AirlineIntegrationTest` classes to use a dynamic base URI based on the value of the `spring.couchbase.bootstrap-hosts` property. This allows the tests to run against different environments without modifying the code. --- .../controllers/AirlineIntegrationTest.java | 29 ++++++++++++---- .../controllers/AirportIntegrationTest.java | 34 ++++++++++++++----- .../controllers/RouteIntegrationTest.java | 31 +++++++++++++---- 3 files changed, 74 insertions(+), 20 deletions(-) diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index 36715c1..bcee195 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -26,6 +26,9 @@ class AirlineIntegrationTest { @Value("${local.server.port}") private int port; + @Value("${spring.couchbase.bootstrap-hosts}") + private String bootstrapHosts; + @Autowired private TestRestTemplate restTemplate; @@ -34,15 +37,22 @@ class AirlineIntegrationTest { @BeforeEach void setUp() { + String baseUri = ""; + if (bootstrapHosts.contains("localhost")) { + baseUri = "http://localhost:" + port; + } else { + baseUri = bootstrapHosts; + } + System.out.println("baseUri: " + baseUri); try { if (airlineService.getAirlineById("airline_create").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create"); + restTemplate.delete(baseUri + "/api/v1/airline/airline_create"); } if (airlineService.getAirlineById("airline_update").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update"); + restTemplate.delete(baseUri + "/api/v1/airline/airline_update"); } if (airlineService.getAirlineById("airline_delete").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete"); + restTemplate.delete(baseUri + "/api/v1/airline/airline_delete"); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { System.out.println("Document not found during setup"); @@ -53,15 +63,22 @@ void setUp() { @AfterEach void tearDown() { + String baseUri = ""; + if (bootstrapHosts.contains("localhost")) { + baseUri = "http://localhost:" + port; + } else { + baseUri = bootstrapHosts; + } + System.out.println("baseUri: " + baseUri); try { if (airlineService.getAirlineById("airline_create").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_create"); + restTemplate.delete(baseUri + "/api/v1/airline/airline_create"); } if (airlineService.getAirlineById("airline_update").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_update"); + restTemplate.delete(baseUri + "/api/v1/airline/airline_update"); } if (airlineService.getAirlineById("airline_delete").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/airline_delete"); + restTemplate.delete(baseUri + "/api/v1/airline/airline_delete"); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { System.out.println("Document not found during teardown"); diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index 0cf97b0..37f4536 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -27,6 +27,9 @@ class AirportIntegrationTest { @Value("${local.server.port}") private int port; + @Value("${spring.couchbase.bootstrap-hosts}") + private String bootstrapHosts; + @Autowired private TestRestTemplate restTemplate; @@ -35,34 +38,49 @@ class AirportIntegrationTest { @BeforeEach void setUp() { + + String baseUri = ""; + if (bootstrapHosts.contains("localhost")) { + baseUri = "http://localhost:" + port; + } else { + baseUri = bootstrapHosts; + } + try { - if (airportService.getAirportById("airport_create").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create"); + if (airportService.getAirportById("airport_create").isPresent()) { + restTemplate.delete(baseUri + "/api/v1/airport/airport_create"); } if (airportService.getAirportById("airport_update").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update"); + restTemplate.delete(baseUri + "/api/v1/airport/airport_update"); } if (airportService.getAirportById("airport_delete").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete"); + restTemplate.delete(baseUri + "/api/v1/airport/airport_delete"); } + } catch (DocumentNotFoundException | DataRetrievalFailureException e) { System.out.println("Document not found during setup"); } catch (Exception e) { - System.out.println("Error deleting test data during setup"); + System.out.println("Error creating test data during setup"); } } @AfterEach void tearDown() { + String baseUri = ""; + if (bootstrapHosts.contains("localhost")) { + baseUri = "http://localhost:" + port; + } else { + baseUri = bootstrapHosts; + } try { if (airportService.getAirportById("airport_create").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_create"); + restTemplate.delete(baseUri + "/api/v1/airport/airport_create"); } if (airportService.getAirportById("airport_update").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_update"); + restTemplate.delete(baseUri + "/api/v1/airport/airport_update"); } if (airportService.getAirportById("airport_delete").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/airport_delete"); + restTemplate.delete(baseUri + "/api/v1/airport/airport_delete"); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { System.out.println("Document not found during setup"); diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index 4749162..d9a7081 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -28,6 +28,9 @@ class RouteIntegrationTest { @Value("${local.server.port}") private int port; + @Value("${spring.couchbase.bootstrap-hosts}") + private String bootstrapHosts; + @Autowired private TestRestTemplate restTemplate; @@ -36,15 +39,23 @@ class RouteIntegrationTest { @BeforeEach void setUp() { + + String baseUri = ""; + if (bootstrapHosts.contains("localhost")) { + baseUri = "http://localhost:" + port; + } else { + baseUri = bootstrapHosts; + } + try { if (routeService.getRouteById("route_create").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_create"); + restTemplate.delete(baseUri + "/api/v1/route/route_create"); } if (routeService.getRouteById("route_update").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_update"); + restTemplate.delete(baseUri + "/api/v1/route/route_update"); } if (routeService.getRouteById("route_delete").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_delete"); + restTemplate.delete(baseUri + "/api/v1/route/route_delete"); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { System.out.println("Document not found during setup"); @@ -55,15 +66,23 @@ void setUp() { @AfterEach void tearDown() { + + String baseUri = ""; + if (bootstrapHosts.contains("localhost")) { + baseUri = "http://localhost:" + port; + } else { + baseUri = bootstrapHosts; + } + try { if (routeService.getRouteById("route_create").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_create"); + restTemplate.delete(baseUri + "/api/v1/route/route_create"); } if (routeService.getRouteById("route_update").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_update"); + restTemplate.delete(baseUri + "/api/v1/route/route_update"); } if (routeService.getRouteById("route_delete").isPresent()) { - restTemplate.delete("http://localhost:" + port + "/api/v1/route/route_delete"); + restTemplate.delete(baseUri + "/api/v1/route/route_delete"); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { System.out.println("Document not found during setup"); From 30a7790c3a34eb46ea1106caf5705a88cfbaa7e8 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 16:17:59 +0530 Subject: [PATCH 23/41] Update Gradle source and target compatibility to 1.8 --- .github/workflows/tests.yaml | 2 +- build.gradle | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 25f627f..8493cb8 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -38,7 +38,7 @@ jobs: - name: Run Gradle Tests id: run - run: ./gradlew --no-daemon test + run: ./gradlew test --stacktrace - name: Report Status if: always() diff --git a/build.gradle b/build.gradle index 1cdac2a..ec35aeb 100644 --- a/build.gradle +++ b/build.gradle @@ -6,8 +6,8 @@ plugins { group = 'org.couchbase.quickstart.springdata' version = '0.0.1-SNAPSHOT' -sourceCompatibility = '11' -targetCompatibility = '11' +sourceCompatibility = '1.8' +targetCompatibility = '1.8' archivesBaseName = 'java-springdata-quickstart' repositories { From 24568228b6b57d0cf1eba28252edc5524cc1b4a7 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 16:22:48 +0530 Subject: [PATCH 24/41] updated gradle commands --- .github/workflows/tests.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 8493cb8..5ea523d 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -38,7 +38,9 @@ jobs: - name: Run Gradle Tests id: run - run: ./gradlew test --stacktrace + run: | + chmod +x gradlew + ./gradlew clean test --info --stacktrace - name: Report Status if: always() From ce972bfbb93a9765865db611932eb61715c65bca Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 16:32:11 +0530 Subject: [PATCH 25/41] Update secrets in application.properties --- .github/workflows/tests.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 5ea523d..8cd1b0e 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -32,6 +32,9 @@ jobs: - name: Replace secrets in application.properties run: | + echo ${{ secrets.DB_CONN_STR }} + echo ${{ secrets.DB_USERNAME }} + echo ${{ secrets.DB_PASSWORD }} sed -i "s/\${DB_CONN_STR}/${{ secrets.DB_CONN_STR }}/g" src/main/resources/application.properties sed -i "s/\${DB_USERNAME}/${{ secrets.DB_USERNAME }}/g" src/main/resources/application.properties sed -i "s/\${DB_PASSWORD}/${{ secrets.DB_PASSWORD }}/g" src/main/resources/application.properties From 7bf04d45f98eb9817ed091f90ad8aff7a0734590 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 16:36:36 +0530 Subject: [PATCH 26/41] Update secrets in application.properties --- .github/workflows/tests.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 8cd1b0e..0432005 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -32,11 +32,8 @@ jobs: - name: Replace secrets in application.properties run: | - echo ${{ secrets.DB_CONN_STR }} - echo ${{ secrets.DB_USERNAME }} - echo ${{ secrets.DB_PASSWORD }} - sed -i "s/\${DB_CONN_STR}/${{ secrets.DB_CONN_STR }}/g" src/main/resources/application.properties - sed -i "s/\${DB_USERNAME}/${{ secrets.DB_USERNAME }}/g" src/main/resources/application.properties + sed -i "s/\${DB_CONN_STR}/${{ vars.DB_CONN_STR }}/g" src/main/resources/application.properties + sed -i "s/\${DB_USERNAME}/${{ vars.DB_USERNAME }}/g" src/main/resources/application.properties sed -i "s/\${DB_PASSWORD}/${{ secrets.DB_PASSWORD }}/g" src/main/resources/application.properties - name: Run Gradle Tests From 9deb19f5dd2c93ace331c67a656d017938b60ece Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 16:47:07 +0530 Subject: [PATCH 27/41] Update secrets in application.properties file --- .github/workflows/tests.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 0432005..562fafd 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -32,9 +32,10 @@ jobs: - name: Replace secrets in application.properties run: | - sed -i "s/\${DB_CONN_STR}/${{ vars.DB_CONN_STR }}/g" src/main/resources/application.properties - sed -i "s/\${DB_USERNAME}/${{ vars.DB_USERNAME }}/g" src/main/resources/application.properties - sed -i "s/\${DB_PASSWORD}/${{ secrets.DB_PASSWORD }}/g" src/main/resources/application.properties + sed -i "s#\\${DB_CONN_STR}#${{ vars.DB_CONN_STR }}#g" src/main/resources/application.properties + sed -i "s#\\${DB_USERNAME}#${{ vars.DB_USERNAME }}#g" src/main/resources/application.properties + sed -i "s#\\${DB_PASSWORD}#${{ secrets.DB_PASSWORD }}#g" src/main/resources/application.properties + shell: /usr/bin/bash -e {0} - name: Run Gradle Tests id: run From 2753a131a80e70b4cfd7ed4670fad7922f812432 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 16:50:49 +0530 Subject: [PATCH 28/41] update gradle secrets --- .github/workflows/tests.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 562fafd..7c8d9b5 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -32,9 +32,9 @@ jobs: - name: Replace secrets in application.properties run: | - sed -i "s#\\${DB_CONN_STR}#${{ vars.DB_CONN_STR }}#g" src/main/resources/application.properties - sed -i "s#\\${DB_USERNAME}#${{ vars.DB_USERNAME }}#g" src/main/resources/application.properties - sed -i "s#\\${DB_PASSWORD}#${{ secrets.DB_PASSWORD }}#g" src/main/resources/application.properties + sed -i "s#\\\$\\{DB_CONN_STR\\}#${{ vars.DB_CONN_STR }}#g" src/main/resources/application.properties + sed -i "s#\\\$\\{DB_USERNAME\\}#${{ vars.DB_USERNAME }}#g" src/main/resources/application.properties + sed -i "s#\\\$\\{DB_PASSWORD\\}#${{ secrets.DB_PASSWORD }}#g" src/main/resources/application.properties shell: /usr/bin/bash -e {0} - name: Run Gradle Tests From f8ec5a635d0933124122885259f376452c09dd64 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 10 Jan 2024 17:23:59 +0530 Subject: [PATCH 29/41] Update secrets in application.properties file --- .github/workflows/tests.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 7c8d9b5..87c0f99 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -29,12 +29,21 @@ jobs: java-version: ${{ matrix.java-version }} distribution: "adopt" cache: "gradle" - + - name: Replace secrets in application.properties run: | - sed -i "s#\\\$\\{DB_CONN_STR\\}#${{ vars.DB_CONN_STR }}#g" src/main/resources/application.properties - sed -i "s#\\\$\\{DB_USERNAME\\}#${{ vars.DB_USERNAME }}#g" src/main/resources/application.properties - sed -i "s#\\\$\\{DB_PASSWORD\\}#${{ secrets.DB_PASSWORD }}#g" src/main/resources/application.properties + # Get the secret values and escape special characters + escaped_conn_str=$(printf '%s\n' "${{ vars.DB_CONN_STR }}" | sed -e 's/[]\/$*.^[]/\\&/g') + escaped_username=$(printf '%s\n' "${{ vars.DB_USERNAME }}" | sed -e 's/[]\/$*.^[]/\\&/g') + escaped_secret_value=$(printf '%s\n' "${{ secrets.DB_PASSWORD }}" | sed -e 's/[]\/$*.^[]/\\&/g') + + # Replace placeholders in application.properties + sed -i "s/DB_CONN_STR/${escaped_conn_str}/g" ./src/main/resources/application.properties + sed -i "s/DB_USERNAME/${escaped_username}/g" ./src/main/resources/application.properties + sed -i "s/DB_PASSWORD/${escaped_secret_value}/g" ./src/main/resources/application.properties + + # Print the updated file for verification + cat ./src/main/resources/application.properties shell: /usr/bin/bash -e {0} - name: Run Gradle Tests From 8e90d87731673462590f515dceb13dec7ccc6804 Mon Sep 17 00:00:00 2001 From: Kaustav Ghosh Date: Wed, 10 Jan 2024 22:01:32 +0530 Subject: [PATCH 30/41] Refactor test setup and teardown methods --- .../controllers/AirlineIntegrationTest.java | 88 ++++++-------- .../controllers/AirportIntegrationTest.java | 87 ++++++------- .../controllers/RouteIntegrationTest.java | 114 ++++++------------ 3 files changed, 117 insertions(+), 172 deletions(-) diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index bcee195..5d1f19e 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -35,62 +35,52 @@ class AirlineIntegrationTest { @Autowired private AirlineService airlineService; - @BeforeEach - void setUp() { - String baseUri = ""; - if (bootstrapHosts.contains("localhost")) { - baseUri = "http://localhost:" + port; - } else { - baseUri = bootstrapHosts; - } - System.out.println("baseUri: " + baseUri); + private void deleteAirline(String baseUri, String airlineId) { try { - if (airlineService.getAirlineById("airline_create").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airline/airline_create"); - } - if (airlineService.getAirlineById("airline_update").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airline/airline_update"); - } - if (airlineService.getAirlineById("airline_delete").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airline/airline_delete"); + if (airlineService.getAirlineById(airlineId).isPresent()) { + restTemplate.delete(baseUri + "/api/v1/airline/" + airlineId); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found during setup"); + System.out.println("Document not found"); } catch (Exception e) { - System.out.println("Error deleting test data during setup"); + System.out.println("Error deleting test data"); } } - @AfterEach - void tearDown() { + private void deleteTestAirlineData(String baseUri) { + deleteAirline(baseUri, "airline_create"); + deleteAirline(baseUri, "airline_update"); + deleteAirline(baseUri, "airline_delete"); + } + + private String getBaseUri() { String baseUri = ""; if (bootstrapHosts.contains("localhost")) { baseUri = "http://localhost:" + port; } else { baseUri = bootstrapHosts; } + return baseUri; + } + + @BeforeEach + void setUp() { + String baseUri = getBaseUri(); System.out.println("baseUri: " + baseUri); - try { - if (airlineService.getAirlineById("airline_create").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airline/airline_create"); - } - if (airlineService.getAirlineById("airline_update").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airline/airline_update"); - } - if (airlineService.getAirlineById("airline_delete").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airline/airline_delete"); - } - } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found during teardown"); - } catch (Exception e) { - System.out.println("Error deleting test data during teardown"); - } + deleteTestAirlineData(baseUri); + } + + @AfterEach + void tearDown() { + String baseUri = getBaseUri(); + System.out.println("baseUri: " + baseUri); + deleteTestAirlineData(baseUri); } @Test void testGetAirline() { ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airline/airline_10", Airline.class); + .getForEntity("/api/v1/airline/airline_10", Airline.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); Airline airline = response.getBody(); assert airline != null; @@ -120,7 +110,7 @@ void testCreateAirline() { .country("United States") .build(); ResponseEntity response = restTemplate.postForEntity( - "http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, + "/api/v1/airline/" + airline.getId(), airline, Airline.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); Airline createdAirline = response.getBody(); @@ -140,11 +130,11 @@ void testUpdateAirline() { .callsign("TEST") .country("United States") .build(); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, + restTemplate.postForEntity("/api/v1/airline/" + airline.getId(), airline, Airline.class); - restTemplate.put("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline); + restTemplate.put("/api/v1/airline/" + airline.getId(), airline); ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), + .getForEntity("/api/v1/airline/" + airline.getId(), Airline.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -166,11 +156,11 @@ void testDeleteAirline() { .callsign("TEST") .country("United States") .build(); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airline/" + airline.getId(), airline, + restTemplate.postForEntity("/api/v1/airline/" + airline.getId(), airline, Airline.class); - restTemplate.delete("http://localhost:" + port + "/api/v1/airline/" + airlineIdToDelete); + restTemplate.delete("/api/v1/airline/" + airlineIdToDelete); ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airline/" + airlineIdToDelete, + .getForEntity("/api/v1/airline/" + airlineIdToDelete, Airline.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); } @@ -178,7 +168,7 @@ void testDeleteAirline() { @Test void testListAirlines() { ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/list", HttpMethod.GET, null, + "/api/v1/airline/list", HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -195,7 +185,7 @@ void testListAirlinesByCountry() { // States"} String country = "United States"; ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/country/" + country, + "/api/v1/airline/country/" + country, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -223,7 +213,7 @@ void testListAirlinesByCountry() { country = "France"; ResponseEntity> response2 = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/country/" + country, + "/api/v1/airline/country/" + country, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -251,7 +241,7 @@ void testListAirlinesByDestinationAirport() { String airport = "LAX"; ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/destination/" + airport, + "/api/v1/airline/destination/" + airport, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -275,7 +265,7 @@ void testListAirlinesByDestinationAirport() { airport = "CDG"; ResponseEntity> response2 = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airline/destination/" + airport, + "/api/v1/airline/destination/" + airport, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index 37f4536..09198fd 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -36,63 +36,52 @@ class AirportIntegrationTest { @Autowired private AirportService airportService; - @BeforeEach - void setUp() { - - String baseUri = ""; - if (bootstrapHosts.contains("localhost")) { - baseUri = "http://localhost:" + port; - } else { - baseUri = bootstrapHosts; - } - + private void deleteAirport(String baseUri, String airportId) { try { - if (airportService.getAirportById("airport_create").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airport/airport_create"); - } - if (airportService.getAirportById("airport_update").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airport/airport_update"); - } - if (airportService.getAirportById("airport_delete").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airport/airport_delete"); + if (airportService.getAirportById(airportId).isPresent()) { + restTemplate.delete(baseUri + "/api/v1/airport/" + airportId); } - } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found during setup"); + System.out.println("Document not found"); } catch (Exception e) { - System.out.println("Error creating test data during setup"); + System.out.println("Error deleting test data"); } } - @AfterEach - void tearDown() { + private void deleteTestAirportData(String baseUri) { + deleteAirport(baseUri, "airport_create"); + deleteAirport(baseUri, "airport_update"); + deleteAirport(baseUri, "airport_delete"); + } + + private String getBaseUri() { String baseUri = ""; if (bootstrapHosts.contains("localhost")) { baseUri = "http://localhost:" + port; } else { baseUri = bootstrapHosts; } - try { - if (airportService.getAirportById("airport_create").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airport/airport_create"); - } - if (airportService.getAirportById("airport_update").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airport/airport_update"); - } - if (airportService.getAirportById("airport_delete").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/airport/airport_delete"); - } - } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found during setup"); - } catch (Exception e) { - System.out.println("Error deleting test data during setup"); - } + return baseUri; + } + + @BeforeEach + void setUp() { + String baseUri = getBaseUri(); + System.out.println("baseUri: " + baseUri); + deleteTestAirportData(baseUri); + } + + @AfterEach + void tearDown() { + String baseUri = getBaseUri(); + System.out.println("baseUri: " + baseUri); + deleteTestAirportData(baseUri); } @Test void testGetAirport() { ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airport/airport_1254", + .getForEntity("/api/v1/airport/airport_1254", Airport.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); Airport airport = response.getBody(); @@ -110,7 +99,7 @@ void testCreateAirport() { .city("Test City").country("Test Country").faa("TST").icao("TEST") .tz("Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build(); ResponseEntity response = restTemplate.postForEntity( - "http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, + "/api/v1/airport/" + airport.getId(), airport, Airport.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); Airport createdAirport = response.getBody(); @@ -124,11 +113,11 @@ void testUpdateAirport() { .airportName("Updated Test Airport").city("Updated Test City") .country("Updated Test Country").faa("TST").icao("TEST") .tz("Updated Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build(); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, + restTemplate.postForEntity("/api/v1/airport/" + airport.getId(), airport, Airport.class); - restTemplate.put("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport); + restTemplate.put("/api/v1/airport/" + airport.getId(), airport); ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), + .getForEntity("/api/v1/airport/" + airport.getId(), Airport.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -142,11 +131,11 @@ void testDeleteAirport() { Airport airport = Airport.builder().id("airport_delete").type("airport").airportName("Test Airport") .city("Test City").country("Test Country").faa("TST").icao("TEST") .tz("Test Timezone").geo(new Geo(1.0, 2.0, 3.0)).build(); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), airport, + restTemplate.postForEntity("/api/v1/airport/" + airport.getId(), airport, Airport.class); - restTemplate.delete("http://localhost:" + port + "/api/v1/airport/" + airport.getId()); + restTemplate.delete("/api/v1/airport/" + airport.getId()); ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/airport/" + airport.getId(), + .getForEntity("/api/v1/airport/" + airport.getId(), Airport.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); } @@ -154,7 +143,7 @@ void testDeleteAirport() { @Test void testListAirports() { ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airport/list", HttpMethod.GET, null, + "/api/v1/airport/list", HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -168,7 +157,7 @@ void testListAirports() { void testListDirectConnections() { String airportCode = "LAX"; ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airport/direct-connections/" + airportCode, + "/api/v1/airport/direct-connections/" + airportCode, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -181,7 +170,7 @@ void testListDirectConnections() { airportCode = "JFK"; response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/airport/direct-connections/" + airportCode, + "/api/v1/airport/direct-connections/" + airportCode, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index d9a7081..2169042 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -37,64 +37,52 @@ class RouteIntegrationTest { @Autowired private RouteService routeService; - @BeforeEach - void setUp() { - - String baseUri = ""; - if (bootstrapHosts.contains("localhost")) { - baseUri = "http://localhost:" + port; - } else { - baseUri = bootstrapHosts; - } - + private void deleteRoute(String baseUri, String routeId) { try { - if (routeService.getRouteById("route_create").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/route/route_create"); - } - if (routeService.getRouteById("route_update").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/route/route_update"); - } - if (routeService.getRouteById("route_delete").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/route/route_delete"); + if (routeService.getRouteById(routeId).isPresent()) { + restTemplate.delete(baseUri + "/api/v1/route/" + routeId); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found during setup"); + System.out.println("Document not found"); } catch (Exception e) { - System.out.println("Error deleting test data during setup"); + System.out.println("Error deleting test data"); } } - @AfterEach - void tearDown() { + private void deleteTestRouteData(String baseUri) { + deleteRoute(baseUri, "route_create"); + deleteRoute(baseUri, "route_update"); + deleteRoute(baseUri, "route_delete"); + } + private String getBaseUri() { String baseUri = ""; if (bootstrapHosts.contains("localhost")) { baseUri = "http://localhost:" + port; } else { baseUri = bootstrapHosts; } + return baseUri; + } - try { - if (routeService.getRouteById("route_create").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/route/route_create"); - } - if (routeService.getRouteById("route_update").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/route/route_update"); - } - if (routeService.getRouteById("route_delete").isPresent()) { - restTemplate.delete(baseUri + "/api/v1/route/route_delete"); - } - } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found during setup"); - } catch (Exception e) { - System.out.println("Error deleting test data during setup"); - } + @BeforeEach + void setUp() { + String baseUri = getBaseUri(); + System.out.println("baseUri: " + baseUri); + deleteTestRouteData(baseUri); + } + + @AfterEach + void tearDown() { + String baseUri = getBaseUri(); + System.out.println("baseUri: " + baseUri); + deleteTestRouteData(baseUri); } @Test void testGetRoute() throws Exception { ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/route_10000", Route.class); + .getForEntity("/api/v1/route/route_10000", Route.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); Route route = response.getBody(); assert route != null; @@ -103,36 +91,14 @@ void testGetRoute() throws Exception { .id("route_10000") .type("route") .airline("AF") - .airlineId("airline_137") - .sourceAirport("TLV") - .destinationAirport("MRS") + .airlineId("airline_10") + .sourceAirport("SFO") + .destinationAirport("JFK") .stops(0) .equipment("320") .schedule(Arrays.asList( - new Route.Schedule(0, "AF198", "10:13:00"), - new Route.Schedule(0, "AF547", "19:14:00"), - new Route.Schedule(0, "AF943", "01:31:00"), - new Route.Schedule(1, "AF356", "12:40:00"), - new Route.Schedule(1, "AF480", "08:58:00"), - new Route.Schedule(1, "AF250", "12:59:00"), - new Route.Schedule(1, "AF130", "04:45:00"), - new Route.Schedule(2, "AF997", "00:31:00"), - new Route.Schedule(2, "AF223", "19:41:00"), - new Route.Schedule(2, "AF890", "15:14:00"), - new Route.Schedule(2, "AF399", "00:30:00"), - new Route.Schedule(2, "AF328", "16:18:00"), - new Route.Schedule(3, "AF074", "23:50:00"), - new Route.Schedule(3, "AF556", "11:33:00"), - new Route.Schedule(4, "AF064", "13:23:00"), - new Route.Schedule(4, "AF596", "12:09:00"), - new Route.Schedule(4, "AF818", "08:02:00"), - new Route.Schedule(5, "AF967", "11:33:00"), - new Route.Schedule(5, "AF730", "19:42:00"), - new Route.Schedule(6, "AF882", "17:07:00"), - new Route.Schedule(6, "AF485", "17:03:00"), - new Route.Schedule(6, "AF898", "10:01:00"), - new Route.Schedule(6, "AF496", "07:00:00"))) - .distance(2881.617376098415) + new Route.Schedule(0, "AF10", "10:05:00"))) + .distance(4151.79) .build(); assertThat(route).isEqualTo(expectedRoute); } @@ -176,7 +142,7 @@ void testCreateRoute() throws Exception { .distance(2881.617376098415) .build(); ResponseEntity response = restTemplate - .postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + .postForEntity("/api/v1/route/" + route.getId(), route, Route.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED); Route createdRoute = response.getBody(); @@ -223,11 +189,11 @@ void testUpdateRoute() throws Exception { .distance(2881.617376098415) .build(); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + restTemplate.postForEntity("/api/v1/route/" + route.getId(), route, Route.class); - restTemplate.put("http://localhost:" + port + "/api/v1/route/" + route.getId(), route); + restTemplate.put("/api/v1/route/" + route.getId(), route); ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), + .getForEntity("/api/v1/route/" + route.getId(), Route.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -274,11 +240,11 @@ void testDeleteRoute() throws Exception { new Route.Schedule(6, "AF496", "07:00:00"))) .distance(2881.617376098415) .build(); - restTemplate.postForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), route, + restTemplate.postForEntity("/api/v1/route/" + route.getId(), route, Route.class); - restTemplate.delete("http://localhost:" + port + "/api/v1/route/" + route.getId()); + restTemplate.delete("/api/v1/route/" + route.getId()); ResponseEntity response = restTemplate - .getForEntity("http://localhost:" + port + "/api/v1/route/" + route.getId(), + .getForEntity("/api/v1/route/" + route.getId(), Route.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); } @@ -286,13 +252,13 @@ void testDeleteRoute() throws Exception { @Test void testListRoutes() { ResponseEntity> response = restTemplate.exchange( - "http://localhost:" + port + "/api/v1/route/list", + "/api/v1/route/list", HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); RestResponsePage routes = response.getBody(); - assertThat(routes).isNotNull(); + assert routes != null; assertThat(routes).hasSize(10); } From ffc20facaf5f8ad5046b68e6b7a863a87b0c0ca5 Mon Sep 17 00:00:00 2001 From: Kaustav Ghosh Date: Wed, 10 Jan 2024 22:08:31 +0530 Subject: [PATCH 31/41] update github workflow yaml configuration and secrets --- .github/workflows/tests.yaml | 21 +++++++-------------- src/main/resources/application.properties | 9 ++++----- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 87c0f99..b610cac 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -29,22 +29,15 @@ jobs: java-version: ${{ matrix.java-version }} distribution: "adopt" cache: "gradle" - + - name: Replace secrets in application.properties run: | - # Get the secret values and escape special characters - escaped_conn_str=$(printf '%s\n' "${{ vars.DB_CONN_STR }}" | sed -e 's/[]\/$*.^[]/\\&/g') - escaped_username=$(printf '%s\n' "${{ vars.DB_USERNAME }}" | sed -e 's/[]\/$*.^[]/\\&/g') - escaped_secret_value=$(printf '%s\n' "${{ secrets.DB_PASSWORD }}" | sed -e 's/[]\/$*.^[]/\\&/g') - - # Replace placeholders in application.properties - sed -i "s/DB_CONN_STR/${escaped_conn_str}/g" ./src/main/resources/application.properties - sed -i "s/DB_USERNAME/${escaped_username}/g" ./src/main/resources/application.properties - sed -i "s/DB_PASSWORD/${escaped_secret_value}/g" ./src/main/resources/application.properties - - # Print the updated file for verification - cat ./src/main/resources/application.properties - shell: /usr/bin/bash -e {0} + sed -i "s#DB_CONN_STR#${{ vars.DB_CONN_STR }}#g" src/main/resources/application.properties + sed -i "s#DB_USER#${{ vars.DB_USERNAME }}#g" src/main/resources/application.properties + sed -i "s#DB_PASS#${{ secrets.DB_PASSWORD }}#g" src/main/resources/application.properties + + # Print the updated file for verification + cat ./src/main/resources/application.properties - name: Run Gradle Tests id: run diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index fc490d1..62c63db 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,9 +1,8 @@ server.use-forward-headers=true server.forward-headers-strategy=framework -spring.couchbase.bootstrap-hosts=${DB_CONN_STR} +spring.couchbase.bootstrap-hosts=DB_CONN_STR spring.couchbase.bucket.name=travel-sample -spring.couchbase.bucket.user=${DB_USERNAME} -spring.couchbase.bucket.password=${DB_PASSWORD} +spring.couchbase.bucket.user=DB_USERNAME +spring.couchbase.bucket.password=DB_PASSWORD spring.couchbase.scope.name=inventory -spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER - +spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER \ No newline at end of file From 7a5b4a611ae5c7022b0bf6fd7eee4cd455190e9e Mon Sep 17 00:00:00 2001 From: Kaustav Ghosh Date: Wed, 10 Jan 2024 22:13:41 +0530 Subject: [PATCH 32/41] Update secrets in application.properties --- .github/workflows/tests.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index b610cac..03118a5 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -33,8 +33,8 @@ jobs: - name: Replace secrets in application.properties run: | sed -i "s#DB_CONN_STR#${{ vars.DB_CONN_STR }}#g" src/main/resources/application.properties - sed -i "s#DB_USER#${{ vars.DB_USERNAME }}#g" src/main/resources/application.properties - sed -i "s#DB_PASS#${{ secrets.DB_PASSWORD }}#g" src/main/resources/application.properties + sed -i "s#DB_USERNAME#${{ vars.DB_USERNAME }}#g" src/main/resources/application.properties + sed -i "s#DB_PASSWORD#${{ secrets.DB_PASSWORD }}#g" src/main/resources/application.properties # Print the updated file for verification cat ./src/main/resources/application.properties From 40a1999ef4d4de78cce8a6b3a4f62df68f22b2d9 Mon Sep 17 00:00:00 2001 From: Kaustav Ghosh Date: Wed, 10 Jan 2024 22:28:45 +0530 Subject: [PATCH 33/41] Refactor test classes and add logging statements --- .../controllers/AirlineIntegrationTest.java | 12 +++++++----- .../controllers/AirportIntegrationTest.java | 13 ++++++++----- .../controllers/RouteIntegrationTest.java | 13 ++++++++----- 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index 5d1f19e..5d237d0 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -20,6 +20,9 @@ import com.couchbase.client.core.error.DocumentNotFoundException; +import lombok.extern.slf4j.Slf4j; + +@Slf4j @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class AirlineIntegrationTest { @@ -41,9 +44,9 @@ private void deleteAirline(String baseUri, String airlineId) { restTemplate.delete(baseUri + "/api/v1/airline/" + airlineId); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found"); + log.error("Document not found"); } catch (Exception e) { - System.out.println("Error deleting test data"); + log.error("Error deleting test data"); } } @@ -66,14 +69,14 @@ private String getBaseUri() { @BeforeEach void setUp() { String baseUri = getBaseUri(); - System.out.println("baseUri: " + baseUri); + log.info("baseUri: " + baseUri); deleteTestAirlineData(baseUri); } @AfterEach void tearDown() { String baseUri = getBaseUri(); - System.out.println("baseUri: " + baseUri); + log.info("baseUri: " + baseUri); deleteTestAirlineData(baseUri); } @@ -94,7 +97,6 @@ void testGetAirline() { .callsign("MILE-AIR") .country("United States") .build(); - System.out.println(airline.toString()); assertThat(airline).isEqualTo(expectedAirline); } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index 09198fd..916cf72 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -21,6 +21,9 @@ import com.couchbase.client.core.error.DocumentNotFoundException; +import lombok.extern.slf4j.Slf4j; + +@Slf4j @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class AirportIntegrationTest { @@ -42,9 +45,9 @@ private void deleteAirport(String baseUri, String airportId) { restTemplate.delete(baseUri + "/api/v1/airport/" + airportId); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found"); + log.error("Document not found"); } catch (Exception e) { - System.out.println("Error deleting test data"); + log.error("Error deleting test data"); } } @@ -67,14 +70,14 @@ private String getBaseUri() { @BeforeEach void setUp() { String baseUri = getBaseUri(); - System.out.println("baseUri: " + baseUri); + log.info("baseUri: " + baseUri); deleteTestAirportData(baseUri); } @AfterEach void tearDown() { String baseUri = getBaseUri(); - System.out.println("baseUri: " + baseUri); + log.info("baseUri: " + baseUri); deleteTestAirportData(baseUri); } @@ -89,7 +92,7 @@ void testGetAirport() { Airport expectedAirport = Airport.builder().id("airport_1254").type("airport") .airportName("Calais Dunkerque") .city("Calais").country("France").faa("CQF").icao("LFAC").tz("Europe/Paris") - .geo(new Geo(12.0, 50.962097, 1.954764)).build(); + .geo(new Geo(14.0, 50.962097, 1.954764)).build(); assertThat(airport).isEqualTo(expectedAirport); } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index 2169042..99233e7 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -22,6 +22,9 @@ import com.couchbase.client.core.error.DocumentNotFoundException; +import lombok.extern.slf4j.Slf4j; + +@Slf4j @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class RouteIntegrationTest { @@ -43,9 +46,9 @@ private void deleteRoute(String baseUri, String routeId) { restTemplate.delete(baseUri + "/api/v1/route/" + routeId); } } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - System.out.println("Document not found"); + log.error("Document not found"); } catch (Exception e) { - System.out.println("Error deleting test data"); + log.error("Error deleting test data"); } } @@ -68,14 +71,14 @@ private String getBaseUri() { @BeforeEach void setUp() { String baseUri = getBaseUri(); - System.out.println("baseUri: " + baseUri); + log.info("baseUri: " + baseUri); deleteTestRouteData(baseUri); } @AfterEach void tearDown() { String baseUri = getBaseUri(); - System.out.println("baseUri: " + baseUri); + log.info("baseUri: " + baseUri); deleteTestRouteData(baseUri); } @@ -89,7 +92,7 @@ void testGetRoute() throws Exception { Route expectedRoute = Route.builder() .id("route_10000") - .type("route") + .type("null") .airline("AF") .airlineId("airline_10") .sourceAirport("SFO") From f6cff34beddf536c54e3b15e6e1baab77eaf84a5 Mon Sep 17 00:00:00 2001 From: Kaustav Ghosh Date: Wed, 10 Jan 2024 23:37:31 +0530 Subject: [PATCH 34/41] Refactor model classes and update route integration test --- .../quickstart/springdata/models/Airline.java | 6 ++- .../quickstart/springdata/models/Airport.java | 2 - .../quickstart/springdata/models/Route.java | 2 + .../controllers/RouteIntegrationTest.java | 41 +++++++++++++++---- 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java b/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java index 1919e23..dc7cacd 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java @@ -4,11 +4,15 @@ import javax.validation.constraints.NotBlank; -import lombok.*; import org.springframework.data.annotation.Id; import org.springframework.data.couchbase.core.mapping.Document; import org.springframework.data.couchbase.core.mapping.Field; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + @Document @AllArgsConstructor @NoArgsConstructor diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java b/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java index c432c6c..2c91a60 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java @@ -14,9 +14,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; -import lombok.Getter; import lombok.NoArgsConstructor; -import lombok.Setter; @Document @AllArgsConstructor diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Route.java b/src/main/java/org/couchbase/quickstart/springdata/models/Route.java index e5c3a55..b4e313f 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Route.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Route.java @@ -7,6 +7,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import org.springframework.data.annotation.Id; import org.springframework.data.couchbase.core.mapping.Document; import org.springframework.data.couchbase.core.mapping.Field; @@ -22,6 +23,7 @@ @Builder public class Route implements Serializable { + @Id @NotBlank(message = "Id is mandatory") private String id; diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index 99233e7..6f5ba3e 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -3,6 +3,7 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.Arrays; +import java.util.List; import org.couchbase.quickstart.springdata.models.RestResponsePage; import org.couchbase.quickstart.springdata.models.Route; @@ -85,23 +86,45 @@ void tearDown() { @Test void testGetRoute() throws Exception { ResponseEntity response = restTemplate - .getForEntity("/api/v1/route/route_10000", Route.class); + .getForEntity("/api/v1/route/route_10001", Route.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); Route route = response.getBody(); assert route != null; - Route expectedRoute = Route.builder() - .id("route_10000") - .type("null") + .id("route_10001") + .type("route") .airline("AF") - .airlineId("airline_10") - .sourceAirport("SFO") - .destinationAirport("JFK") + .airlineId("airline_137") + .sourceAirport("TLV") + .destinationAirport("NCE") .stops(0) .equipment("320") .schedule(Arrays.asList( - new Route.Schedule(0, "AF10", "10:05:00"))) - .distance(4151.79) + new Route.Schedule(0, "AF248", "21:24:00"), + new Route.Schedule(1, "AF517", "13:36:00"), + new Route.Schedule(1, "AF279", "21:35:00"), + new Route.Schedule(1, "AF753", "00:54:00"), + new Route.Schedule(1, "AF079", "15:29:00"), + new Route.Schedule(1, "AF756", "06:16:00"), + new Route.Schedule(2, "AF499", "03:39:00"), + new Route.Schedule(2, "AF158", "08:49:00"), + new Route.Schedule(2, "AF337", "06:01:00"), + new Route.Schedule(2, "AF436", "11:48:00"), + new Route.Schedule(2, "AF660", "09:35:00"), + new Route.Schedule(3, "AF692", "12:55:00"), + new Route.Schedule(3, "AF815", "19:38:00"), + new Route.Schedule(3, "AF455", "12:33:00"), + new Route.Schedule(3, "AF926", "19:45:00"), + new Route.Schedule(4, "AF133", "10:36:00"), + new Route.Schedule(4, "AF999", "07:46:00"), + new Route.Schedule(4, "AF703", "15:42:00"), + new Route.Schedule(5, "AF656", "05:40:00"), + new Route.Schedule(6, "AF185", "16:21:00"), + new Route.Schedule(6, "AF110", "00:56:00"), + new Route.Schedule(6, "AF783", "06:07:00"), + new Route.Schedule(6, "AF108", "04:54:00"), + new Route.Schedule(6, "AF673", "12:07:00"))) + .distance(2735.2013399811754) .build(); assertThat(route).isEqualTo(expectedRoute); } From 3745a33663dd5ea07c1b40f128550c2d52b7ca27 Mon Sep 17 00:00:00 2001 From: teetangh Date: Thu, 11 Jan 2024 12:51:24 +0530 Subject: [PATCH 35/41] Add ResourceAccessException to catch block in integration tests --- .../springdata/controllers/AirlineIntegrationTest.java | 9 ++++----- .../springdata/controllers/AirportIntegrationTest.java | 9 ++++----- .../springdata/controllers/RouteIntegrationTest.java | 9 ++++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index 5d237d0..47500cd 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -17,6 +17,7 @@ import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.web.client.ResourceAccessException; import com.couchbase.client.core.error.DocumentNotFoundException; @@ -43,10 +44,10 @@ private void deleteAirline(String baseUri, String airlineId) { if (airlineService.getAirlineById(airlineId).isPresent()) { restTemplate.delete(baseUri + "/api/v1/airline/" + airlineId); } - } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - log.error("Document not found"); + } catch (DocumentNotFoundException | DataRetrievalFailureException | ResourceAccessException e) { + log.warn("Document " + airlineId + " not present prior to test"); } catch (Exception e) { - log.error("Error deleting test data"); + log.error("Error deleting test data", e.getMessage()); } } @@ -69,14 +70,12 @@ private String getBaseUri() { @BeforeEach void setUp() { String baseUri = getBaseUri(); - log.info("baseUri: " + baseUri); deleteTestAirlineData(baseUri); } @AfterEach void tearDown() { String baseUri = getBaseUri(); - log.info("baseUri: " + baseUri); deleteTestAirlineData(baseUri); } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index 916cf72..b265031 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -18,6 +18,7 @@ import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.web.client.ResourceAccessException; import com.couchbase.client.core.error.DocumentNotFoundException; @@ -44,10 +45,10 @@ private void deleteAirport(String baseUri, String airportId) { if (airportService.getAirportById(airportId).isPresent()) { restTemplate.delete(baseUri + "/api/v1/airport/" + airportId); } - } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - log.error("Document not found"); + } catch (DocumentNotFoundException | DataRetrievalFailureException | ResourceAccessException e) { + log.warn("Document " + airportId + " not present prior to test"); } catch (Exception e) { - log.error("Error deleting test data"); + log.error("Error deleting test data", e.getMessage()); } } @@ -70,14 +71,12 @@ private String getBaseUri() { @BeforeEach void setUp() { String baseUri = getBaseUri(); - log.info("baseUri: " + baseUri); deleteTestAirportData(baseUri); } @AfterEach void tearDown() { String baseUri = getBaseUri(); - log.info("baseUri: " + baseUri); deleteTestAirportData(baseUri); } diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index 6f5ba3e..fe0e8c9 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -20,6 +20,7 @@ import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.web.client.ResourceAccessException; import com.couchbase.client.core.error.DocumentNotFoundException; @@ -46,10 +47,10 @@ private void deleteRoute(String baseUri, String routeId) { if (routeService.getRouteById(routeId).isPresent()) { restTemplate.delete(baseUri + "/api/v1/route/" + routeId); } - } catch (DocumentNotFoundException | DataRetrievalFailureException e) { - log.error("Document not found"); + } catch (DocumentNotFoundException | DataRetrievalFailureException | ResourceAccessException e) { + log.warn("Document " + routeId + " not present prior to test"); } catch (Exception e) { - log.error("Error deleting test data"); + log.error("Error deleting test data", e.getMessage()); } } @@ -72,14 +73,12 @@ private String getBaseUri() { @BeforeEach void setUp() { String baseUri = getBaseUri(); - log.info("baseUri: " + baseUri); deleteTestRouteData(baseUri); } @AfterEach void tearDown() { String baseUri = getBaseUri(); - log.info("baseUri: " + baseUri); deleteTestRouteData(baseUri); } From e2b6a7cc5d111acf60d7b154ef73425a72c70592 Mon Sep 17 00:00:00 2001 From: teetangh Date: Wed, 17 Jan 2024 13:59:42 +0530 Subject: [PATCH 36/41] updated Readme --- README.md | 341 +++++++++++++++++++++++++++++------------------------- 1 file changed, 181 insertions(+), 160 deletions(-) diff --git a/README.md b/README.md index e752716..9d4e847 100644 --- a/README.md +++ b/README.md @@ -1,59 +1,76 @@ -[![Try it now!](https://da-demo-images.s3.amazonaws.com/runItNow_outline.png?couchbase-example=java-springdata-quickstart-repo&source=github)](https://gitpod.io/#https://github.com/couchbase-examples/java-springdata-quickstart) +# Quickstart in Couchbase with Spring Data and Java -## Overview -This quickstart tutorial will review the basics of using Couchbase by building a simple Spring Data REST API that stores user profiles is used as an example. +#### REST API using Couchbase Capella in Java using Spring Data -## What We'll Cover -- [Cluster Connection Configuration](#cluster-connection-configuration) – Configuring Spring Data to connect to a Couchbase cluster. -- [Database Initialization](#database-initialization) – Creating required database structures upon application startup -- [CRUD operations](#create-or-update-a-profile) – Standard create, update and delete operations. -- [Custom SQL++ queries](#search-profiles-by-text) – Using [SQl++](https://www.couchbase.com/sqlplusplus) with Spring Data. +Often, the first step developers take after creating their database is to create a REST API that can perform Create, Read, Update, and Delete (CRUD) operations for that database. This repo is designed to teach you and give you a starter project (in Java using Spring Data) to generate such a REST API. After you have installed the travel-sample bucket in your database, you can run this application which is a REST API with Swagger documentation so that you can learn: -## Useful Links -- [Spring Data Couchbase - Reference Documentation](https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/) -- [Spring Data Couchbase - JavaDoc](https://docs.spring.io/spring-data/couchbase/docs/current/api/) +1. How to create, read, update, and delete documents using Key-Value[ operations](https://docs.couchbase.com/java-sdk/current/howtos/kv-operations.html) (KV operations). KV operations are unique to Couchbase and provide super fast (think microseconds) queries. +2. How to write simple parametrized [N1QL queries](https://docs.couchbase.com/java-sdk/current/howtos/n1ql-queries-with-sdk.html) using the built-in travel-sample bucket. + +Full documentation for the tutorial can be found on the [Couchbase Developer Portal](https://developer.couchbase.com/tutorial-quickstart-spring-data-java/). ## Prerequisites -To run this prebuild project, you will need: -- [Couchbase Capella](https://docs.couchbase.com/cloud/get-started/create-account.html) account or locally installed [Couchbase Server](/tutorial-couchbase-installation-options) -- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) -- Code Editor or an Integrated Development Environment (e.g., [Eclipse](https://www.eclipse.org/ide/)) -- [Java SDK v1.8 or higher installed](https://www.oracle.com/java/technologies/ee8-install-guide.html) -- [Gradle Build Tool](https://gradle.org/install/) - -## Source Code -The sample source code used in this tutorial is [published on GitHub](https://github.com/couchbase-examples/java-springboot-quickstart). -To obtain it, clone the git repository with your IDE or execute the following command: + +To run this prebuilt project, you will need: + +- [Couchbase Capella](https://www.couchbase.com/products/capella/) cluster with [travel-sample](https://docs.couchbase.com/java-sdk/current/ref/travel-app-data-model.html) bucket loaded. + - To run this tutorial using a self-managed Couchbase cluster, please refer to the [appendix](#running-self-managed-couchbase-cluster). +- [Java 1.8 or higher](https://www.oracle.com/java/technologies/javase-downloads.html) + - Ensure that the Java version is compatible with the Couchbase SDK. +- Loading Travel Sample Bucket + If travel-sample is not loaded in your Capella cluster, you can load it by following the instructions for your Capella Cluster: + - [Load travel-sample bucket in Couchbase Capella](https://docs.couchbase.com/cloud/clusters/data-service/import-data-documents.html#import-sample-data) +- Gradle + - You can install Gradle using the [instructions](https://gradle.org/install/). +## App Setup + +We will walk through the different steps required to get the application running. + +### Cloning Repo + ```shell -git clone https://github.com/couchbase-examples/java-springdata-quickstart +git clone https://github.com/couchbase-examples/java-springboot-quickstart +``` + +### Install Dependencies + +The dependencies for the application are specified in the `build.gradle` file in the source folder. Dependencies can be installed through `gradle` the default package manager for Java. + ``` -## Dependencies -Gradle dependencies: -```groovy -implementation 'org.springframework.boot:spring-boot-starter-web' -// spring data couchbase connector -implementation 'org.springframework.boot:spring-boot-starter-data-couchbase' -// swagger ui -implementation 'org.springdoc:springdoc-openapi-ui:1.6.6' +gradle build -x test ``` -Maven dependencies: -```xml - - org.springframework.boot - spring-boot-starter-data-couchbase - - - org.springframework.boot - spring-boot-starter-web - - - org.springdoc - springdoc-openapi-ui - 1.6.6 - +Note: The `-x test` option is used to skip the tests. The tests require the application to be running. + +Note: The application is tested with Java 17. If you are using a different version of Java, please update the `build.gradle` file accordingly. + +### Setup Database Configuration + +To learn more about connecting to your Capella cluster, please follow the [instructions](https://docs.couchbase.com/cloud/get-started/connect.html). + +Specifically, you need to do the following: + +- Create the [database credentials](https://docs.couchbase.com/cloud/clusters/manage-database-users.html) to access the travel-sample bucket (Read and Write) used in the application. +- [Allow access](https://docs.couchbase.com/cloud/clusters/allow-ip-address.html) to the Cluster from the IP on which the application is running. + +All configuration for communication with the database is read from the environment variables. We have provided a convenience feature in this quickstart to read the environment variables from a local file, `application.properties` in the `src/main/resources` folder. + +```properties +server.use-forward-headers=true +server.forward-headers-strategy=framework +spring.couchbase.bootstrap-hosts=DB_CONN_STR +spring.couchbase.bucket.name=travel-sample +spring.couchbase.bucket.user=DB_USERNAME +spring.couchbase.bucket.password=DB_PASSWORD +spring.couchbase.scope.name=inventory +spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER ``` +Instead of the hash symbols, you need to add the values for the Couchbase connection. + +> Note: The connection string expects the `couchbases://` or `couchbase://` part. + + ## Cluster Connection Configuration Spring Data couchbase connector can be configured by providing a `@Configuration` [bean](https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-definition) that extends [`AbstractCouchbaseConfiguration`](https://docs.spring.io/spring-data/couchbase/docs/current/api/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.html). The sample application provides a configuration bean that uses default couchbase login and password: @@ -93,160 +110,164 @@ This default configuration assumes that you have a locally running Couchbae serv Applications deployed to production or staging environments should use less privileged credentials created using [Role-Based Access Control](https://docs.couchbase.com/go-sdk/current/concept-docs/rbac.html). Please refer to [Managing Connections using the Java SDK with Couchbase Server](https://docs.couchbase.com/java-sdk/current/howtos/managing-connections.html) for more information on Capella and local cluster connections. -# Running the Application +## Let's Review the Code -To install dependencies and run the application on Linux, Unix or OS X, execute `./gradlew bootRun` (`./gradew.bat bootRun` on Windows). +### Airline Model -Once the site is up and running, you can launch your browser and go to the [Swagger Start Page](http://localhost:8080/swagger-ui/) to test the APIs. +The `Airline` model is a simple POJO (Plain Old Java Object) that is used to represent the airline document in the travel-sample bucket. The `@Id` annotation is used to specify the document ID in the bucket. The `@Field` annotation is used to specify the field name in the document. The `@TypeAlias` annotation is used to specify the type of the document in the bucket. +```java +@Document +@Scope("inventory") +@Collection("airline") +public class Airline { -## Document Structure -We will be setting up a REST API to manage demo user profiles and store them as documents on a Couchbase Cluster. Every document needs a unique identifier with which it can be addressed in the API. We will use auto-generated UUIDs for this purpose and store in profile documents the first and the last name of the user, their age, and address: + @Id + private String id; -```json -{ - "id": "b181551f-071a-4539-96a5-8a3fe8717faf", - "firstName": "John", - "lastName": "Doe", - "age": "35", - "address": "123 Main St" -} -``` + @Field("callsign") + private String callsign; -## Let's Review the Code + @Field("country") + private String country; -### Profile Model -To work with submitted profiles, we first need to model their structure in a Java class, which would define the set of profile fields and their types. -In our sample application, this is done in [`model/Profile.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/trycb/model/Profile.java) class: + @Field("iata") + private String iata; -```java -@Scope("_default") -@Collection("profile") -public class Profile { - @id - @GeneratedValue - private UUID id; - private String firstName, lastName; - private byte age; - private String address; - - // ... -} -``` -> from `model/Profile.java` + @Field("icao") + private String icao; + + @Field("name") + private String name; + + @Field("type") + private String type; -The whole model is annotated with `@Scope` and `@Collection` annotations, which configure Spring Data to store model instances into `profile` collection in the default scope. + @Field("active") + private boolean active; -It is also worth noting the use of `@Id` and `@GeneratedValue` annotations on `Profile::id` field. + ... +``` +> *from model/Airline.java* -In couchbase, data is stored as JSON documents; each document has a unique identifier that can be used to address that document. -Every profile instance in our example corresponds to a single document and this annotation is used here to link the document's id to a java field. -Additionally, the `@GeneratedValue` annotation on the field instructs Spring Data to generate a random UUID if we try to store a profile without one, which will come in handy later. +The `@Document` annotation is used to specify that this class is a document in the bucket. The `@Scope` annotation is used to specify the scope of the document. The `@Collection` annotation is used to specify the collection of the document. + +The `@Id` annotation is used to specify the document ID in the bucket. The `@Field` annotation is used to specify the field name in the document. The `@TypeAlias` annotation is used to specify the type of the document in the bucket. You can find more information on key generation in the [Connector Documentation](https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/#couchbase.autokeygeneration). Couchbase Spring Data connector will automatically serialize model instances into JSON when storing them on the cluster. -### Database initialization -Automated database initialization and migration is a common solution that simplifies database management operations. -To keep it simple, our demo uses [DbSetupRunner](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/trycb/config/DbSetupRunner.java) component class that implements `CommandLineRunner` interface and is invoked every time the application starts. -The runner tries to create required structure every startup but ignores any errors if such structure already exists. -For example, this code creates a primary index for configured bucket: -```java - try { - // We must create primary index on our bucket in order to query it - cluster.queryIndexes().createPrimaryIndex(config.getBucketName()); - LOGGER.info("Created primary index {}", config.getBucketName()); - } catch (IndexExistsException iee) { - LOGGER.info("Primary index {} already exists", config.getBucketName()); - } -``` -> From `config/DbSetupRunner.java` +## Document Structure -Primary indexes in Couchbase contain all document keys and are used to fetch documents by their unique identifiers. -Secondary indexes can be used to efficiently query documents by their properties. -For example, `DbSetupRunner` creates additional indexes on the collection that allow querying profiles by first or last names or addresses: -```java - try { - final String query = "CREATE INDEX secondary_profile_index ON " + config.getBucketName() + "._default." + CouchbaseConfiguration.PROFILE_COLLECTION + "(firstName, lastName, address)"; - cluster.query(query); - } catch (IndexExistsException e) { - LOGGER.info("Secondary index exists on collection {}", CouchbaseConfiguration.PROFILE_COLLECTION); - } +The `Airline` document is stored in the `airline` collection in the `travel-sample` bucket. The document has the following structure: + +```json +{ + "callsign": "AMERICAN", + "country": "United States", + "iata": "AA", + "icao": "AAL", + "id": 10, + "name": "American Airlines", + "type": "airline", + "active": true +} ``` -> From `config/DbSetupRunner.java` -More information on working with Couchbase indexes can be found [in our documentation](https://docs.couchbase.com/server/current/learn/services-and-indexes/indexes/global-secondary-indexes.html). -### Create or update a Profile -For CRUD operations, we will extend [`PagingAndSortingRepository`](https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/repository/PagingAndSortingRepository.html) provided by the framework: +## Running The Application -```java -@Repository -public interface ProfileRepository extends PagingAndSortingRepository { - @Query("#{#n1ql.selectEntity} WHERE firstName LIKE '%' || $1 || '%' OR lastName LIKE '%' || $1 || '%' OR address LIKE '%' || $1 || '%' OFFSET $2 * $3 LIMIT $3") - List findByText(String query, int pageNum, int pageSize); +### Directly on Machine - Page findByAge(byte age, Pageable pageable); -} +At this point, we have installed the dependencies, loaded the travel-sample data and configured the application with the credentials. The application is now ready and you can run it. + +```sh +gradle bootRun ``` -> From `repository/ProfileRepository.java` -Open the [`ProfileController`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/trycb/controller/ProfileController.java) class located in `controller` package and navigate to the `saveProfile` method. -This method accepts `Profile` objects deserialized by Spring Web from the body of an HTTP request. +Note: If you're using Windows, you can run the application using the `gradle.bat` executable. -```java - @PostMapping("/profile") - public ResponseEntity saveProfile(@RequestBody Profile profile) { - // the same endpoint can be used to create and save the object - profile = profileRepository.save(profile); - return ResponseEntity.status(HttpStatus.CREATED).body(profile); - } +```sh +./gradew.bat bootRun ``` -> *from `saveProfile` method of `controller/ProfileController.java`* -This object can be modified according to business requirements and then saved directly into the database using `ProfileRepository::save` method. -Because we used `@GeneratedValue` annotation on `id` field of our java model, Spring Data will automatically generate a document id when it is missing from the request. This allows clients to use `/profile` endpoint both to update existing profiles and create new records. -To achieve this, a client needs to submit a Profile object without the id field. +### Using Docker -### Get Profile by Key -Navigate to the `getProfileById` method in [`ProfileController`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/trycb/controller/ProfileController.java) class. -This method handles client requests to retrieve a single profile by its unique id. -Sent by the client UUID is passed to the standard `findById` method of `ProfileRepository`, which returns an `Optional` with requested profile: +Build the Docker image -```java -Profile result = profileRepository.findById(id).orElse(null); +```sh +docker build -t java-springdata-quickstart . ``` -> *from getProfileById method of controller/ProfileController.java* -### Search profiles by text -Although Couchbase provides [powerful full-text search capabilities out of the box](https://www.couchbase.com/products/full-text-search), in this demo we use classic `LIKE` query for our profile search endpoint. -Navigate to `listProfiles` method of [Profile Controller](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/trycb/controller/ProfileController.java). -The endpoint uses customized `findByText` method of [Profile Repository](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/trycb/repository/ProfileRepository.java): -```java -result = profileRepository.findByText(query, pageRequest).toList(); -``` -> *from `listProfiles` method in `controller/ProfileController.java`* +Run the Docker image -The `ProfileRepository::findByQueryMethod` is generated automatically using provided in `@Query` annotation [SpEL](https://docs.spring.io/spring-integration/docs/5.3.0.RELEASE/reference/html/spel.html) template in SQL++: -```java - @Query("#{#n1ql.selectEntity} WHERE firstName LIKE '%' || $1 || '%' OR lastName LIKE '%' || $1 || '%' OR address LIKE '%' || $1 || '%'") - Page findByQuery(String query, Pageable pageable); +```sh +docker run -d --name springdata-container -p 8080:8080 java-springdata-quickstart ``` -> *definition of `findByQuery` method in `repository/ProfileRepository.java`* -You can find out more about SQL++ in Spring Data in the [connector documentation](https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/#couchbase.repository.querying). +Note: The `application.properties` file has the connection information to connect to your Capella cluster. These will be part of the environment variables in the Docker container. -### DELETE Profile -Navigate to the `deleteProfile` method in the [Profile Controller](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/trycb/controller/ProfileController.java). -We only need the `Key` or id from the user to remove a document using a basic key-value operation. +### Verifying the Application -```java - profileRepository.deleteById(id); +Once the application starts, you can see the details of the application on the logs. + +![Application Startup](app_startup.png) + +The application will run on port 8080 of your local machine (http://localhost:8080). You will find the interactive Swagger documentation of the API if you go to the URL in your browser. Swagger documentation is used in this demo to showcase the different API endpoints and how they can be invoked. More details on the Swagger documentation can be found in the [appendix](#swagger-documentation). + +![Swagger Documentation](swagger_documentation.png) + +## Running Tests + +To run the integration tests, use the following commands: + +```sh +gradle test ``` -> *from `deleteProfile` method of controller/ProfileController.java* +## Appendix + +### Data Model + +For this quickstart, we use three collections, `airport`, `airline` and `routes` that contain sample airports, airlines and airline routes respectively. The routes collection connects the airports and airlines as seen in the figure below. We use these connections in the quickstart to generate airports that are directly connected and airlines connecting to a destination airport. Note that these are just examples to highlight how you can use SQL++ queries to join the collections. + +![travel-sample data model](travel_sample_data_model.png) + +### Extending API by Adding New Entity + +If you would like to add another entity to the APIs, these are the steps to follow: + +- Create the new entity (collection) in the Couchbase bucket. You can create the collection using the [SDK](https://docs.couchbase.com/sdk-api/couchbase-java-client-3.5.2/com/couchbase/client/java/Collection.html#createScope-java.lang.String-) or via the [Couchbase Server interface](https://docs.couchbase.com/cloud/n1ql/n1ql-language-reference/createcollection.html). +- Define the routes in a new file in the `controllers` folder similar to the existing routes like `AirportController.java`. +- Define the service in a new file in the `services` folder similar to the existing services like `AirportService.java`. +- Define the repository in a new file in the `repositories` folder similar to the existing repositories like `AirportRepository.java`. + +### Running Self-Managed Couchbase Cluster + +If you are running this quickstart with a self-managed Couchbase cluster, you need to [load](https://docs.couchbase.com/server/current/manage/manage-settings/install-sample-buckets.html) the travel-sample data bucket in your cluster and generate the credentials for the bucket. + +You need to update the connection string and the credentials in the `application.properties` file in the `src/main/resources` folder. + +Note: Couchbase Server version 7 or higher must be installed and running before running the Spring Boot Java app. + +### Swagger Documentation + +Swagger documentation provides a clear view of the API including endpoints, HTTP methods, request parameters, and response objects. + +Click on an individual endpoint to expand it and see detailed information. This includes the endpoint's description, possible response status codes, and the request parameters it accepts. + +#### Trying Out the API + +You can try out an API by clicking on the "Try it out" button next to the endpoints. + +- Parameters: If an endpoint requires parameters, Swagger UI provides input boxes for you to fill in. This could include path parameters, query strings, headers, or the body of a POST/PUT request. + +- Execution: Once you've inputted all the necessary parameters, you can click the "Execute" button to make a live API call. Swagger UI will send the request to the API and display the response directly in the documentation. This includes the response code, response headers, and response body. + +#### Models +Swagger documents the structure of request and response bodies using models. These models define the expected data structure using JSON schema and are extremely helpful in understanding what data to send and expect. ## Conclusion Setting up a basic REST API in Spring Data with Couchbase is fairly simple. This project, when run with Couchbase Server 7 installed creates a collection in Couchbase, an index for our parameterized [N1QL query](https://docs.couchbase.com/java-sdk/current/howtos/n1ql-queries-with-sdk.html), and showcases basic CRUD operations needed in most applications. From 0b0a041c89c28d4187549c327aa6d2cd84973600 Mon Sep 17 00:00:00 2001 From: teetangh Date: Fri, 9 Feb 2024 12:07:27 +0530 Subject: [PATCH 37/41] upgraded spring boot and swagger from 2 to 3, fixed readme and added images, changed javax to jakarta. Used environment variables instead of hardcoding --- .github/workflows/tests.yaml | 15 +- Dockerfile | 7 +- README.md | 141 +++++++----------- assets/images/app-startup-spring-data.png | Bin 0 -> 741562 bytes .../swagger-documentation-spring-data.png | Bin 0 -> 617098 bytes assets/images/travel_sample_data_model.png | Bin 0 -> 68288 bytes build.gradle | 20 +-- .../quickstart/springdata/Application.java | 13 +- .../config/CouchbaseConfiguration.java | 71 ++++----- .../springdata/config/SpringDocConstants.java | 11 ++ .../controller/AirlineController.java | 2 +- .../controller/AirportController.java | 6 +- .../controller/RouteController.java | 2 +- .../quickstart/springdata/models/Airline.java | 5 +- .../quickstart/springdata/models/Airport.java | 12 +- .../quickstart/springdata/models/Route.java | 10 +- .../repository/AirlineRepository.java | 8 +- .../repository/AirportRepository.java | 3 - .../repository/RouteRepository.java | 2 - src/main/resources/application.properties | 6 +- .../controllers/AirlineIntegrationTest.java | 2 +- .../controllers/AirportIntegrationTest.java | 2 +- .../controllers/RouteIntegrationTest.java | 3 +- 23 files changed, 146 insertions(+), 195 deletions(-) create mode 100644 assets/images/app-startup-spring-data.png create mode 100644 assets/images/swagger-documentation-spring-data.png create mode 100644 assets/images/travel_sample_data_model.png create mode 100644 src/main/java/org/couchbase/quickstart/springdata/config/SpringDocConstants.java diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 03118a5..08e2160 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -12,9 +12,13 @@ jobs: run_tests: name: Run Tests runs-on: ubuntu-latest + env: + DB_CONN_STR: ${{ vars.DB_CONN_STR }} + DB_USERNAME: ${{ vars.DB_USERNAME }} + DB_PASSWORD: ${{ secrets.DB_PASSWORD }} strategy: matrix: - java-version: ["8", "11", "17"] + java-version: ["17", "21"] steps: - name: Update repositories run: | @@ -30,15 +34,6 @@ jobs: distribution: "adopt" cache: "gradle" - - name: Replace secrets in application.properties - run: | - sed -i "s#DB_CONN_STR#${{ vars.DB_CONN_STR }}#g" src/main/resources/application.properties - sed -i "s#DB_USERNAME#${{ vars.DB_USERNAME }}#g" src/main/resources/application.properties - sed -i "s#DB_PASSWORD#${{ secrets.DB_PASSWORD }}#g" src/main/resources/application.properties - - # Print the updated file for verification - cat ./src/main/resources/application.properties - - name: Run Gradle Tests id: run run: | diff --git a/Dockerfile b/Dockerfile index b5f750b..a827f93 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,5 +22,8 @@ EXPOSE 8080 # Run the application ENTRYPOINT ["java","-jar","/app/build/libs/java-springdata-quickstart-0.0.1-SNAPSHOT.jar"] -# docker build -t java-springdata-quickstart . -# docker run -d --name springdata-container -p 9440:8080 java-springdata-quickstart \ No newline at end of file +# Build the image +# docker build -t java-springdata-quickstart . + +# Run the container +# docker run -d --name springdata-container -p 9440:8080 java-springdata-quickstart -e DB_CONN_STR= -e DB_USERNAME= -e DB_PASSWORD= \ No newline at end of file diff --git a/README.md b/README.md index 9d4e847..dd09412 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To run this prebuilt project, you will need: - [Couchbase Capella](https://www.couchbase.com/products/capella/) cluster with [travel-sample](https://docs.couchbase.com/java-sdk/current/ref/travel-app-data-model.html) bucket loaded. - To run this tutorial using a self-managed Couchbase cluster, please refer to the [appendix](#running-self-managed-couchbase-cluster). -- [Java 1.8 or higher](https://www.oracle.com/java/technologies/javase-downloads.html) +- [Java 17 or higher](https://www.oracle.com/java/technologies/javase-downloads.html) - Ensure that the Java version is compatible with the Couchbase SDK. - Loading Travel Sample Bucket If travel-sample is not loaded in your Capella cluster, you can load it by following the instructions for your Capella Cluster: @@ -65,116 +65,90 @@ spring.couchbase.bucket.password=DB_PASSWORD spring.couchbase.scope.name=inventory spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER ``` - -Instead of the hash symbols, you need to add the values for the Couchbase connection. +Instead of DB_CONN_STR, DB_USERNAME, and DB_PASSWORD, you should replace these with the connection string, username, and password for your Couchbase cluster. The connection string is the URL of your cluster. For example, if you are using Capella, the connection string will look like `couchbases://cb.jnym5s9gv4ealbe.cloud.couchbase.com`. If you are using a local cluster, the connection string will be `localhost`. > Note: The connection string expects the `couchbases://` or `couchbase://` part. ## Cluster Connection Configuration Spring Data couchbase connector can be configured by providing a `@Configuration` [bean](https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-definition) that extends [`AbstractCouchbaseConfiguration`](https://docs.spring.io/spring-data/couchbase/docs/current/api/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.html). -The sample application provides a configuration bean that uses default couchbase login and password: + ```java +@Slf4j @Configuration +@EnableCouchbaseRepositories public class CouchbaseConfiguration extends AbstractCouchbaseConfiguration { + @Value("#{systemEnvironment['DB_CONN_STR'] ?: '${spring.couchbase.bootstrap-hosts:localhost}'}") + private String host; + + @Value("#{systemEnvironment['DB_USERNAME'] ?: '${spring.couchbase.bucket.user:Administrator}'}") + private String username; + + @Value("#{systemEnvironment['DB_PASSWORD'] ?: '${spring.couchbase.bucket.password:password}'}") + private String password; + + @Value("${spring.couchbase.bucket.name:travel-sample}") + private String bucketName; + @Override public String getConnectionString() { - // capella - // return "couchbases://cb.jnym5s9gv4ealbe.cloud.couchbase.com"; - - // localhost - return "127.0.0.1" + return host; } @Override public String getUserName() { - return "Administrator"; + return username; } @Override public String getPassword() { - return "password"; + return password; } @Override public String getBucketName() { - return "springdata_quickstart"; + return bucketName; } - ... -``` -> *from config/CouchbaseConfiguration.java* - -This default configuration assumes that you have a locally running Couchbae server and uses standard administrative login and password for demonstration purpose. -Applications deployed to production or staging environments should use less privileged credentials created using [Role-Based Access Control](https://docs.couchbase.com/go-sdk/current/concept-docs/rbac.html). -Please refer to [Managing Connections using the Java SDK with Couchbase Server](https://docs.couchbase.com/java-sdk/current/howtos/managing-connections.html) for more information on Capella and local cluster connections. - -## Let's Review the Code - -### Airline Model - -The `Airline` model is a simple POJO (Plain Old Java Object) that is used to represent the airline document in the travel-sample bucket. The `@Id` annotation is used to specify the document ID in the bucket. The `@Field` annotation is used to specify the field name in the document. The `@TypeAlias` annotation is used to specify the type of the document in the bucket. - -```java -@Document -@Scope("inventory") -@Collection("airline") -public class Airline { - - @Id - private String id; - - @Field("callsign") - private String callsign; - - @Field("country") - private String country; - - @Field("iata") - private String iata; - - @Field("icao") - private String icao; - - @Field("name") - private String name; - - @Field("type") - private String type; - - @Field("active") - private boolean active; - - ... -``` -> *from model/Airline.java* - -The `@Document` annotation is used to specify that this class is a document in the bucket. The `@Scope` annotation is used to specify the scope of the document. The `@Collection` annotation is used to specify the collection of the document. - -The `@Id` annotation is used to specify the document ID in the bucket. The `@Field` annotation is used to specify the field name in the document. The `@TypeAlias` annotation is used to specify the type of the document in the bucket. - -You can find more information on key generation in the [Connector Documentation](https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/#couchbase.autokeygeneration). - -Couchbase Spring Data connector will automatically serialize model instances into JSON when storing them on the cluster. + @Override + public String typeKey() { + return "type"; + } -## Document Structure + @Override + @Bean(destroyMethod = "disconnect") + public Cluster couchbaseCluster(ClusterEnvironment couchbaseClusterEnvironment) { + try { + log.debug("Connecting to Couchbase cluster at " + host); + return Cluster.connect(getConnectionString(), getUserName(), getPassword()); + } catch (Exception e) { + log.error("Error connecting to Couchbase cluster", e); + throw e; + } + } -The `Airline` document is stored in the `airline` collection in the `travel-sample` bucket. The document has the following structure: + @Bean + public Bucket getCouchbaseBucket(Cluster cluster) { + try { + if (!cluster.buckets().getAllBuckets().containsKey(getBucketName())) { + log.error("Bucket with name {} does not exist. Creating it now", getBucketName()); + throw new BucketNotFoundException(bucketName); + } + return cluster.bucket(getBucketName()); + } catch (Exception e) { + log.error("Error getting bucket", e); + throw e; + } + } -```json -{ - "callsign": "AMERICAN", - "country": "United States", - "iata": "AA", - "icao": "AAL", - "id": 10, - "name": "American Airlines", - "type": "airline", - "active": true } ``` +> *from config/CouchbaseConfiguration.java* +This default configuration assumes that you have a locally running Couchbae server and uses standard administrative login and password for demonstration purpose. +Applications deployed to production or staging environments should use less privileged credentials created using [Role-Based Access Control](https://docs.couchbase.com/go-sdk/current/concept-docs/rbac.html). +Please refer to [Managing Connections using the Java SDK with Couchbase Server](https://docs.couchbase.com/java-sdk/current/howtos/managing-connections.html) for more information on Capella and local cluster connections. ## Running The Application @@ -212,11 +186,11 @@ Note: The `application.properties` file has the connection information to connec Once the application starts, you can see the details of the application on the logs. -![Application Startup](app_startup.png) +![Application Startup](./assets/images/app-startup-spring-data.png) The application will run on port 8080 of your local machine (http://localhost:8080). You will find the interactive Swagger documentation of the API if you go to the URL in your browser. Swagger documentation is used in this demo to showcase the different API endpoints and how they can be invoked. More details on the Swagger documentation can be found in the [appendix](#swagger-documentation). -![Swagger Documentation](swagger_documentation.png) +![Swagger Documentation](./assets/images/swagger-documentation-spring-data.png) ## Running Tests @@ -232,7 +206,7 @@ gradle test For this quickstart, we use three collections, `airport`, `airline` and `routes` that contain sample airports, airlines and airline routes respectively. The routes collection connects the airports and airlines as seen in the figure below. We use these connections in the quickstart to generate airports that are directly connected and airlines connecting to a destination airport. Note that these are just examples to highlight how you can use SQL++ queries to join the collections. -![travel-sample data model](travel_sample_data_model.png) +![travel-sample data model](./assets/images/travel_sample_data_model.png) ### Extending API by Adding New Entity @@ -268,6 +242,3 @@ You can try out an API by clicking on the "Try it out" button next to the endpoi #### Models Swagger documents the structure of request and response bodies using models. These models define the expected data structure using JSON schema and are extremely helpful in understanding what data to send and expect. - -## Conclusion -Setting up a basic REST API in Spring Data with Couchbase is fairly simple. This project, when run with Couchbase Server 7 installed creates a collection in Couchbase, an index for our parameterized [N1QL query](https://docs.couchbase.com/java-sdk/current/howtos/n1ql-queries-with-sdk.html), and showcases basic CRUD operations needed in most applications. diff --git a/assets/images/app-startup-spring-data.png b/assets/images/app-startup-spring-data.png new file mode 100644 index 0000000000000000000000000000000000000000..98b6bcc9574883ed3ff958f4fadecb86ad875f5b GIT binary patch literal 741562 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%0AXx5Hzn_|mNNQMC-^6WSRTHTwq*nIC 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%0APBsezr7G#;z|d=-UCyzI|WQo9A>#tYZ( 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

$hkx1>lsg>8)E$m=#ov_hwGziHuA+z$) zV2uedcP2@#(&14(XwbaU(oX=`xwLH;hbQ!_`Ek5jNEdci+#W!!xF1L3zGy}yviqlc z2IT2@w7RLz?VJ3vIj47zC`vz&`%Hf`#J4lS+@8nCh7OqLx9LCo1 z8{W}f9gfOtcc<6>OWwD7QFkeL0-3YXc%}#lx|%fiCCT#aFPL&%>jz z*0)6B$ALZo-`*Q`G7nU0aNKkogD}?I@DR3CL@Fx)8}EE}v%PB} zZ`YAoCQJO>kM|AS+}_$KAU2`qCOP}jw0Il*fwMl4hPf4gS2)ziqmT+Y@R8sFgcqI^ zt5kHz6nwt3|<$9UVQ)c zu3H5rA3oS4fs`9&n{4P7nEIZnhHexmyw#pau5zSrrBuY+zqfD&li)xeG{*53-N^`@ z_svYSm`_7(^Wg6{N!H^-aFrbt#`gHLAKiAMTc2i7iy7>x$-|3ZA#4@`xvUUO|I zVM3==dX26Z3T4Tdzlcc=8EO7ZFrM+VpwC5(UYt5xwNFV_ctg5`akuoAgz%}9MOY&V{2>JlYXAyg1NY?X*@rjIDL5&Gejo&y7xOv@|4pEB&hM|(h(M#ar`o*5_; z8Mv!gG#wlbjFr*|(PT%imMmQ70R@cc#V8Z#R5Bn^vc#!d(YgSO_&9L|R0~xbTF^=1 zuNtjWOc0f0mqot7jfj|EYP5UFYtlBZC1X)dn3NGwxR-CcprjegK%r%qUD#J*dHKr# zQ+*r~D=DeF`o0jB!Q)q?0c)5$F*wa}OmO!*SUv$RA2Ktsx?)8k5X*eL?%Him>H=T- zFgwJq>ehPYG)ky&j6>K%Vmlybe9G=@nd9gluxyt0eE*pplGZ>1Y}{sq?JURV{*IPo z-7a~rN(IOro)Pp#9uEQoqVf)j`C(Q!M!UT|ZbMrwHl$Ryap9J|-Tk#bso-6#Nh7A0 z!1Qf_PO{6xR+cH+09}iEvpq%A;w||-5Pt*c`RhrD)Y{!svUs9uD=TTh!>~XaW|r6_>wC@tCJef_Rg6AB`~aOyrwp^paiAsq^0mBw zfWKu192MvKB{y9X42=Z;Nl-o{-=hYrnlnz*}G z$HIyK)wTq2tsOz?Z*+mupPkO6c)^XfPhcpT;vGGEIVlf+ zl>SQN$h1(puOvx--3w9pMlbnzo=$a-IvBm=F5_XlwhqR@ltV%^Ysyes!i0+s$cZ2O zr)op$bsDRx4Smt1n1e;3*CK*JGS4hpKZFR@CJ7tT8$Hg}H;b-64;q93v|8^XR(aG9 z2uZR!fz-aRF$Rt(6Km&3w<8!*rjz`sq7OmU=`Jrbsk+fEKnr4>S~U{} zF2W3l_{Ttp6XV6R@_C;jNqqZJ5!SJMtXr=*}!h#?ZugF@-f6DPNaff zF5Tn?Oh77p`SgYDC`T&%Wym^V7+hLRU;A&>R=#w-oqW3uI8a`40YPYosk0aJP^fak z9!+PsH*gD(O4l=`UE~?>3TW=YTPxR_9o;Dc6X!`IY(gdsJ#DnA+)SqZ|oz{4Rh@0^1Z2+u=TQAy0{|TDJ$LCK0T&&a2 zU&{W#cl@IOo3%!M!N;(=b6n{)8EV>iM&@Xsip6Vt&YJ`mJg21a0#`9XvHI4+M#vFB zgzSurN@b3gh%=z*wr`G9I3~?sR|WsJhv)#POL#TuFOR&eR%16 zf8b6K=tXg0c5DJ~{i(HHEZ>*#$WvR$zbcIt%rj=zk4~y8)e`|%=uR!?hzTF#Gr-nt zsb4Wv5Cm|bg z-c-XI#PlyvrK!>46JU21vM6&vk3(5wd-WqLO&`l|T4Me#;Nz^DqWtVKQwmJ5|I(cO z27=^Q+&B7*fPN5C&_TwfUO@Vu?pEs={&5lBM!ShoIsUJY#bvs3`a zYE6LsQ4UgUnm!?fS#c*doE@(^>+MxWIJm+-=$jRNJ4CoLqv51qQogN^CI2u$CLXGI zgb_SdZ`7(0v!_0qv5vIYy*K5UeL9k8_6F^3D(YFafH%lRuqvbF7s67=>&9p$QM%fJ zdOg22Wm3)OP+NF`&fe-ofr-Q|kAMCoYMAXbc=R^nj zrk%V(RXzwkTddm2BdYe<2nN#P@o9^$$7dU=lQuKKLu>RXi7tomh^LB(39otmQH)|d z-L31ZNyuFE%Q?-gRWGf$(1-E@!~xhbuVyvQ_U6J5*7zClqQ|p&WSF=T-ye2ti_xv? ztN!rf8f!pdPKEcnENZj@5P7GU-QQy@(yT!J(P3_vXWc;pF@zL3o*>V9tpLNDE%B>6 z)~{3$rQKZYc!V+7Y9h+3_*P$vXT8Tmw?nhhjm+|e`HtWk9TSR6yY8Px5w&^fST@3T z-ax_f_$H#GgzIo4;b%3bQsL|7EsoH+c4S=)GQ|3Kr6KDI_rtSlKWL5oYs=P$>37-B zXOrpvirxV(9x>|Qu~r5K*-&nyo0@Ogl=Z#(`I+g{x8pyA)o%NR$PZxKhS2J zJo{?k&l&SFt$m74wYbN!x3X;Mhov5s8_}m+-yvZjx4KdS4lNfRw-fpjr;!Eavf9o`HSl#>u#SIXRzgd_bcRsZR=wx)| z-l?^wrRzpXoqLMTd%;017)>WdD2a8LCfIfORB= zL-1_tC~;Xc#>KD4ox&aJ0^&P~^yMo7T?we}XM5H}u(=-f1pq()VGwn7^+klhof2nV zT?}h~`}>tRA_++we&#?dQ`Hu@nQDm1RS(EwYGP=3#S+aaQyM zP&YLmM_gX0(`oATW}y9PBsb!d5L8}CZvBDv4Up!23`38v?^Od5L?TJ)Z`xFU# z2E}QDmc#bILTIHWlm+z&S2O}vyjmwiXfL{3?_OQ2d7jRMl309;jqr-!kpJQdfxkS> z+CL&%$QlXH*G}DrFW>aGkwCXhJXGXU&~({~ahBF`0(V3LQ7I6^UV`_#P4szi@*HuG z&Yf!K#TS8t=^nqfp&YWw`1n;JT+4t!>lYfNL0A$?sB>{%TYC`TZjg(pZJKGkJhrj7 z(1LVJi2@7F%yciN3xPL|ppL!;HzcuJAgupm^t@RMq% zJcaa4q{4E08`bZLaIa{5@A><`1`Dc|-!4jRcjP0QY=alN33WX8q+?GI=V>POGS7$y zS7sbfheyQYGS;T4FJc<&o7oXalI+)AOK#EQG5_EGCD8X}(FY{HL4TYOaF@`cBpe1? zbz9~AUCwsO+o~WS-pRktH6Pgh{1RK6bElGJeUx}sjJ?6=>3`QPKm*mk(gh%Jxvq}p zO)n65K0w{JhhexV-0{t-B`OS&%2=IkjDn zd3MxxrfDs@KPJOJ0^2)R^@8io??x53E8OaC&~bfUEL-7P^j&}eMg-=@i{y>$zjtrM z8^TEB#i0ANm#YY9$(rrW-o6Z7cHTEevI2+JX>v!ZRS4~?r2UR-KSae_(Ad1wl0jen;05yx zSMAKE$=zm|p++Oxgz2Adno5>az54QUoP-b%!-(tW`&)p=rDc5+@2R(S)KDbq25fBl zK`tNCXJdl|eg2YgQR<((ip|yt0eOwB4>zj)5|oeNKdh85eYp$6Kv9+ZLeVcZKFrx| zpBl51EK>5lpIgv1+~Jj`ey|0}g5-Vm$q=W^Fj~Fq>~cn$m`@}0ksFRep*E`|FW9NH zg<*q9wRn9<=k<>ejdT{HNL+*4H-_Jyt+3U4IqyZIrhV5!eK~W#i_vP4Mz(s6b4oyX zW2D*t;C9|2hq{4d3eUr~$*YGdt=SG@4YIaT29#Ug@PmgzLTbGX*~|sDD}&vK!i#A& zxsrT(&1iKAYiTc@;D}f*HfMqmrG)uK8eZ~o`P)s2n8)~%aC{=HoNxCMP35$po$)e% z+)SVXlof>COSMs%LH7v52{R|OZv#X!4Q7M+W_#Fj>hzEEDZ%K{>3oH)RTE^R>+>Iu zLX8D3i_jicI>I1oaP;rvP}*8g(r;d}Ndm)Q^_ybGjJ{KqZfVsO67uQB&%G#}zERF> zZ0M<*-BchLzenu-i!LR2XT#Nj5`?w)(*rson~>1?w#G?iBh?N5{1@`M^+D-jH(#(T zI~PIZr;pTEvM|uV_+4NDO$_-n@~;HUb2YA>bCk49hXxckn&1LF2=Ln}jdzks!c20$ zi>d!@tvT~bD^lDes|n)?tW*{<KXcpa83T1%oXl@L4ApYIgbH__4%c$#|)Ysd5dghjI z*^}0-B^^*SLT14(kQ}yQNq&RNI#WYTlVUs5Yc_t+JYtrg?s=uA1t462KuxjD-|xW4 z#!2d89E>5 zmjHsxl1wa_pUdQHsUWR=5;V z#sj}y-9ZO?>sD#~vduWt$f)Gga@6NfHpMI^zqwC;8_1efBwevst}}cxk^oUJkRqBc zf4J`K-RDOL%={F%v-h3(OMC_aOQEvR3U~I825h&V#udwr>O2-|ObKz4){0~u0v1Op z%S6*EVG<8M|5HHvYFZ2QOfU7kg-k-FoTL&|C2C|TY^Mv;`&%zZp2Vva&@3!i9r$6v zU*db$J>vn44rO%8W`v5iWzMq<6VrI!==hPxp8J<7<1w;=NW907uczYm@u)dLf?Gydt3Y$ck6U}Qb@~j3%yLA?R|i_$cJTI?~yxWS&&gfN#~s=g6zV{jigD5 zA%EG@KKo!4AIgvK$XBYWEW!$(lz#H#QFy{CRicm?Z2Jrr#LcR)XTSv1dP^;vaKnMG zSjFc;!C}G{YdfRm(_S+`<=%>sx-$e;#z*fbtp9#Ch|dLCwEi5~KD_749AsYR#rad~ z(@!sJi{mXW=ziWeP1|HQyndX1;Bv(y4B}UIFF>eb9rSupy(EBR6iW?-85yp31A;eQY>LHKj9=`zo@@* zO+0H2jC-m*j)O|TRdQhygO$s;b)x9jy_l_<%NzDc{|7hX^IgQWz3Y%O;yi!TkQI)a zogR7jk#O}@0uu*Tu&+n?!@|m47E|^A*TQNw*4v!Ge7-PY33JkNT*h+Y#)X^CN~=?v z;+q5)-_?}j_Ssv5@GeTW{(@Z#FlJ)dMyM}nU=4@X?2RQ_lCDp`GeTL4ZDHv#Htg@< zt7~$Vs7d?FM2)7Is{H-%38m@suZ1pSx4IB=b8^6uJ1jhyoE5I%fG-IcHerVvDvmEz zR8dQf7wbAqepn1N%$NF^VB}#8#Krup4y>A|r{8#`Z%?0?;7z;+AfqvNr$PHz44S(1n%*qh#UR>pi_b(5##QJi8}p*g9V{+?KX^*%?8SO0|@?*(WeK z3*Z-Zn8|~5N3W4++7?|-^IR3~x|Y1A=kAL8)U8>ap|#>M>vnHbSMBr*c#+}-&IgfC z4_+wzF93Bd5C!{1vl#CbSTBE*Y2_R%Q~E5B0sClAePGg@%N1_onlXz-P@)7_SXhlB zNDdO&X8a7PS1t|1ZX9|B{hyQq#wWGYP5w_#&Vo!M*fHIx6c|h^^Pe5}jC5IYrJsp} zeE$e!m?*M2zQA882|28B&M0*`6W{Qik7pFjMR5xI0%YJYxo*bRbOhiCy=A(?+K`cZ zLT>*da=wn?89+x7$mLZQ?YRsc%jklYf}D-pc5RzgP{APB%g)LOM(t-W%qAMOgQGlL zd=KcS1Q&ssGmTX=hRk9C46J9Jy%1N3MfUC3MzK;!r|3yJw7T^#uMw~g6t1eOmv_?Rm) zea6O^V(`7E8&MNy9?gFb1TskW&pX}fBh7(P?}h%wZ88MSZEFqTF|rEe=xmpFb!~-} zTRuK}i23NPqsFx`$l0v;K;6T_*9q$B^al8{HdONf z_5{49^FF3b(Xcm;MA(6Ykg<1q{~7D-a5@wx^@kXpt<$qz_-Y-~d}P7h7&WLsz9`yk zto+xhl7-KUY1XS0i(~4UN_jG6Kvv#4^!Wti>RARtI?j?PRffG#3^aIOpK(~YMd%(; zaOt1mIV|2rJPz#ZW8?9peFnfPi-8;YMMH!rsu_zMny-0%%j^%{$$SABktRI;3a=P% z68;S5Lo~>ZISaZzbK!c2G_h}^1ofXbh|cojq#92i)U9scVUfo;{EOQe54gLvHKac- zBkiU4harrqFc`Z$F)Ju)nx{Wje3-k}Na-g#8|%b8bu1h4FvMWBgx87*P4|C&!2Hr} z?dG$n?l27M+At?DEp?I_yya%w94WkLxcKLNRJoN#6KJGY?jy+_qFFnmI~5rY~I zWg*d(PwYRzDL@)~#On2EpO-oa0zejLjoD^*?f6S(hVC8!Ha?EgLvGH10N@ws((iZl zX6MWRC@_2hU<=2dl3q7^bsMiSNFT?ep(J{{E#IdpFBeIFdbRa9riTjF1{Xhw0)DT~ z3OK&5imK(h>CNQ2{2Jz(W`-7u*Y&|Hxd@#TU3s3w9f#qa7Kh3J8IO|WA>WJ!al z8=Q7HRfCu6n1X)q1#HK~66q=xOeiIY)bWXXl-?PX2yPb6bEW=%*jcN!*gsDJj!RWb zRSl9>vgh)D89-F{K^22^>4jxqzqhl$dRwtBc-EmwQ-Z{w!(WLC(h5YuS^yi;4%Bz^Cn9EQ@%Zk}1xiSWgn#bh)iF zcBX;&=_BGdBgf-w6;%;zMt9plJWl#u$BJXz1{^Tc&>X%vLz-KKNya?iV$NRVARdKv z>y=vrMQqm?j9a&WWw?A-Lp+n*&7*)c^y$A)>5~{gP<7HIt^lS{t%R)3ptHoxh=VcB zm3DVrZy-iN;~`F={}Tndhi(!pW1OFTkC;C#s3Q1HhQVsP$%Dtp<=!{q5}B<~w;sID z{?pnR&?)YZ0unYom)z@i1ucTlOgpX5A% zuL;PLIhqI}mMf1Qj>k?D^dlz^>0^V5xcBano6XVILycd}7TS5k8z_02%U%9*0N?h1 zdPX+wr?~$T%q8dd5XIC^7?=+v!265o0xo=|+wQ#z?eG7ix+;HE=#F4=0tR^l;-o~@ zKZbni#h?MBm$m?kRv_PTO~769f962_-QOtNnk6#K@0 zXRZ;{7)~o3YeEWd=j|jyTz)_3;3iO@_TU%E;+ixs>Wq8~`vq9n+(&}9h=Ae@N5X9Q zLt;P-aZm>L;s;i{=nPE`Tj0bm`d9|CSu75C1M0$30_PUAQl0jbWH_K@0eRSV1SEZb zkGS716Pq^Jzr{zHiji%RYn{?msqPGpngXPyjbNS#`Hd8ZdR(FN(KRRY3ScV$2&1v} z9tWy>&7*?P$mjaO<9tPrfek7wr_R_!rH8$C%%6^@L!LkAYRFC>*%IGJohAilj~FepWv)UhAI^<&R+XAi5m03k!DjT)gQD(Sp{{%>bR-|9(Qoki`M{0Car z!YQH5kYOdAzUO|A=ze#+Yyjz>)apzNmb0S4NX|ch7YS}4KDn$ zRHU-}JpSR>=XhB8(e>?Hll{5dGt?N{AP9AxBSpxl{|BWaNxON{`fHUwS`1W{_p)Tx z!Pp<)G-FkRwIo^;OXPVC&JLVMIhicR%A@jurrJPl$?qYHC^&&%F>*2KX2Ay-6>$$i z)D%DOYG6%aqWr&^)ypM%JNe-+2d(=OOx){NGNrIuqj7p?siQ(%cW4XGST%;z@6X5W z@{yq9PRU?xFO6oy#VC>fK8Jf#H4Il(g>AEdA!mb4sLwuZ5 zO29No!m+38aTkG~vfP)Klaky0V>f+yL85MUgz!hlYi*NgeXZk-6^wm^^m|qVJd*6zO9aJa34{sLN?>41Sax&)g?FR z)8W7xe}Kz7D=ArM+t)_Y zSP1!&1qHcyI+uCanXji@fEBIi7<0>2fa_UZ!UX$*4&8!3bp&}~rz!`D!lmx{N`zou zA18@eXvi#qZ4c1%ZkHrL7bIe~H8L%MLZx zpA+b0q*?+Rb0sZSDk?hG`(qY9RtXS^)F>Mu@F(sB0=Ma03VaBSJA7^qWITLMF+mt* zt>SuH&R>P*D^-2pD&0p0!l#vb8UkZqtNt5$kF)H`mBH@P6gDPCKq(y7>k7HwKQKkU$VH_YJ z9_^yX7c{9I_9rZ6erRO;_{p3?o83QGzHG4d?nshZiNB!^5^}NJU&1e6qkZ%CG|08n zHvDa7cRbuK>Ou*P5?~|n0sq{<`?1%p4~a4)?~TkZUfS+_vo2QUnRk0l0}ib@-HR4K z%TqpfJ$15nXIu!8h@-=wMHn3z1B!2|rN=Jg9;{%8UJHj;v^09h*!yp79)sn1n)CIw zRX@RLduT})J{bWYEG^T`0jZ0pJe&+wAan6sfLT3Em&I96TR(+Cw80i{N1Wa)u~~fl z(2K}3z*62y?!VRg^vO=EDqv}TWm0;lV0*RN1tYflSY`Mnmu@8TnUrkdZlQ=7!NR6qn!zFYb&r zW;ng1`3zoP6*~RW6R=?08eG#fe5!V0RACy@FsHcoJ6^57AIJtt4UL`MByKhsCqT;F z!QN|Em&`YAmD20fF`sU(k3z%1W7BDM79LqrrEIplWJ_k0P0gWP#61rZPK^#5YUx*} z;zMdCH&(0rPtciav#hL$3V*2<>|uw0it~YUuVa%%40f;Qh&32Ez@IdYTx;ltnFbr3 z!ngd`vL&f*2dUi~H+0;U9d=Bc$t{O5m%dq~b=sq{Xz09MGg{Fyu)RpbGwS=dTU|o1 z9yYpb67sUZMmGnooL^G+!f;<35WvcM_Lp+ACM_SED?}2dJ;2{7UuXQF)GIEt&wBJJ zJphccsHe(yC>Aup3AUo3h(G}x3apf){`B`AW%*y$l2xO3TtAB*mO40h2~UKdYV@3q z6#?01|0H5E(Jpc4odZ!j^32UA$q*(N`P)W^0=q>Z-0uioZ6qwuz0~bLmga%iQzVlm zd7ZUFgqmsWNAe&ecHB``35ZoK7i@d_*R)c{*El@jiB+kmHw1TJZFD_v*_og(DLU>- z87;2$8R8x>T6F}l$J{94Ydjh#0@WM9DU=aP&|y)}CG?Fv6b~zUAicn^U&{ND<^3(z=NeCKLfrkU!}2 z+!ViotM#v>UoSTe@Ulr3GJsIf8Rjq zgT|9PF__lXMK%yT2}DwvkNJLfu{LSYIhF=GrHvNv3I;BVxk3_-t(QMSibDU0rxkR| zBoc>Wl>n3n;yjuR2zSsz9=)zL{&np1GB$3L4G6l+_-aI884YPi zMQgVG7Z9F(31CJ&_O@~*&o3~pUbe9GepTTCgXf#A6{G~#VAN-&4?*j7y zCZn4HII@SUZy#IN|Gi3FXN&BO1xalifopo74?2+NWw;J5WjXW2BANfjq(LSDf$FP7p1H{y>zSH6O-7^Zr4QH;qJvMj{ zgOXp(LWwi8j@pKx9nL4hhJ~nJ#Si`#+eKH)_l|sw zkISj9XZ_5Afw~#s#YS2>E=y?DkezLv3zv-HhUq0raY3vXoIvyjrQWkWm|f ztUz_C%^@A9-H^Tk0m6Y}pGe$!y)Hp%SilIIn!@K5Pp+{c^YwaZRLnTw)3X}j06;HU zkdrgRJb(*H0TH-L6#FdbN!~y8Dt?%C1PsC%%)WDV^HOqj+X3Y^pt;+p$qy*EOstlb z5hG-a(Dh;`#pe@QdV96=A(8+S!vnNP$ZGczs~sM>qWgoDpC)^3R}FJz27&c}eWKbm zLGSG6+m-Qm5&U`lUjTik&hzn~G$q_9DB#*>T@u%Ppm!ZQ!q0+b+rKImxmOvFPgB0a zuSx5>rAMDyFsS9@Hv)#=`C<8pKwC)4swl-?0Um8kaf;p9*3f8n<6(?ZLBoFYVxkJ< zTMfoKn7_FnoY7d2$Yp1t*%V(=+jAvV3iz(N#Zgy1TBV=Qkceb``{iXLC>+qd}N zUF2f-w0>9(5bqLd-wC>HpfHItmGVr|dl<(Y8)*;)o;ajSr^44KG zY0dr$lrn_Gsi4KtHz%@?4abOMW46fcG~Bar_HUlVsM1eY*MM- z+iAE798R`KvN2rQxY%ze>0Wot95Pkn@@p*P!mVt1TBGWJVlfiBt*9fF7JPS@I5`oj zgp)C->4EA0;!n>7qsf5^!0ExC0DLr#lErZj&+c|W<6UO#!Fcong{=BO^*!% z={Rd;8i4(NxQgyVKxRtgJGv~V&AZ6b1V{THGveA-nSL8Fex}CS8++07&R@BB?(a6z zy$+rBe(+9EOQM(7YLUmi!N`>O@MeIL)>MmQZq~)2fAE|3il37&mi3Hj;{>ag{;^mh zs!sIFFX?u&T=z8_#dRF$)|H7~DK#A~<6IHAHX$0N4Xy(=6>V1&vM-`o<_k62(SKze z#Yva+{pvG_%`-(W<$!=iviS!D#Q$n}RzB4Z3ZCuKUYc{*F_euo%QF*VqQlgUEACjv z!>p`j_8;cX9E+)xbcjvjG;mLg6w#6gg@SKJ8@BQM^@LqFQayEvDKX;uv=p=qIwb1P zwgl(+4#(|&4UKapa@uKD%~w(>F`yKdfNF%g>%atrp6) z;Eo`qtZ4B?aA4}<7QQd+IxMqPWYN5B?&2M>_fG^%&sGXfxL<8;=xIx*$mJ4A5YtF3 zX`&eY0)5#!iKF|QGEVpuvl)VM9=g(LOLz^5-4-wzH{SfSH8ABK6^Aym2Gp8p91r>W$!4C-4*7ucvh;_z{hCy z%U6*h6#{hL6LD8MH(w=`L1V=`*!)LXN!%`?h90W;F|4Gw29Mso)k3(RPPmWdOA{jK zkODHfDzJdc9cR~73^6^Qc<4bb60eHaBfAF#E$Y%Hci+TdH!*3>kXBN~?VAk#P#mo2 z`E7nnV5>9h8;v*ZLhYTf0%?>e3dav2P2Q49e6#3nRnj!5`TP0_Jr{=}4|qZM%C<&N z>W8;ZdY3oNPhPVN2Z)@{XHzmz-RFXx##@MaG$ChvaGHQo2?>%`kyQpw2wk8J}lk7^3y$VLO z@K5e+bSLc;H_dTqIN&deQ|$Wo^!;rJFcd*oa}Qs?Fm|GZFy!XC%pM&`Mc;M#XzSes{Xu+0t!Rn0-(%sVxgBx zMBLAv?A%SxB2Ta5g|2HCdtS}Y*>ArrLW{`?qeV}WWF{fv!OnG#k;#1ylg-USRUIYb z?*GqoK?is)oG_{P6HS$fncPc4klNhKA-};`YhJ_rj;yz?>Az-EXq8YH#NX4I3I|Z$ z>zU)$b;28i3w-fD&B3GSb~a9kaSJL*H3ReW>bh$^4K3AVB`$ky9{)>pzPbnqy;S}5 z{pV*uTQP=KnK(YG_&ZoJIS5>cCE4QWh#aT7Lo22c$tyi*-(_k(G0RN#SdmKnndGRs z%dYFZ8cYpsq*-!FHOYvP&It2cVLElRcSLWeGR!8M%=Fu|R8^z%rou3$9r`;oRvvR8 zhp=igIPTc1picUlphfcm2hvEY>8$w5)DIExLIAN_dpr3pja}@O!$-sV%AbN)(L!bI zMm?^Wy7E33WHYb7{xDb6ddpYDN-ke{y4>QAKn9j&Z<8Ww(vRA%Q0vXOl- z?S8IKJvKB1RW*C3^!l~)c*%V}%6-4S?&53F5Px}U8SeLmo_X|`x+N`#)$dQk1msKh zW+gXEid2{_D^3Zt=d1lLH#6(jo1c)gORG>f?PbmjeaUi|OUCj>lasdbV(*v(%Z6)z>*BJKX~LkAskO&-L&+0SN}NNrNeI zGTc7Ph5Sqhg*_6gll-$>q&H64N(uMU74T=_#2k)KlO-Zhd=3e(u6Hi6r1~dQ6daVkTLLBcs7E4jBjRoC>ZfTX~a+;x?$1YDKqYbNyL?28TQ~cPshf`Jw<)6!=4{ z&9k+@nT*^Sp>K}BKwl*cMmnn5A3my9V=>EA@EL=+Ix2imAkV&rb$ z3O}5gYDIA2qA^Ym=p2N72iF;=DT6ZbodMb zi!eE(f+FZCVJhWRehUZCh_Eo?I&vRMv0E?Xl*vni#F6!VbkYNJF6qu6JGi>*5mw6( zSBP9KwTv@Y?E$ry1Pl+&csOa}ag0+*Y7)e?U1xuP>Ct1IR|OYu1R<$5Dbw!9;e(4` zG~0$N`a+RS_fd62V4&tD2Pu3D(KaFRR4qbnetPCrTR-{z8`-5Sd$wW%7#?+2Sv>k$)$mTgJ9$x1EZb?sxH2!bV z%nFBP(M+S4MQyWb?JDm2DPl4BMjLv-@3`1|f*hN_J1H^qvX_vIoz}Z9x{0BgRBcK^ ze&VGOyj!(1n)BPiovmv+pBem|_okO}B3tMlH)w)s*jBV}5%*&_n*?INVL!3|T*v*g z%8SB$oHp8uTMu<~|Cr-EPDUpWbx0i5R}WLyw58xG1ZL6rD`F1_;Rv5sp7{#PMx8Q{ z9ImovHSd7n2q!7B_;Tj=$Lsb~<#=S*CGR?=ZA=s2kp!Iu_L%ld@&0Lp z0Dzqw9~D@`w{@QQALD-+J*UmWRt!TGC%}AT>r)B5n=7(j?w&rCO&n8Kxmehui)0&e&z`99eg`tzq4=k;)Ba|MF6Gso>STr`-koi7lpXh++;cmsWO}ntm{q zJGufbr;6*dzif18&31?iFqf$Ol(BWQ(PhdyCa%jxgc9T1(YC$CLLM0y6b+xE}EZqq9nuHz;+>JLLEYnZ&9FoBQ z$=Y`fq0$21<}>Gl_p6B8Nv)f~1sw3!b|@`fm6s9|I?MG@^7)i~j921Xyw+sn)X__IN?}_Bo3q*6PQa z)=!kvDU&EgC@vGe*-9cg)*KLO{n#>gql)nP*eR%Vy1T#WOr^LsE?p7mOWr>X5^D0v z{BpOCE#z_c=^;LH+_YlgB6!SRV=(vCHr~|FVAA6{t2G_i4^ypW--z`@LLGO`>hMUN zY^TWqTNm>;<;+SbQl6tUs(CFAe^A`6?MlsB77n&MZNcp>G*U?%5R)%;VfQ5$KPkb@HN z^s~GOmb?6VVkQhGL#8eUWc8BsT7@uozFPZ$^&WV_by22DDM(Dow;!wL@?0D^W}}g9 zaRJXRk)zF(;l#U*95Ce%so3KWSkYtDI{R3|?>dJ+<_><5+KiwzQshRuM!8vhs zn2`a@D?GcvZCfmsjboV2H`_Z(=?bS|Qpw+()Db_@C~Q4lawRc!?bbalW}JB5;U|0~ z6RFbk4|sR(pK=gIebe@67}~H~sg*WH*+#IVimJ;K{xOF=J8yBVBy#?E)^RsJR}Rh+ zCu^O|%9K+})xZ*CPv?C@!$8aA1cq$ ztSE!D^o?jV;(Qzw_S5^x%y%813~_3Up8HB9Dby3ATSe+pnaDprTaCT@+9&G>CURL) ziJCY{=EM`2mS6^0!q?JuaqxdYnYZi}hR4?!=u%j&YsaKzc`IavR@O@oGI!g7Xa89_ zJvC*T87aO|qQ|(qY~F3=H+paXCdrgknV+P5e|PyHraPew+dUEyf)LrJ5vkgqDV(kij9$#P=x*9F408Vod&9eb(@*EyJq6=nBzlgS-Fa0+ItDwzp1MmtnF zkBb2>)oiCEAe#)qn$@KW*Z;<9`iiwOV%ibL7;>mS7$KuNv2MA>(&ms$8328*Hq1Hc ze@c11ulX-`-N+?8{R#S#&`e+oWP|oe`~@PdS)aUe)wFn}7b;%%`p)%Y+uS0$k2v^5T7lhoNew z=nD=W4>}Y3s|ld9R*wAO!t(6g>3odWjrY@Cf7KE4Kk`KJ21h#$J6zi|nZtC|ZS4Bw z7;mPs-#DIny9rP1t&h>rmywmKPq-m2OY>b0-H6y)J#AgHfW30`!VoJW>$b6!)1rHL68yG2W3K*yieU#5ff?OLl`MCZVlmVn6-hZ9z%X zTGfWf7`L>2rj{=-0(D+nJyEMms$SRY+ za#p=j_Y1$j$}_kDd+Z`>3!r4%b5$za;rh$%qwJOv4%1z}A2*o(SGo`rG~UEWzrp8C zhnFAjJI8g?q!hG6wpH-hO31_5cby6d0uz}aaQX_pJ6}iF5*aO5l0koC%l64%X8Oft zOofoIgJ}o<2HIet0!P`0%@(*&-ofX?C`BFG5!@M7Bb2dPwGElsmC~X9irg(kGO$`K zX=SF8hT8(sL0{5rDucu+FxX7->SccS`ge$+;J=*R7@i4+# z0eyklpZXc3Bs0&VMf0@i#BK+}@{wVpn|aO|`~GULlI>NaS(>pJ`VCPrX>lF*{)pu0bj_jxxbAUi9)6HB&+9_0odX(yYiXLE2Yx z>O7>wz1CO(Ehi<$`J(;pgeda0G4N^ySf?!u4Jnwq4an-uD1|%BerCeJsh|mB{%b;q ztBCFG+A+rtnQSHfyW>%F`1SN7gR!sV>gX)DGJS!QvQwPJDgNOo?d>$x2y ztgZu}?D{RwRi9DmP;Ckr{&{bd-BOfDR|v$~wm&0bql=rR6tlH^K50#R>MfHMveP3< z>rJ~~D3e#)s%Wo#&o>Y|BbYCZsjCO!n01n&+nCgvs!F^nQ&^GBRynq8a@Bb`yWrQP z@<+y?5xDfpg_Q4W#i11K8a(l=0*=?pp-tw}JN3KFHnQScV*sJ$Bz=!3i&$7N2HHf6 z`;S{dahFDk5)oHm}Wl2XRg~Tp-aM*hcw`##OhWw z1-=!X|1_9Y@+b^uWbdp70PP(-Ab3`D)l2w%hxGk<5s!QNBMps>iDG$7-ES9v-pM8d z!**73`bWmI83RJQA+;Pot3-Jd)nd1B@}bR@2t@( zqIW2!jnbN>yGo#lcPoQpX6d_S*k)|s7va!jTsPjgy<#_1t^Aqg_w~uyUKAGeN6Rbx zd=RxDT@77}ICXfdrz#QGQ2m(V<7A?<-!(CjJDZY^#ROzsZ2(3x35zMrh~|DQC#+ZT zje0B~f8NCvcHpJ^mBWW?yQET~1wUOCJ+Ky%dk3ELo&+{G6c>!2LPJ{Eeb6k5epiP=XDp=dMcdKn^>)J01vx{SD%VOr)hc$#7XCR=pApW*m#o2GnWpcBsRllFUu9RUwVk7|{jA zX##5@zoD!|2f(dF>#5Y!H9w(}?N%O*=k;bcshzgKbPh0N`18aQ4Cy(Y_`ds8o=WKTUWM`I z(DI~p3aaYPm%vMid>9G;0*`DX97lhs96N@xkO=2dV2+fB^vvfAJ}v*~OpR@HxoHR1W8tjp8U$Zw&sn$ckeAnKYpl1G%;^n1ry z;oxPN3^INrpSrE}28v9Hf{>w#g!9Ox?5j?76~bpP3#7seXbd*RUou*-2?k zMG0l!Ky7uox@Q5jUxE7#IMzd%Tc93|(iqFJFMO9a(Tdcp+oKuYY9e=P!4=RkIwVz^YG7ORQ5lz}s$b_MUSF+7YI>D2_knBABz zN*~VKExt24!3T%XfgJ@*Zciu6gp9rw8D6U?V(Ow&-6go}S~s8WkIyLyJbBLD&%BZ^ z+aWax%;%X?cOqYa#m}pIf7UpyWN=89efe<9Sr8`0=v_{_Cv>c_E{7H|Pqan7|9w6D z>U`^UgOCtV@o5Jiv@#_vEkJ^={M8BM=bOF$F&)H^xS@p5;l7yrqgY-vtAN*v7a;Qy znBXLKADcppOABP~c*+!EX0TkpI>zq(TWlj(+JdY0+uNxJ^~B!9sdCGvo%ol$Xpyk8 z>pz9uAGPz}BC)Dc9wx_|M^SvhC2N=((aKjlQYpms&9Up~K^ z0(1!XC1DKS=F7)!2*3HE2eqstI} zG1Fs`aA;Hj=hfQoA@^dNsgw6vv9(3VZ^c6>4mbWq4y9#%sJ?G@yYw-o2S6R>pRP)< zm{tC9w7AUW3wrMcYnWNQX1Sh;s%<=`3RV~H?=Uv;MXo-b=%0BqUt@f<%hrL5skj1b zc8PX8J}mC9r#I}y+Swuav6GevMX>5bFrI9n(kzKyW=ap_3G;Z!xVM__x5eWz;5)6=5hzJ_F*mWv zR~*{*{I*%4&q(E-akig-i0GR1Z#z)la6CG)8O30pOy7Qu@v7-TuAw`jYh$22v?}$C zi_Gei)6{aCl?D%f>t`e-i8pt-PCbX^Hh-V1;;qgu!P~nMuSa0e^JE*eXA!$Ba&F3g z3=*s18D~a5C*e52$6l5}aGxa-tUH$oD(2@YT`gbv^SFFEwMZE$-UzJPe7R*f{`>nv zFb1iZ0K&KKSl|#}z4F>KMLvla0p^+WY$$U7PFtm+Cn~{^llCeV&LZePb$i!<*Y=ug z1tJxptc!uAc)2xY@Z$i_@{CK8F|P0?F$?7Qu?M;y)sqHYfyjjN+sc~0-;KPzX{>9< z><^@3G)@588FBA}?+qm-@LKWP^lQ8*E(Mu1+ZD^G;h5JnY16_gmI+!jE(*jded$BYj?tME`rV_Sfo zDg7OjwdL*#mc(;QZ4FMkHds_SZ4K_JIm9oCM$7HM^Yb;mx`-KWtaerxYM)ooj8qu! zqwh(lR5QD$5l?ctnTopOZuiLf-~QMQ~isseyEF-TcC8q1ucmYs`AW}j)%|WNLZI=+W`2yc%JVe%0N`GGl z>9X6E9RZ=pti1ps(3g&&w)@MD3 zp)1@3R;pPrvnyeC%t4Sh(b^7)nJbVmGnajO1k3uf10W8jcOI=HzlIIp+s<_v?Nv<% zxm%H&>G6Br>)$B$5*MZ|nW(FYnUU^x1JaS`9uWghmQci%t122yXnD?I)DYqK{e?Hv8E z@nyX9HD2_TjELNHFY3u?H9SlW!3!M-`5s+S`B$Utu5+H=oLVy5y7th}Ny!-64_xGLi z{&=tJ`>y>j$(5`%GuN17&N0S)-{U8P-y?yS;W;|U{f3BHEOvwbud%7b%#Z~DAf_^3tC-6*o?T({!if{2z`JBHU+R{h7 zNZQE^_UhFo*rf*~Zel&ufZV3b}@v1GZl*`-xE zo>V<$3I@#AXqG?K+7l~pnO$>*A%fpk%k=eIIPw7Kfj(UJ;z4B#iT3C+3oKTvar}7ToilKwwHGgeHfYGT0;hzLI1LXx$ zF-)bt#I5(qN&#t4)71zrl0>M?CMyEG5!UzN=~&-Nj#I#Xg}+{SRv_tT?7*Helz+2H znTo?%k~q9*CsF1gqZ%kI%I~~Dh=v~l_Ljem%v^c0ZnAEZOf?z1b+yVst=H z-y;zyvwRp%0l*!MT98tlwePqPbt{@q2sc1&$DbF*#Z%(@A~=ij4ACG^f+cV$au|m5 zBZ^8$!JxfUD|$^k`{qEd>af%*0P(@tXY}4F-1XUWwYj6qv+|eHp*~q{fh@N=!ETdQLU61+5Lb9 zf}UgXesiSf!Tz2IG23~xkEwC5y_dSrNgbAQtp952mlGeTmI11laq-l9QCDv4YH$0@ zwc)6JvXPd`mk#+7Wj*tJG2Uo<-bii=C6s0Ew~;q>`I;bP^LZ7;ajRz|Qzx{HpdcVMDbvs5j{kyw6i`da^D`j6H;?GGac%o(j zd^W1-_Ntd^WZ1SePeyr4GP$><^#t37IM0|m&LUf$asH>5wVQPuur1NO59o!PU&T5VB zzft(Ll|MK5sYkZ%iKv!cy_XGzdnWO12zBq2&36+&;_G)bQqwd{EuBtzcP(*sEAd#d zczc5mPXTqHi32_Lts*_;t?zqdoO!{U%l6nvo}g_!g!G40sX)&1t+rAR@h43hFUf#4 zZs0cVt#`j&OSJOWX!?}vSKlWy)k(}-ZX8ng{xv^+5RH9rXjh$E$D!TvXMicF;Of2`YEn&Isd6w0$3HAfLl_1KgSKYtous5pW|swl-gRI03H?a zUWE7BT+DGw2T|!(khe5CguZPGe9Xa+ZFoZH<;64d^fW6}*3WLV|JmnVyGiT7_Cw;s z$LIedjdU#Eb1e)wfnI-776J%Ym+@b`PviXbV5MI2*g2-~xh)#T_92PEmyc zhW|9gzgIJQYXS_n?f2aEcF(L_|9E9wu^@25_`j8RsH4TQJU$@9v{6=%eopTNLjfB ziB)cWoJ`<#rUjnFiWqQZ!7We$Rj4)DvoUm>rN5#ac%0A3 zmpuj*%BFv1e+&GhC%7}c^&38t*g_{s9r7BI@cP&+qyU`Sup7f!;M>&WZ({%f;nJ&4 zHpf=>chmfY5g3+cW~B8$JfFYYw#R`?i7@BKuw&cK=w|`aCjG&xR(~!F=xy=&_Q~FO zW1ap5u9|UwPsxP?&)%mnsU9O7p4bC#jO>-U7$T3~xt_uJkwbw}xC1uTwNYdRnqXr6B&s){w89gI{`3DmKO!sdS#DD(S8d~F@ z{AqM@v={5Hx^Kj1E>D9Jxq9~w10wFV{xz)p%==dPXt!07+|q+ZO|D4;d%jI!1{m{# zv+}UUJOx5+h%|L?W7FSj{sXxBTYg&OPw9@ieYL#X?td-#oP|W#I?&})wdNyT|KV9I z-Wo*U$FV@Y@obFE&%t|klc1V2kcfXJ8hAYVSC0ULS~a-{AlFa4mDiai&jgcoE%rpW zxe_dWII@%h=-Kf^XMCm0K3n#@8IA=&KfT7*17splzICqzf(XCho>aDmCIH|H9c~od zd-{%vHtGb;s8ZA6PQX&CjB{<6!(fKWlB96u&HIPxTw1FCU|65&-_8V4`VKZa(lb>= z8n*Q_cm7p(x<5^+1~Af|1is9FFp|G}8vm1*oyU$WIrG-Ff0)X@Gwc7!%W=Rf3!A5f z{ZmL^*T-h)-?RY!W;y@uv0jq|R)}rH*Ej#;Umnle|2EaXzI=7;vz`4eUil9j{;%Kp zXNU6tylwsM(rJS+EzK0 z5y-+j)=YQ|ccPOe$uGCsQ;GWnoKml!@9d$KZ%!TU4(nlmb)#0^$N7Of=iP(>gffmQ*=QTg6!6h2YS2LrJZU%jQjWWNt~(1hWPI6 zCH5Zd%_L=SKJgT|h22-pXpD!dHbzaP<)uS@^+GA{_m=b0bvl?!VkV08wJn__(;#cg zc1IzuhsIV8Ic$CX3NER;`#gbnC+oM?BHyp2NLh^+m-|art`rs}wXs_(jvRKR2ijRd z2qM&RGbfmx%%oS=6L6bZ5CEUuTF=tkn+CE0PL(@mPOO})M=Jtv;nP6_fl>i!R39Xv zF4XkJ-r~w~YQmA3-aS(N-Wr9c_v<;%lm@CReCTBH+Y8TdR9p`Fz(2SKeM;(eS*@uj zX|#8xsC0$A0bbwVJBFQ|%Z}!E`g*?r1V)kGO|<8w1vNjaIP@`30U+K*w>K8r8h+p< z73WD@uVkiQhgwX0U)@sNI!PfJnVZvBXA-9^W-59_UovBYiMMcyr8#s#M|+8wz>>yA zZY1%UmVsHoSHqRd8hD~>{oY5a>S^vWxT#OFt>Zw?=$E)MyHskXW?$@H=IEidSi?bG zQ-6;8XKd;KP-X5CGfbVFpY36jWcH@yHm_r5j(KL*_9JF5F^WF`W;mgAtD9&QuxgWF z7Bxr<&b6#(ViOcr?lV>Q%A^uAlO={z%=B`g+P6wT)6Z;>KZu zclzKn$v|_}Urnx6n=`#16`WrN?ann}fik$(HYe`>mVJukA;22>{jKd@rN<>xbZPk) z)UQag(t6S!ijweEQfcW;@Ms-8KZf+6B=lj(u|tXb0%S#O!?Xs0%;nT|aZtMmc4foh zkgl|8THX#5-+GfJcq7L+b#kp%j2zhgvuBfz&f|PNr%uJr3Ph!UWydu3fIj`3TD$BP zd*I8Diu(_hM}iM$)^fq6!xA6g&Q@HT4a%GH8E^hJ(`0|C8D(-g4?5oQ__aE=Ilykj zME+f^2i>i};;vC(z4QuKKdXDcTvb3hBr8YXCcFw^tR$7JX4~Fq%d^6r>+-yZt+;NN z73}=ko_*)RjK++Xder%gVU_KRrjwJ=KqtLNo}GUXKtqRkkgSeWj|kiupvHB?;a#NA z+I9C{bL|D_=#}HQ4dlZa*{2}H2XE_?T4+QE93J zgT6s~@n|r6`=XYV_&Fu|EMXmsL;rC$7RBZs*;36U zIEN&ffT~#Za`4e(9uENc zj4q_lXQyrzF8{&@DueiZoL_!)@lFcnv9)gU=>ATYS#(aFe_dyr0pOT()wWK~e`DV+ z&YdpEc$m=aZeg8&_E*~}4rBZFoMDnIP_9iDI@KPNJf&zlxw3f88GMjspXyrk1+o3T z&|hH*bqKK=puy%CTY*b#h`h5ND_vZHD)kwy*IU(7kLi|h)UNKlqEl{wXPfb%w6Ws; z*XG8rd61fXOWu)6>UGcoTC~HY)+B9lWve5;+-5i>yeXeJyK^2tr09tWj9(c$$*hFx zsA=6XPi8tz?x%g>eA#`bL3FgFT+B2#a?yqCSkWg!KQ53*-jV%k;gHjmoC<5Ii_2Iy z52ee#_G@R?C5W-5(bnRqxcL?O^@t19wD+>ZP+YRz&_eQ&!q1W>^pX~8v(vP)k9t1` z+jTIwvLgl$9GBHl0COA9#3RL?52v(MC%G^21RuQEkt_37`NiY+QzaLadh-EW^T)d@ zbX$G0hN+giX>JZnCep$ce_4XnjWIDTjbKoPXO9lZv`G|q_b#llsDS7JDBz@Oi8Zx< zI$D1~md*24x_3w5Sd?fP)sRlqmEip<@+-m+icEtp$@ag+4n)M%-{{x)U3s`OKKyMe zs|dcVRYP*J`B^=pf{}j%r3~esfzK!wpc+&_#XOE&w=U8FaZg4xkmwY;X%P|u)C8Dm zpeIn(lP%#t`7=EjC^hS>#jDxT)8e`rs<9&}+OZl!owEv}o9POJC4`m(wMLtUb!<>x zU6nWweR^9MzXS>0_>JXUO8wBSgx=lqn|=OxQALgKz}8kJ_mlCg3E9lK(bre`<{b4_ z7Ifj%*}6`!4B6ZkIPukcR$1~gzHMp~+1rdMHO zBY^m@5)cimGgH0f{dU3e{t80vFB_AP?*)_(Y617|qUyVf(ypqDU4RY2H_^ zEfaHgAB)k+OQ+}5ShP7QWo5l^1QgmJcicjMu;Fdinl^kfcwu}xP7q`DUr9zjmS zgG~~#$@AEvTW-dHq(LpwDscss(wPNVth4EPJZGH3n!fME9!5MTQ@^Fn)t2Fwz?-(k zf$rR@ou61#a$EEl3;K8|NbAHFwwjN(cpMuXrN8wm=(RW5chd7B;SQzajQ;*Hgkt|F+)o)OAF|O90F3|@Ch!`^ zJ%9!RY?Xz3P$l~`00fupw{whH<`{!NN`oHGG4fUc0G65Mj(b8Kqg+cUpBG0S^}&`5 zTR_#STR_6OVj}{ZpAdc8G7C+1zy=Z5E?&`vrxAUOP9SW_go zR|MZU+gm4nvKx@pm+)k(&(pmEGTMq0EmooF{c2KGY8^}vc*A9o z10WakPM}Id7@v2C9v6$LG108hi+15`2?L1v+@p*9)r9^! zZujulj;Y^O;=UWlK@R(*Nz}e$^ZaAPP8B^+KMMAkJqqB2O2vg2bb-5X9Oi^Q?Ju{> zT>elbIX`6TG6%1{;|YQ#S{}V3!n8z2K*Xs3p zfg_%b{_hHPNRiN^^CZ2EY9D~=cr0tlAyuV$Sszkjm?~NaA@a}3_mtqBd$hM%<5m=0l-Pa0kiCQ%>Rb1Uva6` zQmac}k?-O^-9+{J+N(RxstMBbSw_bm3em%8P_5_SCLDnb} zcPPXrCgcGq!SP&v~K^5|EOxw^#Q=JJhV`7u?Wp0?-9?UrIHor!in zb>{AF#NxNt`6VGTDyQNPKx{u4$72R^#dI@rVO1Q>;XcM1PJb(L|11GWdCWy6bM^V$Hkw)~S4eR-tf;?$iZSAkgQ=-~pUQrIQwT2F}0UhCtO zcOugCi^bMjI-Ey6TKAcZfT}U>(f9B#8uMcBpY3{s!(t;dLkFafV;et~$4k{A_d!lb zr%G|>xC^RrkdoaWx4!e!F1n;fX+C?Owlc4fqo!}Xuj;-m48InLNkYh=dtA8PI*f{> z9KLaeI-H&nU=fuD!h|HeB5@jklRxh?GIvQKV-7b~x5SdI8pJwHH9DVi-Z5p#JFzn& zDRvBN--b>D^uwsC3P_wAbkSr6=5AYjd#1V(5?Q+^$oj)kB9Dz5i~x??&Ynzp<%6dg zpEH?`EFx#?w{_6QP-e#&fISFwVP-lm)V!!~v8c4;RHsKCYqsQrzRCfVl|F!RE_Ox} zaC>Ww_f;5T+$~n`O68yM0R(so1>PWj>82q+lV5i^c&?vtCI(8g)G(U+CD>=>W zk7+t@um&_6A@_FWK~tIL(@mdrI@o;X~|YHr6(FEaq8<*dEQ86zp3E3y(or3Y{+D=m+$ChFlpAQsxW zc^oN7qb;V2%MLtv!*Tww0f+scJXg}4ohqCiRy_@Iv&{)qW_YXWTf^3f) zp#x~P!6OLXYz$UW4Odm3FTX#=fv}Ow+!9 zqcsX;@lv|7S3(P^YeUpp{Qje9chiYFsr4%#fK{ut8+Sf@kZCK*q{2CRy%4$06%B5x zF)oEoRIP7jF)W-{PMH_lEp)N6c^}TQ{l)DfH*2g+(TQBky>=@r-Zu#sbk^Lz-Pb{Z zB5w5E;K5#`qGOOIL)BUVTSGmiINeSLK?nN7OW#l2ZbIueG;7!UMDS=o>FTk(%6N~d zJ$2hWZ#TcbfZ5!!ASV##z}NW<{`yhC=*u2qWR)qpC$&&=_{ymCF)|QcLtTI`I~7m& z7T5k}bZAIiSSu>UQb_QX{?P{CPy(_$a>a!3Gk=(xU{&`)M?c$in{z0Eoc-QJwj{`W z4T2MEP$q=s4pXG&8dfWQ9hRxC7|V*18%GpvS~Vwcn~)dlS2zK6+n7CINghl|8I!|8 zjjc;eZ<8v9N<22cz{P>-(zL2A%3X66FhPC^#-u>5vz4qaEA|3BuYXxA77W%P#)48HrwN~Tf2|^{s0YDz!#bB3 zKTqNo8xyh!%vzQ0G5!N$4gLXYL@zn$-LVn87QIf~_qP)W@bux2qK-rvz+)%OBr@)c zY{OfgQFR^6hB#$qH{1EUPrf*G59i_yyI{+st#=1f^Zc^u;ZBd`xtMcV)7Oh?ZVMi$ zt};2KvaP{qf?TV%NCQ@BLk^`*uyX%qZ;k8Ao>Pv_r9qhUR>;aUH2Qr?s=zi>lfbkb z&>rKdRYDm?3E0G|S$Eo6!6>y}>I_W+#0GNnqadi+dKxIbTC!kF?&awbntjgO;t={;^%`yVJAT7!OD-M;~M%|P$gNMrb!>? z=6t0EX6mMAK0`Ne>}MQ+ESBZ5?MMzkgBBp9%%e=t#?y=h@zS{A8VjPTesldZN&8+E<0NUN>zb?-Fx6X{Rpkk@G|o_2{%~2_YcZ z!Y=+M{i4T5LZ#u9P? zVwh);w)=mlT0-qkaoCa8xrdTo6SBYn^pSlbsAH)vF7>XjHDbkAFIY>$F{Hg zbQ!+G9#hv1T-jj`FJ8cPVfJF+}XM80mW>9C(- zx3X=Dbtn1~GrqXlZnf^nKH_$NBHetBoO)a2cI{l+R6v>E+Fqj4b*gtSTcXwTcAeUO zjN33*V{FE3rS3@TtblEP?`xHoD>+UbTs1OW6I_O%JK8Mf9o~2QaPMlR^UaukPl_y35cRnM8Edd3RK*)Wuqer^@wXNF)zR3 zX0V|0aj2n(l@1ltOuB1l_tFA`)EEoA!XnsVYo z1JWUmOSH(}?by%)aExE~6C|a!_n0SLZAGtQ zCSQ%(v8JAXz`|ZOLfiJGL;=@**z54Jucx&B#i?@~i^yjIGIJ|Yw2haJgrCu@HbVB&B_N9UFg105=C&Hk7`z0WEq&Ugv1t_U zuAHvv*Dt=~IQZJqqy$xPOrlo_Op4~gJB1#wO_==X6~boDRO71<64d)rSQB4W5Dn-#a$WBqK6 z6~2;`$X>x;e(bxKwrz8M5Fxq*tmQUOBlDUIwJ}~>me_qxm!3sSye?XaJl1B6+UtnG zN3M0PFtaiiPk6!g~med9-`rV zUdpnh%SI>ykLto|lpdwK5lEx^zbOX+=RH55?M&uaWUWRAR>Y>Gk49Brn8}5aR^T4P~r1y;*Bdl`rZrVv=`v903%4! zAg^zepo^dQHQDE_Or1VD<^}c+&LvWmt9NC*Z49YX_t2wkg+8(Xo5316m(Z>Avbv|i zJ>(K+$ikO&`2FFjWm-|9+dC0j9SjK#6fWGEV+9xFye=TTfLRk zJFQ}c6Xj0`?ru1u#jD_{u|{~1=3DcZSJ2V5yPBT3sq_0rg^|eg>2b&^I`TBnbU(bO zkf2-msBw#~RNX>C#!E3HC~N=K+GXkd*JTwQwkRMC$8HtKOSF{YUYo*KeP`u0MC+xx zS6Y{1=~oV)aNqqg8MC=$6nOBMEc67tP%9PiM`>H*4rPEW9$d#b!M#- z!mIi=zX$bnYQegTkf7a_*ri*$RoysLx-NSKY2|&|dYqxKJ4IDK+=x`ZZ*)GuQv~+Z zdZ&1eZ&CM_;5PKbG83Cbzex3(ShlXlFuTV%g6xw1?65fKt<3hk-n}i{sp512D+(VC zE4r3bWvm=z0!_XRg%0KXthNN??E$$RS4Zb&BO$xzz9@BuN1>*TUz}n_3462A$ zKpS>n)fN5yF4d-%9XQ*>X51q`bj|aJpF@+!ZE=L&r;oT(IA;)B-kZZf>uu$HK%i!O zf4XOH%VkXw&g}@(PenWgdEA;42f1AM7W!od3dW$m1v%zDQQI!295{3*4FP{ldG8Q{ z^ow3Ce#%px3Qh@G`EH|qXGR6|XvD(wx@W1TtAG>Rm4Vk7V*d*P?NM;bFre*n5~5Zn zwPgsXLjh^lguKCVW0n1uARocjvSvCk<3%8Ss&m^GExMSY)CZ{L&_uV?}9B zy;s|q2DZE-y)QNO*EgRI=8oO1ntkSpSrtftQ}^haA&_{stA9PCyyDn#rjXsM1>XL( z*_&Nyc;YkaokiBYv7pn&3|J>6b;#%(`=_oFCpxwiCIYVRaIF}}{2{ruoM@%3VDfkd z)o#!!tw|%SbEN$tkGglWPsl2HsNFl!ck7XHbc2j6yVIfLfmZ_Dr+P}p+(d|Kwx(#) z;rc<_Y4XZ&BnO-acCU4o#y&Ow&R0^YPDK^KMUEZ7V&_MUUiZ(HJ=g&Vje8$|MYu`4 zIP@83pR|hqs?6pZ_jFpsZu*8`eFkJg2DPtcR%v)7;MFi1VYzy_e5AsxU$FozRK->1 zU4IZklKzmqWnkip_BG&(mIetL+gw|;%u(ua$}r( zKDL_a=?Md~kB*-DE=L;peskAqQ_=T8`UXfhn#M3NCAa?SdDvHOSAIKty^@>Lww&3> zIoOmK+s-=7E_i(2O0z+g+E4o;(MN_Qa19jhJzx6Pq%R!yl(Q6Zxn!JfQPTO!hh&y_ zoTu3-CBq|NO;0&oxNz(&8+}>$!{00DaM&ghQ$4pFTe^;lNSB?5B`2Uo9htQ^Ilk%) z$}cP$>vqQ$Jh4K_kCb;*b)LuU89wGQ^c(B`LtbUUr3CX92>iU+N=)zVjcg%g)VW7; zoj%HGa+eG?J`nvQc#73Pxzh=SH*faZ;QX`D9}TA&4&-@|r5>Z|u1Es*Qm_21%RQDp zUDmi=K#&B2jyl}Omr|oPI&L0gh1vKr`f=C$CUNq6fHaY#MKgx|2q@OR^$WpbaIw` zZ9bVCZC-o(O5l7QGX0jw?FF@kgR-Nau30fMo#rRJ={2+6MrT;=pEY<~)hrO5$;~2i z-+W#WPCM6SFiBW)FYC$M{UQ`epv@(^=7BUrH_}3Elt0OL?=U@#qG0 zb!zhuFWiw2{tun+n7c)qG=tt*0Rm&1zhq#mkKaCDAJi%mNTO@iSCYu5nx+kQeMLNi zUF&E*eWZ|wN%ow@@QYdc|GIySWLK!!fVXAqFlAD>y|iEbcqz*HTkpP_+~@l$Gj9z; zOjKm`^=r4kZ*BQrnzW1idOmcSkwU0xFiJKfgt5I#OfRFC;WWx*e7;6k$ZD8fW}_p( z_`Hy>UGE#Wc@v)VU7q$68to6~A*ap`D8U^VtwxpQrVZYmyF!w^g}H2>{ZPhdJ6tZa zp6QWAnt@Ez#TK8Qy0Fb>#@)5HhAcS~P_e?J_-j1@M93>E|3%W^LO~F^<*n|32S5*v zu<1b#m4+kuJ;@*g&%D9M0*{z@G}IZljQ+T%bGRa!eQFCL;FmonbA9=68$&paAiT#L zGet$hi}f#`WdtEZZozoSRuD}F>WUYQ)2hNUT&N5$;XM9(c8r)Uf8X|(W!zBM!4D?U zE|%zO_lcr*`kDcco^$AI7csAip$$IKXBD4Ac6KH~wxK%S-t3g@t9DP-V1umqRn{NkYQg=StsMklEK* z4Xr1=KJh3>pm9F;xaf{;M?6!_`r^q$C=i@t|J#K9ES`JRmLFYN6CTgerfy(#I!ahS2 z@J>n%$Vlm0!qZfpvGr%U!1MFISnZ9onv%G-c&g~lN`fJSYLHZb)hlIPZP86uq%<{d z2O1Y)Ls50%c*ltoWG1IBfr0x-p>#66HB%ZtpHuMl4u}5SLZ#kbh(S&ry*oHXnW*p# zS6r*Ntx%r1Xk?$Ok%!lNSt_1$sZGGMQ-!kIE#eZKwW2|yI<)t?qzTtpiORSd>bcj( z#MxzA@V(UYLJ17mr%C^S56g~VHME4w!>9_orB472*Qk;o4XmQoDxai*GJ+4R50s?^ z>|^fgmQjmV&XD=s`S*Egl92uL;F8U?siP7F>pZDR#AXQ`BkZA_2Wal?enY$R59)CX}Je=j&i;`W>#X#k_cfRP%fJWn5)=&+1BWOm^`Q$uvXS!tOT4Yn&~ zb!cycZ+!|-Mvgy9*((&M7bh{DSFU*JvL-*4SnXcaWFxz0u-DK$`M47rRlT+<-3Jz{ zcG02yxtB|adiHas@IAESST00xfb8-bKgbAkf)`ulvn&W!yb~Dx_9)TxvH)Yb``*u= z$e~D{&w3slp0h26nxA?GQ{H{8Yh^to_=atAKm?6ZDfhhVPqdkAR^6{jaJ`P^2NcWq zBn7x-Ki#U%@(ESsv_ovYQ(zv9u)e|`!2wR|>Zc&Qa~0IT1~a5HUk-e#n|w!DdsNms zh*VAGzw2tK8DOY+bXF^`TF7>~CE^cnk*b*LxiOzdO;bP%6;W@cjy_ICv2MDKcR2}$ zveUv_ugVGc5!koiea$E~`;2DbUzY{D>9zpZow5%bX}n)Pb3F-FJChUrfC-QTryMv@ z!|`5dE6HvJNKm!K=IYgC;o@SIwHLiQ&kk2Uo@PuA^~e(RVty1fAg9TKP4$3!Y>bWk>g_6f)ng>q6S0>D<*oTX`4kYemBi$$ltKQwD@^}jYS z=@Re$36ke#kI?N|8ACWi4Ip*-F|*E>0mO+6W_A>mcgr)!gT+oN@|xTekUEF$En?2O z-ktb^5*VSTiQ04en17t+4bbkxSlKX>UsfCcmA zk7JC=T{^E1@w$~?85oxlNYybeJMX#=J|zHhCF2yG#L5|D_p4@l4e*PnA?HA!6o#Cu z=1!@fRA&%#JWcPEonM9*ot#WBHwI@oaXDU`zwDZ*LvT4L00$!E$FFF2j&Y3_n-c`H zEPYEZCa{VwsDHQ!FuyauT=-s8P4F>Re=v# zmjMCY8{ek0tabS{TF{TK`n+)%dCe<1$?|OYV*sq|8{NhflsbQjB`%kLe!tQs&YE|( zCX{cz_&xo(eFZQfe$rAcDo38dC1%uE8W4lD;a=C(@{B)~tH&|VqfxqUK`+kP7zf@V z>9UV^Mm=a57bK>X#XjAG`Vd|R%bFef@QIQpuP{6;Z8S5`ds0vm{QL0}Hx=5Ji({A2 z@M(WBzOh@>i!$gnA=KGzRyBg?`o)oH@=U-Lf%1ar=>TdLf{Q1f$Ih2Awnr2hO{``W zW&8oP+MX5*;QRSn|A~5wOrdo=8V-OF71J6|60NU;)C=|o+d07A^qc#>d@9S?!W{5b zy6{_=bs#qy`@2;m4;stTc_s)42-ILS4080mt63+m2shR?O&0iUc*O|C3HIyHRwIom zeD2)tW!9qi$hsFsV8QaB?vy{$B=9x;u(EVtP1_FtJQtHJ9~^aOV$|AAADML&LtxK8 z(&rSN7o7z(jqK(PDI%G#1>BX_*IDFv{U{d3)lQBltH!(%J%7&^@PXHLGZnAls^Wqk zlrJ6v5~1rpr2(kGEdn?QlJ)cP1${_yTRm}Cuar4)7FJZ2S+~S0Mo4u&0B3d09D@)Q z*9YejJ4TBeAzJ}^#Q5AGZ@&DgM%#ivj}~MV8y8K})!_gx)bCx3fUJXZ0PT}%XymX; zX5tITQ*xwv(4O}3RqXG^SmZl`M3sx-?VTz6^QBamdT4+8M$;F_B~~LhubSJg>=q0s5I~U3B3ft>ruf zATgY2OuDnJgtBsqQB;$pU>XW7%rlo}1vHzCK!iGKhCw1h=sni@OGp(%REeORR)T zedjBbSxV8q$dJi;CHsOvA@$Bo1|T=r`Z6wOJdVs&m@+s zV^5afORVtJDCT;uZIsCB=A+UNfD&?_N~GA;Qp|6}(@9H5^Oty@QJv<#$Ic-ZZ()E2 zg2SX8IZUlBhXqlEtZyIJH;en8%how+qK72%jlyO6TsYjqIa|96ryE{IW;K*MOJ>R6 zCnOO<$77g>8Vv*>*WqW!$b-^%`$clr#B%>kP7HI_gXv%M#=#o%q+Obfd| z6Ry`OW%80b@|MAjkJP(;6bQ93!KFH^YqfY9sueYa^T{GNoy$-(06lYPVAmH*{0est zbT=O575TLMwTE(%?#unhgF)**0BqDf;bK)F6OriCqQN9<$+$znY~-@#!rco43)l2h z^JNU$xgsw~M80f|u1jcX7~5~pZ3DT!%G^W^F*9Av@99bqV@;P7=vyOxM$>hl0O)k+I6|c~hDlOKEVjl=Y&ZOzlf0 z=v5b-@<*rP7T00W*v?AY(ii{%83v#r6#ng$Ka&`_d(6_~Xno`qYd<^7z2k{E;mZEY2P02Vx$d)QNQXJmc9}fv^qc(;Lb610-dYZk#%l- z|3O&?V!U#>c8qu-9-GlH7B9gZPgT`DG3*<>!28m(%Wcu&l>@HRE4>i9QhC0b0U0Q#jC_D11)IoS%i$Hz5p3|2q^>aL^dt48+wLp>c7 zT`$3}2c5OFkd@xLmc&Y2ptJlpw+N!{Kzj_=ixi-v0}K&_EwNjz6=;m7lddxGzcSD4 zwP=NGUw)R&n`m+O4i76`6BV|MuoTZZdz1HWGSIzX`_ueR@Lehf>S>u-+>z$nzRh`e z2+Se<#tW?D9^Pg7mg$^P)dei0g~Q-zpTUy~zO2_^Fhg+eot%0D{oS?io?{^u0TL;! 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

^av-HCCEiV&>lq<)JA*~fEbDA^A^p4C@Xx9u4A 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

^RrW- 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 jLa^8N|1H?7><{{;VW?9MhX*wBL7@)l8

Models

Swagger documents the structure of request and response bodies using models. These models define the expected data structure using JSON schema and are extremely helpful in understanding what data to send and expect.

For details on the API, please check the tutorial on the Couchbase Developer Portal: https://developer.couchbase.com/tutorial-quickstart-java-spring-boot

")) +@OpenAPIDefinition(info = @Info(title = TITLE, version = VERSION, description = DESCRIPTION)) public class Application implements CommandLineRunner { - + @Override public void run(String... args) throws Exception { log.info("Application started successfully"); } + public static void main(String[] args) { SpringApplication.run(Application.class, args); } - @Bean ForwardedHeaderFilter forwardedHeaderFilter() { return new ForwardedHeaderFilter(); } - } diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java b/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java index 26c179f..9048297 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java +++ b/src/main/java/org/couchbase/quickstart/springdata/config/CouchbaseConfiguration.java @@ -6,40 +6,32 @@ import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration; import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories; -import com.couchbase.client.core.msg.kv.DurabilityLevel; +import com.couchbase.client.core.error.BucketNotFoundException; import com.couchbase.client.java.Bucket; import com.couchbase.client.java.Cluster; import com.couchbase.client.java.env.ClusterEnvironment; -import com.couchbase.client.java.manager.bucket.BucketSettings; -import com.couchbase.client.java.manager.bucket.BucketType; +import lombok.extern.slf4j.Slf4j; + +@Slf4j @Configuration @EnableCouchbaseRepositories public class CouchbaseConfiguration extends AbstractCouchbaseConfiguration { - @Value("${spring.couchbase.bootstrap-hosts}") + @Value("#{systemEnvironment['DB_CONN_STR'] ?: '${spring.couchbase.bootstrap-hosts:localhost}'}") private String host; - @Value("${spring.couchbase.bucket.user}") + @Value("#{systemEnvironment['DB_USERNAME'] ?: '${spring.couchbase.bucket.user:Administrator}'}") private String username; - @Value("${spring.couchbase.bucket.password}") + @Value("#{systemEnvironment['DB_PASSWORD'] ?: '${spring.couchbase.bucket.password:password}'}") private String password; - @Value("${spring.couchbase.bucket.name}") - private String bucket; - + @Value("${spring.couchbase.bucket.name:travel-sample}") + private String bucketName; @Override public String getConnectionString() { - // To connect to capella: - // - with ssl certificate validation: - // return "couchbases://cb.jnym5s9gv4ealbe.cloud.couchbase.com" - // - without ssl validation: - // return "couchbases://cb.jnym5s9gv4ealbe.cloud.couchbase.com?tls=no_verify" - // (replace cb.jnym5s9gv4ealbe.cloud.couchbase.com with your Capella cluster - // address) - return host; } @@ -55,7 +47,7 @@ public String getPassword() { @Override public String getBucketName() { - return bucket; + return bucketName; } @Override @@ -63,29 +55,30 @@ public String typeKey() { return "type"; } + @Override + @Bean(destroyMethod = "disconnect") + public Cluster couchbaseCluster(ClusterEnvironment couchbaseClusterEnvironment) { + try { + log.debug("Connecting to Couchbase cluster at " + host); + return Cluster.connect(getConnectionString(), getUserName(), getPassword()); + } catch (Exception e) { + log.error("Error connecting to Couchbase cluster", e); + throw e; + } + } + @Bean - public Bucket getCouchbaseBucket(Cluster cluster){ - // verify that bucket exists - if (!cluster.buckets().getAllBuckets().containsKey(getBucketName())) { - // create the bucket if it doesn't - cluster.buckets().createBucket( - BucketSettings.create(getBucketName()) - .bucketType(BucketType.COUCHBASE) - .minimumDurabilityLevel(DurabilityLevel.NONE) - .ramQuotaMB(128)); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - e.printStackTrace(); + public Bucket getCouchbaseBucket(Cluster cluster) { + try { + if (!cluster.buckets().getAllBuckets().containsKey(getBucketName())) { + log.error("Bucket with name {} does not exist. Creating it now", getBucketName()); + throw new BucketNotFoundException(bucketName); } - } - return cluster.bucket(getBucketName()); + return cluster.bucket(getBucketName()); + } catch (Exception e) { + log.error("Error getting bucket", e); + throw e; + } } - @Override - @Bean(destroyMethod = "disconnect") - public Cluster couchbaseCluster(ClusterEnvironment couchbaseClusterEnvironment) { - return Cluster.connect(getConnectionString(),getUserName(),getPassword()); - } } \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/config/SpringDocConstants.java b/src/main/java/org/couchbase/quickstart/springdata/config/SpringDocConstants.java new file mode 100644 index 0000000..3d144c8 --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/config/SpringDocConstants.java @@ -0,0 +1,11 @@ +package org.couchbase.quickstart.springdata.config; + +public class SpringDocConstants { + + private SpringDocConstants() {} + + public static final String TITLE = "Quickstart in Couchbase with Spring Data"; + public static final String VERSION = "2.0"; + public static final String DESCRIPTION = "

A quickstart API using Java and Spring Data with Couchbase and travel-sample data

We have a visual representation of the API documentation using Swagger which allows you to interact with the API's endpoints directly through the browser. It provides a clear view of the API including endpoints, HTTP methods, request parameters, and response objects.

Click on an individual endpoint to expand it and see detailed information. This includes the endpoint's description, possible response status codes, and the request parameters it accepts.

Trying Out the API

You can try out an API by clicking on the \"Try it out\" button next to the endpoints.

  • Parameters: If an endpoint requires parameters, Swagger UI provides input boxes for you to fill in. This could include path parameters, query strings, headers, or the body of a POST/PUT request.
  • Execution: Once you've inputted all the necessary parameters, you can click the \"Execute\" button to make a live API call. Swagger UI will send the request to the API and display the response directly in the documentation. This includes the response code, response headers, and response body.

Models

Swagger documents the structure of request and response bodies using models. These models define the expected data structure using JSON schema and are extremely helpful in understanding what data to send and expect.

For details on the API, please check the tutorial on the Couchbase Developer Portal: https://developer.couchbase.com/tutorial-quickstart-java-spring-boot

"; + +} diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java index ec4392c..6f881ec 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java @@ -2,7 +2,7 @@ import java.util.Optional; -import javax.validation.Valid; +import jakarta.validation.Valid; import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.services.AirlineService; diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java index d2252cb..f2e2b2a 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -2,18 +2,16 @@ import java.util.Optional; -import javax.validation.Valid; -import java.util.stream.Collectors; +import jakarta.validation.Valid; import org.couchbase.quickstart.springdata.models.Airport; -import org.couchbase.quickstart.springdata.services.AirportService; import org.couchbase.quickstart.springdata.models.Route; +import org.couchbase.quickstart.springdata.services.AirportService; import org.springframework.dao.DataRetrievalFailureException; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; - import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java index 37e6555..236686b 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java @@ -2,7 +2,7 @@ import java.util.Optional; -import javax.validation.Valid; +import jakarta.validation.Valid; import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.services.RouteService; diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java b/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java index dc7cacd..d5452da 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Airline.java @@ -2,18 +2,15 @@ import java.io.Serializable; -import javax.validation.constraints.NotBlank; - import org.springframework.data.annotation.Id; -import org.springframework.data.couchbase.core.mapping.Document; import org.springframework.data.couchbase.core.mapping.Field; +import jakarta.validation.constraints.NotBlank; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -@Document @AllArgsConstructor @NoArgsConstructor @Data diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java b/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java index 2c91a60..332443c 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Airport.java @@ -2,21 +2,18 @@ import java.io.Serializable; -import javax.validation.Valid; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; - import org.springframework.data.annotation.Id; -import org.springframework.data.couchbase.core.mapping.Document; import org.springframework.data.couchbase.core.mapping.Field; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -@Document @AllArgsConstructor @NoArgsConstructor @Data @@ -54,7 +51,6 @@ public class Airport implements Serializable { @Valid // To validate the embedded Geo object private Geo geo; - @Document @AllArgsConstructor @NoArgsConstructor @Data diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/Route.java b/src/main/java/org/couchbase/quickstart/springdata/models/Route.java index b4e313f..3c62036 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/Route.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/Route.java @@ -3,20 +3,17 @@ import java.io.Serializable; import java.util.List; -import javax.validation.Valid; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - import org.springframework.data.annotation.Id; -import org.springframework.data.couchbase.core.mapping.Document; import org.springframework.data.couchbase.core.mapping.Field; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -@Document @AllArgsConstructor @NoArgsConstructor @Data @@ -57,7 +54,6 @@ public class Route implements Serializable { @NotNull(message = "Distance is mandatory") private Double distance; - @Document @AllArgsConstructor @NoArgsConstructor @Data diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java index bb0439f..c8edaaa 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirlineRepository.java @@ -18,17 +18,15 @@ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) public interface AirlineRepository extends CouchbaseRepository { - @Query("#{#n1ql.selectEntity}") - Page findAll(Pageable pageable); - - @Query("#{#n1ql.selectEntity} WHERE country = $1") + @Query("SELECT META(air).id AS __id, air.callsign, air.country, air.iata, air.icao, air.id, air.name, air.type " + + "FROM airline AS air WHERE air.country = $1") Page findByCountry(String country, Pageable pageable); @Query("SELECT META(air).id AS __id, air.callsign, air.country, air.iata, air.icao, air.id, air.name, air.type " + "FROM (SELECT DISTINCT META(airline).id AS airlineId FROM route " + "JOIN airline ON route.airlineid = META(airline).id " + "WHERE route.destinationairport = $1) AS subquery " + - "JOIN #{#n1ql.bucket} AS air ON META(air).id = subquery.airlineId") + "JOIN airline AS air ON META(air).id = subquery.airlineId") Page findByDestinationAirport(String destinationAirport, Pageable pageable); } \ No newline at end of file diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java index 4019213..ffc5f11 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java @@ -19,9 +19,6 @@ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) public interface AirportRepository extends CouchbaseRepository { - @Query("#{#n1ql.selectEntity}") - Page findAll(Pageable pageable); - @Query("SELECT DISTINCT META(route).id as __id,route.* " + "FROM airport as airport " + "JOIN route as route ON airport.faa = route.sourceairport " + diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java index d27c241..088cdf5 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java @@ -19,6 +19,4 @@ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) public interface RouteRepository extends CouchbaseRepository, DynamicProxyable { - @Query("#{#n1ql.selectEntity}") - Page findAll(Pageable pageable); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 62c63db..8327c4a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,8 +1,8 @@ server.use-forward-headers=true server.forward-headers-strategy=framework -spring.couchbase.bootstrap-hosts=DB_CONN_STR +spring.couchbase.bootstrap-hosts=couchbases://cb.fwu-oviwcpjq4v.cloud.couchbase.com spring.couchbase.bucket.name=travel-sample -spring.couchbase.bucket.user=DB_USERNAME -spring.couchbase.bucket.password=DB_PASSWORD +spring.couchbase.bucket.user=kaustav +spring.couchbase.bucket.password=Password123! spring.couchbase.scope.name=inventory spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER \ No newline at end of file diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index 47500cd..52222ff 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -30,7 +30,7 @@ class AirlineIntegrationTest { @Value("${local.server.port}") private int port; - @Value("${spring.couchbase.bootstrap-hosts}") + @Value("#{systemEnvironment['DB_CONN_STR'] ?: '${spring.couchbase.bootstrap-hosts:localhost}'}") private String bootstrapHosts; @Autowired diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index b265031..e91b735 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -31,7 +31,7 @@ class AirportIntegrationTest { @Value("${local.server.port}") private int port; - @Value("${spring.couchbase.bootstrap-hosts}") + @Value("#{systemEnvironment['DB_CONN_STR'] ?: '${spring.couchbase.bootstrap-hosts:localhost}'}") private String bootstrapHosts; @Autowired diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java index fe0e8c9..a5cf34c 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/RouteIntegrationTest.java @@ -3,7 +3,6 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.Arrays; -import java.util.List; import org.couchbase.quickstart.springdata.models.RestResponsePage; import org.couchbase.quickstart.springdata.models.Route; @@ -33,7 +32,7 @@ class RouteIntegrationTest { @Value("${local.server.port}") private int port; - @Value("${spring.couchbase.bootstrap-hosts}") + @Value("#{systemEnvironment['DB_CONN_STR'] ?: '${spring.couchbase.bootstrap-hosts:localhost}'}") private String bootstrapHosts; @Autowired From aa6d0b51140cc5f556220edd323d0733d6d44381 Mon Sep 17 00:00:00 2001 From: teetangh Date: Fri, 9 Feb 2024 12:50:02 +0530 Subject: [PATCH 38/41] upgraded gradle version and fixed repos --- gradle/wrapper/gradle-wrapper.jar | Bin 59821 -> 43462 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 41 ++++++++++++------ gradlew.bat | 15 ++++--- .../repository/AirportRepository.java | 3 ++ .../repository/RouteRepository.java | 6 ++- 6 files changed, 47 insertions(+), 22 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 41d9927a4d4fb3f96a785543079b8df6723c946b..d64cd4917707c1f8861d8cb53dd15194d4248596 100644 GIT binary patch literal 43462 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 literal 59821 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 00e33ed..a80b22c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 1b6c787..1aa94a4 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +80,11 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +131,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ @@ -205,6 +214,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/gradlew.bat b/gradlew.bat index ac1b06f..6689b85 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java index ffc5f11..b552463 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/AirportRepository.java @@ -19,6 +19,9 @@ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) public interface AirportRepository extends CouchbaseRepository { + @Query("SELECT META(airport).id as __id,airport.* FROM airport") + Page findAll(Pageable pageable); + @Query("SELECT DISTINCT META(route).id as __id,route.* " + "FROM airport as airport " + "JOIN route as route ON airport.faa = route.sourceairport " + diff --git a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java index 088cdf5..858aac5 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java +++ b/src/main/java/org/couchbase/quickstart/springdata/repository/RouteRepository.java @@ -3,7 +3,6 @@ import org.couchbase.quickstart.springdata.models.Route; import org.springframework.data.couchbase.repository.Collection; import org.springframework.data.couchbase.repository.CouchbaseRepository; -import org.springframework.data.couchbase.repository.DynamicProxyable; import org.springframework.data.couchbase.repository.Query; import org.springframework.data.couchbase.repository.ScanConsistency; import org.springframework.data.couchbase.repository.Scope; @@ -17,6 +16,9 @@ @Collection("route") @Repository @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) -public interface RouteRepository extends CouchbaseRepository, DynamicProxyable { +public interface RouteRepository extends CouchbaseRepository { + + @Query("SELECT META(route).id as __id,route.* FROM route") + Page findAll(Pageable pageable); } From c84ef25e51b6b136c9bcfbe99af1d3dcf80d8897 Mon Sep 17 00:00:00 2001 From: Kaustav Ghosh Date: Mon, 19 Feb 2024 18:11:17 +0530 Subject: [PATCH 39/41] Remove unnecessary files + Add Swagger Redirect Controller + Update AirportIntegrationTest --- .cursorignore | 7 --- .gitpod.Dockerfile | 19 ------ .gitpod.yml | 33 ----------- .../controller/SwaggerRedirectController.java | 17 ++++++ .../controllers/AirportIntegrationTest.java | 20 +++++-- startcb.sh | 59 ------------------- 6 files changed, 32 insertions(+), 123 deletions(-) delete mode 100644 .cursorignore delete mode 100644 .gitpod.Dockerfile delete mode 100644 .gitpod.yml create mode 100644 src/main/java/org/couchbase/quickstart/springdata/controller/SwaggerRedirectController.java delete mode 100755 startcb.sh diff --git a/.cursorignore b/.cursorignore deleted file mode 100644 index a48ddb0..0000000 --- a/.cursorignore +++ /dev/null @@ -1,7 +0,0 @@ -.gradle/ -.idea/ -build/ -target/ -.gitignore -.dockerignore -*.java \ No newline at end of file diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile deleted file mode 100644 index 98b0e51..0000000 --- a/.gitpod.Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM public.ecr.aws/z2f7n8a1/couchbase-da-containers:couchbase-neo - -RUN echo "* soft nproc 20000\n"\ -"* hard nproc 20000\n"\ -"* soft nofile 200000\n"\ -"* hard nofile 200000\n" >> /etc/security/limits.conf - -#Simple example on how to extend the image to install Java and maven -RUN apt-get -qq update && \ - apt-get install -yq maven default-jdk sudo git - -RUN chmod -R g+rwX /opt/couchbase && \ - addgroup --gid 33333 gitpod && \ - useradd --no-log-init --create-home --home-dir /home/gitpod --shell /bin/bash --uid 33333 --gid 33333 gitpod && \ - usermod -a -G gitpod,couchbase,sudo gitpod && \ - echo 'gitpod ALL=(ALL) NOPASSWD:ALL'>> /etc/sudoers - -COPY startcb.sh /opt/couchbase/bin/startcb.sh -USER gitpod diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index a439b9c..0000000 --- a/.gitpod.yml +++ /dev/null @@ -1,33 +0,0 @@ -image: - file: .gitpod.Dockerfile - -tasks: -- name: Start Couchbase - command: ./startcb.sh -- name: Log use - command: curl -s 'https://da-demo-images.s3.amazonaws.com/runItNow_outline.png?couchbase-example=java-springdata-quickstart-repo&source=gitpod' > /dev/null -- name: Start app - command: ./gradlew bootRun -# exposed ports -ports: -- port: 8080 - onOpen: open-preview -- port: 8091 - onOpen: open-browser -- port: 8092-10000 - onOpen: ignore -- port: 4369 - onOpen: ignore - -github: - prebuilds: - # enable for the master/default branch (defaults to true) - master: true - -vscode: - extensions: - - redhat.java - - vscjava - - vscjava.vscode-java-debug - - vscjava.vscode-java-test - - pivotal.vscode-spring-boot diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/SwaggerRedirectController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/SwaggerRedirectController.java new file mode 100644 index 0000000..8d290cb --- /dev/null +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/SwaggerRedirectController.java @@ -0,0 +1,17 @@ +package org.couchbase.quickstart.springdata.controller; + +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.servlet.view.RedirectView; + +@Controller +public class SwaggerRedirectController { + + @GetMapping(value = { "/", "/swagger-ui", "/swagger-ui/" }) + @ResponseStatus(HttpStatus.MOVED_PERMANENTLY) + public RedirectView redirect() { + return new RedirectView("/swagger-ui/index.html"); + } +} \ No newline at end of file diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index e91b735..4229143 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -83,15 +83,25 @@ void tearDown() { @Test void testGetAirport() { ResponseEntity response = restTemplate - .getForEntity("/api/v1/airport/airport_1254", + .getForEntity("/api/v1/airport/airport_1255", Airport.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); Airport airport = response.getBody(); assert airport != null; - Airport expectedAirport = Airport.builder().id("airport_1254").type("airport") - .airportName("Calais Dunkerque") - .city("Calais").country("France").faa("CQF").icao("LFAC").tz("Europe/Paris") - .geo(new Geo(14.0, 50.962097, 1.954764)).build(); + Airport expectedAirport = Airport.builder() + .id("airport_1255") + .type("airport") + .airportName("Peronne St Quentin") + .city("Peronne") + .country("France") + .faa(null) + .icao("LFAG").tz("Europe/Paris") + .geo(Geo.builder() + .lat(49.868547) + .lon(3.029578) + .alt(295.0) + .build()) + .build(); assertThat(airport).isEqualTo(expectedAirport); } diff --git a/startcb.sh b/startcb.sh deleted file mode 100755 index 82ba092..0000000 --- a/startcb.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -OS_USER_GROUP="${OS_USER_GROUP:=gitpod:gitpod}" - -CB_USER="${CB_USER:-Administrator}" -CB_PSWD="${CB_PSWD:-password}" -CB_HOST="${CB_HOST:-127.0.0.1}" -CB_PORT="${CB_PORT:-8091}" -CB_NAME="${CB_NAME:-cbgitpod}" -CB_BCKT="${CB_BCKT:-springdata_quickstart}" -CB_COLL="${CB_COLL:-_default.profile}" - -CB_SERVICES="${CB_SERVICES:-data,query,index,fts,eventing,analytics}" - -CB_KV_RAMSIZE="${CB_KV_RAMSIZE:-1024}" -CB_INDEX_RAMSIZE="${CB_INDEX_RAMSIZE:-256}" -CB_FTS_RAMSIZE="${CB_FTS_RAMSIZE:-256}" -CB_EVENTING_RAMSIZE="${CB_EVENTING_RAMSIZE:-512}" -CB_ANALYTICS_RAMSIZE="${CB_ANALYTICS_RAMSIZE:-1024}" - -set -euo pipefail - -COUCHBASE_TOP=/opt/couchbase -sudo chown -R ${OS_USER_GROUP} ${COUCHBASE_TOP}/var - -echo "Start couchbase..." -couchbase-server --start - -echo "Waiting for couchbase-server..." -until curl -s http://${CB_HOST}:${CB_PORT}/pools > /dev/null; do - sleep 5 - echo "Waiting for couchbase-server..." -done - -echo "Waiting for couchbase-server... ready" - -if ! couchbase-cli server-list -c ${CB_HOST}:${CB_PORT} -u ${CB_USER} -p ${CB_PSWD} > /dev/null; then - echo "couchbase cluster-init..." - couchbase-cli cluster-init \ - --services ${CB_SERVICES} \ - --cluster-name ${CB_NAME} \ - --cluster-username ${CB_USER} \ - --cluster-password ${CB_PSWD} \ - --cluster-ramsize ${CB_KV_RAMSIZE} \ - --cluster-index-ramsize ${CB_INDEX_RAMSIZE} \ - --cluster-fts-ramsize ${CB_FTS_RAMSIZE} \ - --cluster-eventing-ramsize ${CB_EVENTING_RAMSIZE} \ - --cluster-analytics-ramsize ${CB_ANALYTICS_RAMSIZE} -fi - -sleep 3 - -couchbase-cli bucket-create -c "${CB_HOST}:${CB_PORT}" -u "${CB_USER}" -p "${CB_PSWD}" --bucket "${CB_BCKT}" --bucket-type couchbase --bucket-ramsize "$CB_KV_RAMSIZE" - -sleep 3 - -couchbase-cli collection-manage -c "${CB_HOST}:${CB_PORT}" -u "${CB_USER}" -p "${CB_PSWD}" --bucket "${CB_BCKT}" --create-collection "${CB_COLL}" - -sleep 3 From b42ecd5c8e94b5c5b08a47bc8e96521194cd7692 Mon Sep 17 00:00:00 2001 From: Kaustav Ghosh Date: Fri, 23 Feb 2024 15:22:25 +0530 Subject: [PATCH 40/41] added oprtional parameters and examples, description + readme changes + api endpoints refactoring similar to python --- README.md | 42 ++++++---- .../controller/AirlineController.java | 82 ++++++++++++------- .../controller/AirportController.java | 64 +++++++++++---- .../controller/RouteController.java | 44 ++++++++-- .../springdata/models/RestResponsePage.java | 22 ++--- .../controllers/AirlineIntegrationTest.java | 18 ++-- .../controllers/AirportIntegrationTest.java | 5 +- 7 files changed, 183 insertions(+), 94 deletions(-) diff --git a/README.md b/README.md index dd09412..1a922e7 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Often, the first step developers take after creating their database is to create a REST API that can perform Create, Read, Update, and Delete (CRUD) operations for that database. This repo is designed to teach you and give you a starter project (in Java using Spring Data) to generate such a REST API. After you have installed the travel-sample bucket in your database, you can run this application which is a REST API with Swagger documentation so that you can learn: 1. How to create, read, update, and delete documents using Key-Value[ operations](https://docs.couchbase.com/java-sdk/current/howtos/kv-operations.html) (KV operations). KV operations are unique to Couchbase and provide super fast (think microseconds) queries. -2. How to write simple parametrized [N1QL queries](https://docs.couchbase.com/java-sdk/current/howtos/n1ql-queries-with-sdk.html) using the built-in travel-sample bucket. +2. How to write simple parametrized [SQL++ Queries](https://docs.couchbase.com/java-sdk/current/howtos/n1ql-queries-with-sdk.html) using the built-in travel-sample bucket. Full documentation for the tutorial can be found on the [Couchbase Developer Portal](https://developer.couchbase.com/tutorial-quickstart-spring-data-java/). @@ -17,11 +17,10 @@ To run this prebuilt project, you will need: - To run this tutorial using a self-managed Couchbase cluster, please refer to the [appendix](#running-self-managed-couchbase-cluster). - [Java 17 or higher](https://www.oracle.com/java/technologies/javase-downloads.html) - Ensure that the Java version is compatible with the Couchbase SDK. -- Loading Travel Sample Bucket - If travel-sample is not loaded in your Capella cluster, you can load it by following the instructions for your Capella Cluster: - - [Load travel-sample bucket in Couchbase Capella](https://docs.couchbase.com/cloud/clusters/data-service/import-data-documents.html#import-sample-data) -- Gradle - - You can install Gradle using the [instructions](https://gradle.org/install/). +- [Loading Travel Sample Bucket](https://docs.couchbase.com/cloud/clusters/data-service/import-data-documents.html#import-sample-data) + - If `travel-sample` is not loaded in your Capella cluster, you can load it by following the instructions for your Capella Cluster +- [Gradle 8.6 or higher](https://gradle.org/releases/) + ## App Setup We will walk through the different steps required to get the application running. @@ -55,22 +54,33 @@ Specifically, you need to do the following: All configuration for communication with the database is read from the environment variables. We have provided a convenience feature in this quickstart to read the environment variables from a local file, `application.properties` in the `src/main/resources` folder. +You can also set the environment variables directly in your environment such as: + +```sh +export DB_CONN_STR=couchbases:// +export DB_USERNAME=Administrator +export DB_PASSWORD=password +``` + +The `application.properties` file should look like this: + ```properties -server.use-forward-headers=true server.forward-headers-strategy=framework spring.couchbase.bootstrap-hosts=DB_CONN_STR spring.couchbase.bucket.name=travel-sample spring.couchbase.bucket.user=DB_USERNAME spring.couchbase.bucket.password=DB_PASSWORD spring.couchbase.scope.name=inventory -spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER ``` -Instead of DB_CONN_STR, DB_USERNAME, and DB_PASSWORD, you should replace these with the connection string, username, and password for your Couchbase cluster. The connection string is the URL of your cluster. For example, if you are using Capella, the connection string will look like `couchbases://cb.jnym5s9gv4ealbe.cloud.couchbase.com`. If you are using a local cluster, the connection string will be `localhost`. -> Note: The connection string expects the `couchbases://` or `couchbase://` part. +You can specify the connection string, username, and password using environment variables. The application will read these environment variables and use them to connect to the database. + +Additionally, you can specify the connection string, username, and password directly in the `application.properties` file. +> Note: The connection string expects the `couchbases://` or `couchbase://` part. ## Cluster Connection Configuration + Spring Data couchbase connector can be configured by providing a `@Configuration` [bean](https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-definition) that extends [`AbstractCouchbaseConfiguration`](https://docs.spring.io/spring-data/couchbase/docs/current/api/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.html). ```java @@ -144,7 +154,8 @@ public class CouchbaseConfiguration extends AbstractCouchbaseConfiguration { } ``` -> *from config/CouchbaseConfiguration.java* + +> _from config/CouchbaseConfiguration.java_ This default configuration assumes that you have a locally running Couchbae server and uses standard administrative login and password for demonstration purpose. Applications deployed to production or staging environments should use less privileged credentials created using [Role-Based Access Control](https://docs.couchbase.com/go-sdk/current/concept-docs/rbac.html). @@ -212,10 +223,11 @@ For this quickstart, we use three collections, `airport`, `airline` and `routes` If you would like to add another entity to the APIs, these are the steps to follow: -- Create the new entity (collection) in the Couchbase bucket. You can create the collection using the [SDK](https://docs.couchbase.com/sdk-api/couchbase-java-client-3.5.2/com/couchbase/client/java/Collection.html#createScope-java.lang.String-) or via the [Couchbase Server interface](https://docs.couchbase.com/cloud/n1ql/n1ql-language-reference/createcollection.html). -- Define the routes in a new file in the `controllers` folder similar to the existing routes like `AirportController.java`. -- Define the service in a new file in the `services` folder similar to the existing services like `AirportService.java`. -- Define the repository in a new file in the `repositories` folder similar to the existing repositories like `AirportRepository.java`. +- You can create the collection using the [SDK](https://docs.couchbase.com/sdk-api/couchbase-java-client-3.5.2/com/couchbase/client/java/Collection.html#createScope-java.lang.String-) or via the [Couchbase Server interface](https://docs.couchbase.com/cloud/n1ql/n1ql-language-reference/createcollection.html). +- Create a new entity class in the `models` package similar to the existing entity classes like `Airport.java`. +- Define the controller in a new file in the `controllers` folder similar to the existing classes like `AirportController.java`. +- Define the service in a new file in the `services` folder similar to the existing classes like `AirportService.java`. +- Define the repository in a new file in the `repositories` folder similar to the existing classes like `AirportRepository.java`. ### Running Self-Managed Couchbase Cluster diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java index 6f881ec..49ed240 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirlineController.java @@ -2,8 +2,6 @@ import java.util.Optional; -import jakarta.validation.Valid; - import org.couchbase.quickstart.springdata.models.Airline; import org.couchbase.quickstart.springdata.services.AirlineService; import org.springframework.dao.DataRetrievalFailureException; @@ -25,6 +23,10 @@ import com.couchbase.client.core.error.DocumentNotFoundException; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; @Slf4j @@ -43,8 +45,14 @@ public AirlineController(AirlineService airlineService) { private static final String DOCUMENT_NOT_FOUND = "Document not found"; private static final String DOCUMENT_ALREADY_EXISTS = "Document already exists"; - @Operation(summary = "Get an airline by ID") @GetMapping("/{id}") + @Operation(summary = "Get an airline by ID", description = "Get Airline by specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to retrieve a document with a specified ID. \n\n Code: [`controllers/AirlineController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirlineController.java) \n File: `AirlineController.java` \n Method: `getAirline`", tags = { + "Airline" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Airline found"), + @ApiResponse(responseCode = "404", description = "Airline not found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "id", description = "Airline ID", required = true, example = "airline_10") public ResponseEntity getAirline(@PathVariable String id) { try { Optional airline = airlineService.getAirlineById(id); @@ -59,8 +67,14 @@ public ResponseEntity getAirline(@PathVariable String id) { } } - @Operation(summary = "Create an airline") @PostMapping("/{id}") + @Operation(summary = "Create an airline", description = "Create an airline with the specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to create a document with a specified ID. \n\n Code: [`controllers/AirlineController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirlineController.java) \n File: `AirlineController.java` \n Method: `createAirline`", tags = { + "Airline" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "201", description = "Airline created"), + @ApiResponse(responseCode = "409", description = "Airline already exists"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "id", description = "Airline ID", required = true, example = "airline_10") public ResponseEntity createAirline(@Valid @RequestBody Airline airline) { try { Airline newAirline = airlineService.createAirline(airline); @@ -74,8 +88,14 @@ public ResponseEntity createAirline(@Valid @RequestBody Airline airline } } - @Operation(summary = "Update an airline") @PutMapping("/{id}") + @Operation(summary = "Update an airline", description = "Update an airline with the specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to update a document with a specified ID. \n\n Code: [`controllers/AirlineController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirlineController.java) \n File: `AirlineController.java` \n Method: `updateAirline`", tags = { + "Airline" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Airline updated"), + @ApiResponse(responseCode = "404", description = "Airline not found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "id", description = "Airline ID", required = true, example = "airline_10") public ResponseEntity updateAirline(@PathVariable String id, @Valid @RequestBody Airline airline) { try { Airline updatedAirline = airlineService.updateAirline(id, airline); @@ -93,8 +113,14 @@ public ResponseEntity updateAirline(@PathVariable String id, @Valid @Re } } - @Operation(summary = "Delete an airline") @DeleteMapping("/{id}") + @Operation(summary = "Delete an airline", description = "Delete an airline with the specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to delete a document with a specified ID. \n\n Code: [`controllers/AirlineController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirlineController.java) \n File: `AirlineController.java` \n Method: `deleteAirline`", tags = { + "Airline" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "204", description = "Airline deleted"), + @ApiResponse(responseCode = "404", description = "Airline not found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "id", description = "Airline ID", required = true, example = "airline_10") public ResponseEntity deleteAirline(@PathVariable String id) { try { airlineService.deleteAirline(id); @@ -108,42 +134,42 @@ public ResponseEntity deleteAirline(@PathVariable String id) { } } - @Operation(summary = "List all airlines") @GetMapping("/list") - public ResponseEntity> listAirlines(@RequestParam(defaultValue = "0") int page, - @RequestParam(defaultValue = "10") int size) { - try { - Page airlines = airlineService.getAllAirlines(PageRequest.of(page, size)); - return new ResponseEntity<>(airlines, HttpStatus.OK); - } catch (Exception e) { - log.error(INTERNAL_SERVER_ERROR, e); - return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); - } - } - - @Operation(summary = "List all airlines by country") - @GetMapping("/country/{country}") + @Operation(summary = "List all airlines by country", description = "List all airlines by country.\n\nThis provides an example of using N1QL queries in Couchbase to retrieve documents with a specified field value. \n\n Code: [`controllers/AirlineController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirlineController.java) \n File: `AirlineController.java` \n Method: `listAirlinesByCountry`", tags = { + "Airline" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Airlines found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "country", description = "Country", required = false, example = "United States") public ResponseEntity> listAirlinesByCountry( - @PathVariable String country, + @RequestParam(required = false) String country, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { try { - - Page airlines = airlineService.findByCountry(country, PageRequest.of(page, size)); - return new ResponseEntity<>(airlines, HttpStatus.OK); + if (country == null || country.isEmpty()) { + Page airlines = airlineService.getAllAirlines(PageRequest.of(page, size)); + return new ResponseEntity<>(airlines, HttpStatus.OK); + } else { + Page airlines = airlineService.findByCountry(country, PageRequest.of(page, size)); + return new ResponseEntity<>(airlines, HttpStatus.OK); + } } catch (Exception e) { log.error(INTERNAL_SERVER_ERROR, e); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } - @Operation(summary = "List all airlines by desination airport") - @GetMapping("/destination/{destinationAirport}") + @GetMapping("/to-airport") + @Operation(summary = "List all airlines by desination airport", description = "List all airlines by destination airport.\n\nThis provides an example of using N1QL queries in Couchbase to retrieve documents with a specified field value. \n\n Code: [`controllers/AirlineController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirlineController.java) \n File: `AirlineController.java` \n Method: `listAirlinesByDestinationAirport`", tags = { + "Airline" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Airlines found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "destinationAirport", description = "Destination Airport", required = false, example = "SFO") public ResponseEntity> listAirlinesByDestinationAirport( - @PathVariable String destinationAirport, + @RequestParam(required = false) String destinationAirport, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { - try { Page airlines = airlineService.findByDestinationAirport(destinationAirport, PageRequest.of(page, size)); diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java index f2e2b2a..7c2c9c7 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/AirportController.java @@ -2,8 +2,6 @@ import java.util.Optional; -import jakarta.validation.Valid; - import org.couchbase.quickstart.springdata.models.Airport; import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.services.AirportService; @@ -26,6 +24,10 @@ import com.couchbase.client.core.error.DocumentNotFoundException; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; @RestController @@ -39,13 +41,15 @@ public AirportController(AirportService airportService) { this.airportService = airportService; } - // All Errors - private static final String INTERNAL_SERVER_ERROR = "Internal server error"; - private static final String DOCUMENT_NOT_FOUND = "Document not found"; - private static final String DOCUMENT_ALREADY_EXISTS = "Document already exists"; + // All Errors + private static final String INTERNAL_SERVER_ERROR = "Internal server error"; + private static final String DOCUMENT_NOT_FOUND = "Document not found"; + private static final String DOCUMENT_ALREADY_EXISTS = "Document already exists"; - @Operation(summary = "Get an airport by ID") @GetMapping("/{id}") + @Operation(summary = "Get an airport by ID", description = "Get Airport by specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to retrieve a document with a specified ID. \n\n Code: [`controllers/AirportController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirportController.java) \n File: `AirportController.java` \n Method: `getAirport`", tags = { + "Airport" }) + @Parameter(name = "id", description = "The ID of the airport to retrieve", required = true, example = "airport_1254") public ResponseEntity getAirport(@PathVariable String id) { try { Optional airport = airportService.getAirportById(id); @@ -60,8 +64,15 @@ public ResponseEntity getAirport(@PathVariable String id) { } } - @Operation(summary = "Create an airport") @PostMapping("/{id}") + @Operation(summary = "Create an airport", description = "Create an airport with the specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to create a document with a specified ID. \n\n Code: [`controllers/AirportController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirportController.java) \n File: `AirportController.java` \n Method: `createAirport`", tags = { + "Airport" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "201", description = "Airport created"), + @ApiResponse(responseCode = "409", description = "Airport already exists"), + @ApiResponse(responseCode = "500", description = "Internal server error") + }) + @Parameter(name = "id", description = "The ID of the airport to create", required = true, example = "airport_1254") public ResponseEntity createAirport(@PathVariable String id, @Valid @RequestBody Airport airport) { try { Airport newAirport = airportService.createAirport(airport); @@ -76,8 +87,15 @@ public ResponseEntity createAirport(@PathVariable String id, @Valid @Re } - @Operation(summary = "Update an airport") @PutMapping("/{id}") + @Operation(summary = "Update an airport", description = "Update an airport with the specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to update a document with a specified ID. \n\n Code: [`controllers/AirportController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirportController.java) \n File: `AirportController.java` \n Method: `updateAirport`", tags = { + "Airport" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Airport updated"), + @ApiResponse(responseCode = "404", description = "Airport not found"), + @ApiResponse(responseCode = "500", description = "Internal server error") + }) + @Parameter(name = "id", description = "The ID of the airport to update", required = true, example = "airport_1254") public ResponseEntity updateAirport(@PathVariable String id, @Valid @RequestBody Airport airport) { try { Airport updatedAirport = airportService.updateAirport(id, airport); @@ -96,8 +114,15 @@ public ResponseEntity updateAirport(@PathVariable String id, @Valid @Re } } - @Operation(summary = "Delete an airport") @DeleteMapping("/{id}") + @Operation(summary = "Delete an airport", description = "Delete an airport with the specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to delete a document with a specified ID. \n\n Code: [`controllers/AirportController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirportController.java) \n File: `AirportController.java` \n Method: `deleteAirport`", tags = { + "Airport" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "204", description = "Airport deleted"), + @ApiResponse(responseCode = "404", description = "Airport not found"), + @ApiResponse(responseCode = "500", description = "Internal server error") + }) + @Parameter(name = "id", description = "The ID of the airport to delete", required = true, example = "airport_1254") public ResponseEntity deleteAirport(@PathVariable String id) { try { airportService.deleteAirport(id); @@ -111,8 +136,13 @@ public ResponseEntity deleteAirport(@PathVariable String id) { } } - @Operation(summary = "List all airports") @GetMapping("/list") + @Operation(summary = "List all airports", description = "List all airports in the database.\n\nThis provides an example of using N1QL to query all documents in a bucket. \n\n Code: [`controllers/AirportController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirportController.java) \n File: `AirportController.java` \n Method: `listAirports`", tags = { + "Airport" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "List of airports"), + @ApiResponse(responseCode = "500", description = "Internal server error") + }) public ResponseEntity> listAirports(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { try { @@ -124,10 +154,16 @@ public ResponseEntity> listAirports(@RequestParam(defaultValue = " } } - @Operation(summary = "List of direct connections to an airport") - @GetMapping("/direct-connections/{airportCode}") + @GetMapping("/direct-connections") + @Operation(summary = "List of direct connections to an airport", description = "List of direct connections to an airport.\n\nThis provides an example of using N1QL to query all documents in a bucket. \n\n Code: [`controllers/AirportController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/AirportController.java) \n File: `AirportController.java` \n Method: `listDirectConnections`", tags = { + "Airport" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "List of direct connections"), + @ApiResponse(responseCode = "500", description = "Internal server error") + }) + @Parameter(name = "airportCode", description = "The airport code to list direct connections", required = true, example = "SFO") public ResponseEntity> listDirectConnections( - @PathVariable String airportCode, + @RequestParam(required = true) String airportCode, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { try { diff --git a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java index 236686b..8c21fb9 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java +++ b/src/main/java/org/couchbase/quickstart/springdata/controller/RouteController.java @@ -2,8 +2,6 @@ import java.util.Optional; -import jakarta.validation.Valid; - import org.couchbase.quickstart.springdata.models.Route; import org.couchbase.quickstart.springdata.services.RouteService; import org.springframework.dao.DataRetrievalFailureException; @@ -25,6 +23,10 @@ import com.couchbase.client.core.error.DocumentNotFoundException; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; @RestController @@ -43,8 +45,14 @@ public RouteController(RouteService routeService) { private static final String DOCUMENT_NOT_FOUND = "Document not found"; private static final String DOCUMENT_ALREADY_EXISTS = "Document already exists"; - @Operation(summary = "Get a route by ID") @GetMapping("/{id}") + @Operation(summary = "Get a route by ID", description = "Get Route by specified ID.\n\nThis provides an example of using Key Value operations in Couchbase to retrieve a document with a specified ID. \n\n Code: [`controllers/RouteController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/RouteController.java) \n File: `RouteController.java` \n Method: `getRoute`", tags = { + "Route" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Route found"), + @ApiResponse(responseCode = "404", description = "Route not found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "id", description = "Route ID", required = true, example = "route_10000") public ResponseEntity getRoute(@PathVariable String id) { try { Optional route = routeService.getRouteById(id); @@ -59,8 +67,14 @@ public ResponseEntity getRoute(@PathVariable String id) { } } - @Operation(summary = "Create a route") @PostMapping("/{id}") + @Operation(summary = "Create a route", description = "Create a new route.\n\nThis provides an example of using Key Value operations in Couchbase to create a new document with a specified ID. \n\n Code: [`controllers/RouteController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/RouteController.java) \n File: `RouteController.java` \n Method: `createRoute`", tags = { + "Route" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "201", description = "Route created"), + @ApiResponse(responseCode = "409", description = "Route already exists"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "id", description = "Route ID", required = true, example = "route_10000") public ResponseEntity createRoute(@Valid @RequestBody Route route) { try { Route newRoute = routeService.createRoute(route); @@ -75,8 +89,14 @@ public ResponseEntity createRoute(@Valid @RequestBody Route route) { } - @Operation(summary = "Update a route") @PutMapping("/{id}") + @Operation(summary = "Update a route", description = "Update a route.\n\nThis provides an example of using Key Value operations in Couchbase to update a document with a specified ID. \n\n Code: [`controllers/RouteController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/RouteController.java) \n File: `RouteController.java` \n Method: `updateRoute`", tags = { + "Route" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Route updated"), + @ApiResponse(responseCode = "404", description = "Route not found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "id", description = "Route ID", required = true, example = "route_10000") public ResponseEntity updateRoute(@PathVariable String id, @Valid @RequestBody Route route) { try { Route updatedRoute = routeService.updateRoute(id, route); @@ -95,8 +115,14 @@ public ResponseEntity updateRoute(@PathVariable String id, @Valid @Reques } } - @Operation(summary = "Delete a route") @DeleteMapping("/{id}") + @Operation(summary = "Delete a route", description = "Delete a route.\n\nThis provides an example of using Key Value operations in Couchbase to delete a document with a specified ID. \n\n Code: [`controllers/RouteController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/RouteController.java) \n File: `RouteController.java` \n Method: `deleteRoute`", tags = { + "Route" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "204", description = "Route deleted"), + @ApiResponse(responseCode = "404", description = "Route not found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) + @Parameter(name = "id", description = "Route ID", required = true, example = "route_10000") public ResponseEntity deleteRoute(@PathVariable String id) { try { routeService.deleteRoute(id); @@ -110,8 +136,12 @@ public ResponseEntity deleteRoute(@PathVariable String id) { } } - @Operation(summary = "List all routes") @GetMapping("/list") + @Operation(summary = "List all routes", description = "List all routes.\n\nThis provides an example of using N1QL queries in Couchbase to retrieve all documents of a specified type. \n\n Code: [`controllers/RouteController.java`](https://github.com/couchbase-examples/java-springdata-quickstart/blob/main/src/main/java/org/couchbase/quickstart/springdata/controllers/RouteController.java) \n File: `RouteController.java` \n Method: `listRoutes`", tags = { + "Route" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Routes found"), + @ApiResponse(responseCode = "500", description = "Internal server error") }) public ResponseEntity> listRoutes(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { try { diff --git a/src/main/java/org/couchbase/quickstart/springdata/models/RestResponsePage.java b/src/main/java/org/couchbase/quickstart/springdata/models/RestResponsePage.java index 8a7ff54..4a17518 100644 --- a/src/main/java/org/couchbase/quickstart/springdata/models/RestResponsePage.java +++ b/src/main/java/org/couchbase/quickstart/springdata/models/RestResponsePage.java @@ -1,14 +1,13 @@ package org.couchbase.quickstart.springdata.models; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.JsonNode; +import java.util.List; + import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; -import java.util.ArrayList; -import java.util.List; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; public class RestResponsePage extends PageImpl { @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) @@ -26,15 +25,4 @@ public RestResponsePage(@JsonProperty("content") List content, super(content, PageRequest.of(number, size), totalElements); } - public RestResponsePage(List content, Pageable pageable, long total) { - super(content, pageable, total); - } - - public RestResponsePage(List content) { - super(content); - } - - public RestResponsePage() { - super(new ArrayList<>()); - } } \ No newline at end of file diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java index 52222ff..985ee67 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirlineIntegrationTest.java @@ -181,14 +181,13 @@ void testListAirlines() { @Test void testListAirlinesByCountry() { - // Check that if it contains - // airline_10226{"id":10226,"type":"airline","name":"Atifly","iata":"A1","icao":"A1F","callsign":"atifly","country":"United - // States"} + String country = "United States"; ResponseEntity> response = restTemplate.exchange( - "/api/v1/airline/country/" + country, + "/api/v1/airline/list?country=" + country, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); RestResponsePage airlines = response.getBody(); @@ -209,14 +208,12 @@ void testListAirlinesByCountry() { .build(); assertThat(airline).isEqualTo(expectedAirline); - // {"id":1191,"type":"airline","name":"Air - // Austral","iata":"UU","icao":"REU","callsign":"REUNION","country":"France"} - country = "France"; ResponseEntity> response2 = restTemplate.exchange( - "/api/v1/airline/country/" + country, + "/api/v1/airline/list?country=" + country, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); + assertThat(response2.getStatusCode()).isEqualTo(HttpStatus.OK); RestResponsePage airlines2 = response2.getBody(); @@ -239,10 +236,9 @@ void testListAirlinesByCountry() { @Test void testListAirlinesByDestinationAirport() { - String airport = "LAX"; ResponseEntity> response = restTemplate.exchange( - "/api/v1/airline/destination/" + airport, + "/api/v1/airline/to-airport?destinationAirport=" + airport, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -266,7 +262,7 @@ void testListAirlinesByDestinationAirport() { airport = "CDG"; ResponseEntity> response2 = restTemplate.exchange( - "/api/v1/airline/destination/" + airport, + "/api/v1/airline/to-airport?destinationAirport=" + airport, HttpMethod.GET, null, new ParameterizedTypeReference>() { }); diff --git a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java index 4229143..901c739 100644 --- a/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java +++ b/src/test/java/org/couchbase/quickstart/springdata/controllers/AirportIntegrationTest.java @@ -169,9 +169,10 @@ void testListAirports() { void testListDirectConnections() { String airportCode = "LAX"; ResponseEntity> response = restTemplate.exchange( - "/api/v1/airport/direct-connections/" + airportCode, + "/api/v1/airport/direct-connections?airportCode=" + airportCode + "&page=0&size=10", HttpMethod.GET, null, new ParameterizedTypeReference>() { }); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); RestResponsePage directConnections = response.getBody(); @@ -182,7 +183,7 @@ void testListDirectConnections() { airportCode = "JFK"; response = restTemplate.exchange( - "/api/v1/airport/direct-connections/" + airportCode, + "/api/v1/airport/direct-connections?airportCode=" + airportCode + "&page=0&size=10", HttpMethod.GET, null, new ParameterizedTypeReference>() { }); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); From ee125296856c01274797fb7a1336ef7ae944442b Mon Sep 17 00:00:00 2001 From: Kaustav Ghosh Date: Fri, 23 Feb 2024 15:32:28 +0530 Subject: [PATCH 41/41] Update Couchbase connection details --- src/main/resources/application.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8327c4a..62c63db 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,8 +1,8 @@ server.use-forward-headers=true server.forward-headers-strategy=framework -spring.couchbase.bootstrap-hosts=couchbases://cb.fwu-oviwcpjq4v.cloud.couchbase.com +spring.couchbase.bootstrap-hosts=DB_CONN_STR spring.couchbase.bucket.name=travel-sample -spring.couchbase.bucket.user=kaustav -spring.couchbase.bucket.password=Password123! +spring.couchbase.bucket.user=DB_USERNAME +spring.couchbase.bucket.password=DB_PASSWORD spring.couchbase.scope.name=inventory spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER \ No newline at end of file

4i&Vo{hJGzkE%CQSGKe}#}oB;QWTFo8d+u=c?ta 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 TSn8{I=RW{eCjB4K<93=OnpR< zlRE;qI)mD@3K(qw?)zQn-g4Zn0SZla=GeT9x5%+RkgVa?59llwD#-Sp;{=34LHbqu z0qDzcXiA=eTm+janeC#z)WhJ^UGm!6I9fzg{+?v>5U17>tw&qT?9t&GPh(Z}kWxqH z?u`*=c*$}%{RRx>5h49Ol9pvVX%+5D-NcYRe=w0q-W4UhFCA9SD?vEL_GhOItctyJ zDA^WAJcb&D7ciXw_NjNFuVgK>vfuu*^C_pQfkh|MQt$b>&%0%;o~NJdE?K^+hPm9G zs>fWDtXX_GNnQD)X74cXLYlB|@cN)|e3P)fy#q#F$(^?$!WIU_x#HTU(dN@-O*eR? z(!pai1H0VS!G4n1GSgCjuaS?BquVmg4EA35M!%xv+O5&9JXV0p;P%vv%5 zSRSmr&OQKDFfm|ZtApvBVf)%+2DUOdgyax$md8zq-oNIY1XSH<_4oG};CQ8JJtKfs z?m&WY02gCngO z+qZAm7rC-@!poN3)J4_auPPibAfuhWq_y17v!4H2K0V%=X(olG7_Nv9EJDNG58b5! zcw4lyy3fQ;ct9*#QrfdEvkOG*ahauUZ4~SoBz1u)oBe&OlB1a6t{>!~^IutTaAiESy8RF#uqPdcb#x7y z{}J`G>Q&2LpKVAORih^fDm%v}Tm(4gthr_V6eJd7_f58~uQ5r*Vc9SK(VgB=f{tR^ z-`(Ibx15K({8;XrU(Q~qBeiL|;T$GUo=|Ix!!CCfd6^b_pI?TjCFAI`ll;RBEdG!$ zq_whFO=TR6Gab<_um9{}o4h83>`HOZU%%c#-;jKA&<5WtFxh-K=qS29 z_gHb;S3mj>r8ncsioM6PoNtr!IK*a*mi2Lzk&zL?`1ROc*l9B>ywep53I!DHsabI|!ps~( zeR?~v-)y#=y4^NSA$M-yCfH!UqgB9S3+LE2hW-P7^Wd&-le z(^ucWflZd2*`+@XeE{f#gw$_#lrjQ@CJULSq3R=W^?3WokQzSsojzF@Khag3t+L?8 zB$lQEu>s>bcfMk(Gt{{$S#wn6I}1Mf*_k>%r!NJWkW?y+Ug6DUNFWPM?qmBeNoUHLal zCs~s(Od5=02mk?HT|cTzArSDn&+EMz#3z!J*!wur!;Mjb4o!=uL5=`2^&g5%w(G(w z%y+>fCuV)d7kNv%_r}9lpMS$DiFLqFp3G4kir&AmEOs=wkoDWs*ez$9lmtNg^XGj9 z4ZPTTOcqq~?N92xd+QdhyI*g%j>vExTe2@Dz;5X2dEISC)ZKGMyLXZdE`DEePqq)i z;roHMx~&~}rM+A@>03)n*Gh!8YcbFlf-{AqZ^ZRT3zPf;d-iYhnPAQEolxU0@ZYk} zqCc3Eq_uXGu{1x+Lb>Yc6{*iJj-0OLjd^iiKZ`PL>oFSpVQxg?>&u%!j

sP;bN=%}wb!rte~mp;N=jJGolHi!Hfm(; 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 CL{1I> literal 0 HcmV?d00001 diff --git a/assets/images/swagger-documentation-spring-data.png b/assets/images/swagger-documentation-spring-data.png new file mode 100644 index 0000000000000000000000000000000000000000..b92389c51785c9d24f985ca45efe7ec058f78298 GIT binary patch literal 617098 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