Bael 3557: Deleted /app package (#9242)
* BAEL-3557: Completed a simple web application in spring boot and groovy * BAEL-3557: renamed packagename from com.baeldung.app to more unique name - com.baeldung.springwithgroovy * BAEL-3557: Deleted /app package Co-authored-by: Vikas Ramsingh Rajput <vikas.rajput@crownconsult.com>
This commit is contained in:
parent
7add0d4bb4
commit
0f78e9a073
|
@ -1,13 +0,0 @@
|
||||||
package com.baeldung.app
|
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
|
||||||
|
|
||||||
import com.baeldung.app.SpringBootGroovyApplication
|
|
||||||
|
|
||||||
@SpringBootApplication
|
|
||||||
class SpringBootGroovyApplication {
|
|
||||||
static void main(String[] args) {
|
|
||||||
SpringApplication.run SpringBootGroovyApplication, args
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,48 +0,0 @@
|
||||||
package com.baeldung.app.controller
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired
|
|
||||||
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.RequestMethod
|
|
||||||
import org.springframework.web.bind.annotation.RestController
|
|
||||||
|
|
||||||
import com.baeldung.app.entity.Todo
|
|
||||||
import com.baeldung.app.service.TodoService
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping('todo')
|
|
||||||
public class TodoController {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
TodoService todoService
|
|
||||||
|
|
||||||
@GetMapping
|
|
||||||
List<Todo> getAllTodoList(){
|
|
||||||
todoService.findAll()
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping
|
|
||||||
Todo saveTodo(@RequestBody Todo todo){
|
|
||||||
todoService.saveTodo todo
|
|
||||||
}
|
|
||||||
|
|
||||||
@PutMapping
|
|
||||||
Todo updateTodo(@RequestBody Todo todo){
|
|
||||||
todoService.updateTodo todo
|
|
||||||
}
|
|
||||||
|
|
||||||
@DeleteMapping('/{todoId}')
|
|
||||||
deleteTodo(@PathVariable Integer todoId){
|
|
||||||
todoService.deleteTodo todoId
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping('/{todoId}')
|
|
||||||
Todo getTodoById(@PathVariable Integer todoId){
|
|
||||||
todoService.findById todoId
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
package com.baeldung.app.entity
|
|
||||||
|
|
||||||
import javax.persistence.Column
|
|
||||||
import javax.persistence.Entity
|
|
||||||
import javax.persistence.GeneratedValue
|
|
||||||
import javax.persistence.GenerationType
|
|
||||||
import javax.persistence.Id
|
|
||||||
import javax.persistence.Table
|
|
||||||
|
|
||||||
@Entity
|
|
||||||
@Table(name = 'todo')
|
|
||||||
class Todo {
|
|
||||||
@Id
|
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
||||||
Integer id
|
|
||||||
|
|
||||||
@Column
|
|
||||||
String task
|
|
||||||
|
|
||||||
@Column
|
|
||||||
Boolean isCompleted
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
package com.baeldung.app.repository
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository
|
|
||||||
import org.springframework.stereotype.Repository
|
|
||||||
|
|
||||||
import com.baeldung.app.entity.Todo
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
interface TodoRepository extends JpaRepository<Todo, Integer> {}
|
|
|
@ -1,16 +0,0 @@
|
||||||
package com.baeldung.app.service
|
|
||||||
|
|
||||||
import com.baeldung.app.entity.Todo
|
|
||||||
|
|
||||||
interface TodoService {
|
|
||||||
|
|
||||||
List<Todo> findAll()
|
|
||||||
|
|
||||||
Todo findById(Integer todoId)
|
|
||||||
|
|
||||||
Todo saveTodo(Todo todo)
|
|
||||||
|
|
||||||
Todo updateTodo(Todo todo)
|
|
||||||
|
|
||||||
Todo deleteTodo(Integer todoId)
|
|
||||||
}
|
|
|
@ -1,40 +0,0 @@
|
||||||
package com.baeldung.app.service.impl
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired
|
|
||||||
import org.springframework.stereotype.Service
|
|
||||||
|
|
||||||
import com.baeldung.app.entity.Todo
|
|
||||||
import com.baeldung.app.repository.TodoRepository
|
|
||||||
import com.baeldung.app.service.TodoService
|
|
||||||
|
|
||||||
@Service
|
|
||||||
class TodoServiceImpl implements TodoService {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
TodoRepository todoRepository
|
|
||||||
|
|
||||||
@Override
|
|
||||||
List<Todo> findAll() {
|
|
||||||
todoRepository.findAll()
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
Todo findById(Integer todoId) {
|
|
||||||
todoRepository.findById todoId get()
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
Todo saveTodo(Todo todo){
|
|
||||||
todoRepository.save todo
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
Todo updateTodo(Todo todo){
|
|
||||||
todoRepository.save todo
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
Todo deleteTodo(Integer todoId){
|
|
||||||
todoRepository.deleteById todoId
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,97 +0,0 @@
|
||||||
package com.baeldung.app
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue
|
|
||||||
|
|
||||||
import org.junit.BeforeClass
|
|
||||||
import org.junit.Test
|
|
||||||
import org.junit.runner.RunWith
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest
|
|
||||||
import org.springframework.http.HttpStatus
|
|
||||||
import org.springframework.http.MediaType
|
|
||||||
import org.springframework.test.context.event.annotation.BeforeTestClass
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner
|
|
||||||
|
|
||||||
import com.baeldung.app.entity.Todo
|
|
||||||
|
|
||||||
import io.restassured.RestAssured
|
|
||||||
import io.restassured.response.Response
|
|
||||||
|
|
||||||
class TodoAppUnitTest {
|
|
||||||
static API_ROOT = 'http://localhost:8081/todo'
|
|
||||||
static readingTodoId
|
|
||||||
static writingTodoId
|
|
||||||
|
|
||||||
@BeforeClass
|
|
||||||
static void populateDummyData() {
|
|
||||||
Todo readingTodo = new Todo(task: 'Reading', isCompleted: false)
|
|
||||||
Todo writingTodo = new Todo(task: 'Writing', isCompleted: false)
|
|
||||||
|
|
||||||
final Response readingResponse =
|
|
||||||
RestAssured.given()
|
|
||||||
.contentType(MediaType.APPLICATION_JSON_VALUE)
|
|
||||||
.body(readingTodo).post(API_ROOT)
|
|
||||||
|
|
||||||
Todo cookingTodoResponse = readingResponse.as Todo.class
|
|
||||||
readingTodoId = cookingTodoResponse.getId()
|
|
||||||
|
|
||||||
final Response writingResponse =
|
|
||||||
RestAssured.given()
|
|
||||||
.contentType(MediaType.APPLICATION_JSON_VALUE)
|
|
||||||
.body(writingTodo).post(API_ROOT)
|
|
||||||
|
|
||||||
Todo writingTodoResponse = writingResponse.as Todo.class
|
|
||||||
writingTodoId = writingTodoResponse.getId()
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void whenGetAllTodoList_thenOk(){
|
|
||||||
final Response response = RestAssured.get(API_ROOT)
|
|
||||||
|
|
||||||
assertEquals HttpStatus.OK.value(),response.getStatusCode()
|
|
||||||
assertTrue response.as(List.class).size() > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void whenGetTodoById_thenOk(){
|
|
||||||
final Response response =
|
|
||||||
RestAssured.get("$API_ROOT/$readingTodoId")
|
|
||||||
|
|
||||||
assertEquals HttpStatus.OK.value(),response.getStatusCode()
|
|
||||||
Todo todoResponse = response.as Todo.class
|
|
||||||
assertEquals readingTodoId,todoResponse.getId()
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void whenUpdateTodoById_thenOk(){
|
|
||||||
Todo todo = new Todo(id:readingTodoId, isCompleted: true)
|
|
||||||
final Response response =
|
|
||||||
RestAssured.given()
|
|
||||||
.contentType(MediaType.APPLICATION_JSON_VALUE)
|
|
||||||
.body(todo).put(API_ROOT)
|
|
||||||
|
|
||||||
assertEquals HttpStatus.OK.value(),response.getStatusCode()
|
|
||||||
Todo todoResponse = response.as Todo.class
|
|
||||||
assertTrue todoResponse.getIsCompleted()
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void whenDeleteTodoById_thenOk(){
|
|
||||||
final Response response =
|
|
||||||
RestAssured.given()
|
|
||||||
.delete("$API_ROOT/$writingTodoId")
|
|
||||||
|
|
||||||
assertEquals HttpStatus.OK.value(),response.getStatusCode()
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void whenSaveTodo_thenOk(){
|
|
||||||
Todo todo = new Todo(task: 'Blogging', isCompleted: false)
|
|
||||||
final Response response =
|
|
||||||
RestAssured.given()
|
|
||||||
.contentType(MediaType.APPLICATION_JSON_VALUE)
|
|
||||||
.body(todo).post(API_ROOT)
|
|
||||||
|
|
||||||
assertEquals HttpStatus.OK.value(),response.getStatusCode()
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue