contract-testing-demo
pact and java contract testing with micro-commits
commit c7b5f18fc154e9ba5bc09e05e8c98e717e1bc3c3
parent cc16e125dc76cf9b986b553c5af286f3b56ffad1
Author: Jul <jul@9o.is>
Date: Wed, 26 Jun 2019 15:44:06 -0400
Return 404 if alligator is not found
Error:
java.lang.AssertionError:
0 - expected status of 404 but was 200
Diffstat:
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/consumer-driven/animal-service/src/main/java/app/alligator/AlligatorController.java b/consumer-driven/animal-service/src/main/java/app/alligator/AlligatorController.java @@ -15,6 +15,13 @@ public class AlligatorController { @GetMapping("/alligators/{name}") public Alligator getByName(@PathVariable String name) { - return alligatorRepository.getByName(name); + Alligator alligator = + alligatorRepository.getByName(name); + + if (alligator == null) { + throw new AlligatorNotFoundException(); + } + + return alligator; } } diff --git a/consumer-driven/animal-service/src/main/java/app/alligator/AlligatorNotFoundException.java b/consumer-driven/animal-service/src/main/java/app/alligator/AlligatorNotFoundException.java @@ -0,0 +1,7 @@ +package app.alligator; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(HttpStatus.NOT_FOUND) +class AlligatorNotFoundException extends RuntimeException {}