From fec272b3c522f700f6465d3715640b17fe2518a9 Mon Sep 17 00:00:00 2001 From: JoeSeff Date: Thu, 22 Oct 2020 10:15:17 +0300 Subject: [PATCH 1/7] Added failing test --- pom.xml | 8 +++++ .../code/restapi/api/VideoApiController.java | 30 ++++++++++------- .../code/restapi/constant/ErrorMessage.java | 9 ++++++ .../code/restapi/constant/InfoMessage.java | 13 ++++++++ .../api/VideoApiControllerUnitTest.java | 32 +++++++++++++++++++ 5 files changed, 80 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/birichani/code/restapi/constant/ErrorMessage.java create mode 100644 src/main/java/com/birichani/code/restapi/constant/InfoMessage.java create mode 100644 src/test/java/com/birichani/code/restapi/api/VideoApiControllerUnitTest.java diff --git a/pom.xml b/pom.xml index 807f047..40d2d0f 100644 --- a/pom.xml +++ b/pom.xml @@ -19,10 +19,12 @@ + org.springframework.boot spring-boot-starter-data-jpa + org.springframework.boot spring-boot-starter-web @@ -34,21 +36,25 @@ runtime true + com.h2database h2 runtime + mysql mysql-connector-java runtime + org.projectlombok lombok true + org.springframework.boot spring-boot-starter-test @@ -60,12 +66,14 @@ + com.github.javafaker javafaker 1.0.2 + diff --git a/src/main/java/com/birichani/code/restapi/api/VideoApiController.java b/src/main/java/com/birichani/code/restapi/api/VideoApiController.java index 9739c7d..ad9a72c 100644 --- a/src/main/java/com/birichani/code/restapi/api/VideoApiController.java +++ b/src/main/java/com/birichani/code/restapi/api/VideoApiController.java @@ -1,39 +1,45 @@ package com.birichani.code.restapi.api; +import com.birichani.code.restapi.constant.ErrorMessage; +import com.birichani.code.restapi.constant.InfoMessage; import com.birichani.code.restapi.model.Video; import com.birichani.code.restapi.repository.VideoRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; +@RequestMapping("/videos") @RestController public class VideoApiController { - private VideoRepository videoRepository; + private final VideoRepository videoRepository; @Autowired public VideoApiController(VideoRepository videoRepository) { this.videoRepository = videoRepository; } - @GetMapping("/Getvideos/{videoTopic}") + @GetMapping("/{videoTopic}") public String video(@PathVariable String videoTopic) { + String message; - switch(videoTopic) { - case"python": - - return String.format("This is our python contents") ; - case "java": - return String.format("This is our java contents") ; + switch (videoTopic) { + case "python": + message = InfoMessage.PYTHON_RESPONSE_MESSAGE; + break; + case "java": + message = InfoMessage.JAVA_RESPONSE_MESSAGE; + break; default: - return String.format("sorry,Incorrect input") ; - - } + message = ErrorMessage.VIDEO_TOPIC_SELECTION_MESSAGE; + } + return message; } - @GetMapping("/GetAll") + @GetMapping() public List