Skip to content

Commit

Permalink
Upgrate to Spring Boot 2.2.5
Browse files Browse the repository at this point in the history
  • Loading branch information
whiteship committed Mar 21, 2020
1 parent dd80569 commit 7f47b9a
Show file tree
Hide file tree
Showing 11 changed files with 59 additions and 104 deletions.
2 changes: 1 addition & 1 deletion rest-api-with-spring/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package me.whiteship.demoinfleanrestapi.common;

import me.whiteship.demoinfleanrestapi.index.IndexController;
import org.springframework.hateoas.EntityModel;
import org.springframework.hateoas.Link;
import org.springframework.hateoas.Resource;
import org.springframework.validation.Errors;

import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo;
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn;

public class ErrorsResource extends Resource<Errors> {
public class ErrorsResource extends EntityModel<Errors> {
public ErrorsResource(Errors content, Link... links) {
super(content, links);
add(linkTo(methodOn(IndexController.class).index()).withRel("index"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import org.springframework.data.web.PagedResourcesAssembler;
import org.springframework.hateoas.Link;
import org.springframework.hateoas.MediaTypes;
import org.springframework.hateoas.mvc.ControllerLinkBuilder;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
Expand All @@ -20,10 +19,10 @@
import java.net.URI;
import java.util.Optional;

import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo;

@Controller
@RequestMapping(value = "/api/events", produces = MediaTypes.HAL_JSON_UTF8_VALUE)
@RequestMapping(value = "/api/events", produces = MediaTypes.HAL_JSON_VALUE)
public class EventController {

private final EventRepository eventRepository;
Expand Down Expand Up @@ -56,7 +55,7 @@ public ResponseEntity createEvent(@RequestBody @Valid EventDto eventDto,
event.setManager(currentUser);
Event newEvent = this.eventRepository.save(event);

ControllerLinkBuilder selfLinkBuilder = linkTo(EventController.class).slash(newEvent.getId());
var selfLinkBuilder = linkTo(EventController.class).slash(newEvent.getId());
URI createdUri = selfLinkBuilder.toUri();
EventResource eventResource = new EventResource(event);
eventResource.add(linkTo(EventController.class).withRel("query-events"));
Expand All @@ -70,7 +69,7 @@ public ResponseEntity queryEvents(Pageable pageable,
PagedResourcesAssembler<Event> assembler,
@CurrentUser Account account) {
Page<Event> page = this.eventRepository.findAll(pageable);
var pagedResources = assembler.toResource(page, e -> new EventResource(e));
var pagedResources = assembler.toModel(page, e -> new EventResource(e));
pagedResources.add(new Link("/docs/index.html#resources-events-list").withRel("profile"));
if (account != null) {
pagedResources.add(linkTo(EventController.class).withRel("create-event"));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package me.whiteship.demoinfleanrestapi.events;

import org.springframework.hateoas.EntityModel;
import org.springframework.hateoas.Link;
import org.springframework.hateoas.Resource;

import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo;

public class EventResource extends Resource<Event> {
public class EventResource extends EntityModel<Event> {

public EventResource(Event event, Link... links) {
super(event, links);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package me.whiteship.demoinfleanrestapi.index;

import me.whiteship.demoinfleanrestapi.events.EventController;
import org.springframework.hateoas.ResourceSupport;
import org.springframework.hateoas.RepresentationModel;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo;

@RestController
public class IndexController {

@GetMapping("/api")
public ResourceSupport index() {
var index = new ResourceSupport();
public RepresentationModel index() {
var index = new RepresentationModel();
index.add(linkTo(EventController.class).withRel("events"));
return index;
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,32 +1,19 @@
package me.whiteship.demoinfleanrestapi.accounts;

import org.hamcrest.Matcher;
import org.hamcrest.Matchers;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import me.whiteship.demoinfleanrestapi.common.BaseTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.Set;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
import static org.junit.jupiter.api.Assertions.assertThrows;

@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("test")
public class AccountServiceTest {

@Rule
public ExpectedException expectedException = ExpectedException.none();
public class AccountServiceTest extends BaseTest {

@Autowired
AccountService accountService;
Expand Down Expand Up @@ -56,13 +43,7 @@ public void findByUsername() {

@Test
public void findByUsernameFail() {
// Expected
String username = "[email protected]";
expectedException.expect(UsernameNotFoundException.class);
expectedException.expectMessage(Matchers.containsString(username));

// When
accountService.loadUserByUsername(username);
assertThrows(UsernameNotFoundException.class, () -> accountService.loadUserByUsername("[email protected]"));
}

}
Original file line number Diff line number Diff line change
@@ -1,26 +1,23 @@
package me.whiteship.demoinfleanrestapi.common;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Ignore;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.Disabled;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
@AutoConfigureRestDocs
@Import(RestDocsConfiguration.class)
@ActiveProfiles("test")
@Ignore
public class BaseControllerTest {
@Disabled
public class BaseTest {

@Autowired
protected MockMvc mockMvc;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
package me.whiteship.demoinfleanrestapi.configs;

import me.whiteship.demoinfleanrestapi.accounts.Account;
import me.whiteship.demoinfleanrestapi.accounts.AccountRole;
import me.whiteship.demoinfleanrestapi.accounts.AccountService;
import me.whiteship.demoinfleanrestapi.common.AppProperties;
import me.whiteship.demoinfleanrestapi.common.BaseControllerTest;
import me.whiteship.demoinfleanrestapi.common.TestDescription;
import org.junit.Test;
import me.whiteship.demoinfleanrestapi.common.BaseTest;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.Set;

import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

public class AuthServerConfigTest extends BaseControllerTest {
public class AuthServerConfigTest extends BaseTest {

@Autowired
AccountService accountService;
Expand All @@ -26,7 +22,7 @@ public class AuthServerConfigTest extends BaseControllerTest {
AppProperties appProperties;

@Test
@TestDescription("인증 토큰을 발급 받는 테스트")
@DisplayName("인증 토큰을 발급 받는 테스트")
public void getAuthToken() throws Exception {
this.mockMvc.perform(post("/oauth/token")
.with(httpBasic(appProperties.getClientId(), appProperties.getClientSecret()))
Expand Down
Loading

0 comments on commit 7f47b9a

Please sign in to comment.