From fc4cfb0b3e5f375334b3d977680ea303bad33731 Mon Sep 17 00:00:00 2001 From: Octavi Pascual Date: Sun, 8 Nov 2020 15:33:57 +0100 Subject: [PATCH] Create greeter controller --- .../greeters/GreeterGetController.java | 36 +++++++++++++++++++ .../GreeterGetControllerTestShould.java | 11 ++++++ 2 files changed, 47 insertions(+) create mode 100644 apps/main/tv/codely/apps/mooc/backend/controller/greeters/GreeterGetController.java create mode 100644 apps/test/tv/codely/apps/mooc/backend/controller/greeters/GreeterGetControllerTestShould.java diff --git a/apps/main/tv/codely/apps/mooc/backend/controller/greeters/GreeterGetController.java b/apps/main/tv/codely/apps/mooc/backend/controller/greeters/GreeterGetController.java new file mode 100644 index 00000000..b0ada148 --- /dev/null +++ b/apps/main/tv/codely/apps/mooc/backend/controller/greeters/GreeterGetController.java @@ -0,0 +1,36 @@ +package tv.codely.apps.mooc.backend.controller.greeters; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; +import tv.codely.shared.domain.DomainError; +import tv.codely.shared.domain.bus.command.CommandBus; +import tv.codely.shared.domain.bus.query.QueryBus; +import tv.codely.shared.infrastructure.spring.ApiController; + +import java.util.HashMap; + +@RestController +public final class GreeterGetController extends ApiController { + public GreeterGetController( + QueryBus queryBus, + CommandBus commandBus + ) { + super(queryBus, commandBus); + } + + @GetMapping("/greet/{name}") + public HashMap index(@PathVariable String name) { + HashMap greeting = new HashMap<>(); + greeting.put("greet", String.format("Hi, %s!", StringUtils.capitalize(name))); + + return greeting; + } + + @Override + public HashMap, HttpStatus> errorMapping() { + return null; + } +} diff --git a/apps/test/tv/codely/apps/mooc/backend/controller/greeters/GreeterGetControllerTestShould.java b/apps/test/tv/codely/apps/mooc/backend/controller/greeters/GreeterGetControllerTestShould.java new file mode 100644 index 00000000..1b9402cd --- /dev/null +++ b/apps/test/tv/codely/apps/mooc/backend/controller/greeters/GreeterGetControllerTestShould.java @@ -0,0 +1,11 @@ +package tv.codely.apps.mooc.backend.controller.greeters; + +import org.junit.jupiter.api.Test; +import tv.codely.apps.mooc.MoocApplicationTestCase; + +final class GreeterGetControllerTestShould extends MoocApplicationTestCase { + @Test + void greet_a_user() throws Exception { + assertResponse("/greet/octavi", 200, "{'greet':'Hi, Octavi!'}"); + } +}