Skip to content

Commit

Permalink
feat: 로그아웃 API 핸들러 구현
Browse files Browse the repository at this point in the history
AuthController.java
AuthControllerTest.java
 - 로그아웃 핸들러 구현
 - 로그아웃 API 호출 시 정상 작동하는지 검증
  • Loading branch information
ujamX committed Sep 11, 2023
1 parent e450d41 commit 99b7042
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package io.devlabs.keytree.domains.auth.presentation;

import io.devlabs.keytree.domains.auth.application.AuthService;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController()
@RequiredArgsConstructor
public class AuthController {

private final AuthService authService;

@PostMapping("/logout")
public String logout (HttpServletRequest request) {
return authService.logout(request);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package io.devlabs.keytree.domains.auth.presentation;

import io.restassured.RestAssured;
import io.restassured.response.ExtractableResponse;
import io.restassured.response.Response;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.test.annotation.DirtiesContext;

import static org.assertj.core.api.Assertions.assertThat;

@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class AuthControllerTest {

@LocalServerPort
private int port;

@BeforeEach
void setUp() {
RestAssured.port = port;
}

@DisplayName("로그아웃 API")
@Test
void logout() {
// given

// when
ExtractableResponse<Response> response =
RestAssured.given()
.log()
.all()
.contentType(MediaType.APPLICATION_JSON_VALUE)
.when()
.post("/logout")
.then()
.log()
.all()
.extract();

// then
assertThat(response.statusCode()).isEqualTo(HttpStatus.OK.value());
}
}

0 comments on commit 99b7042

Please sign in to comment.