contract-testing-demo

pact and java contract testing with micro-commits

git clone https://9o.is/git/contract-testing-demo.git

commit f49b01994a799c05cd8e7104c31f64dc422f19de
parent 45cd62a531a9db78eea5ea965fbd363d51d8aec2
Author: Jul <jul@9o.is>
Date:   Wed, 26 Jun 2019 16:21:36 -0400

Handle 500 response

Error:
java.lang.AssertionError:
      0 - expected status of 500 but was 200

Diffstat:
Mconsumer-driven/animal-service/src/main/java/app/alligator/AlligatorController.java | 2+-
Aconsumer-driven/animal-service/src/main/java/app/alligator/AlligatorRepositoryUnavailableException.java | 7+++++++
2 files changed, 8 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 @@ -20,7 +20,7 @@ public class AlligatorController { try { alligator = alligatorRepository.getByName(name); } catch (Exception exception) { - return null; + throw new AlligatorRepositoryUnavailableException(); } if (alligator == null) { diff --git a/consumer-driven/animal-service/src/main/java/app/alligator/AlligatorRepositoryUnavailableException.java b/consumer-driven/animal-service/src/main/java/app/alligator/AlligatorRepositoryUnavailableException.java @@ -0,0 +1,7 @@ +package app.alligator; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) +class AlligatorRepositoryUnavailableException extends RuntimeException {}