Junit Test Application-35-JWT 만료시간 버그 잡기

jaegeunsong97·2023년 8월 8일
0

Junit Bank Application 깃허브

Junit Bank Application 기록 노션

package shop.mtcoding.bank.config.jwt;

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

import org.junit.jupiter.api.Test;

import shop.mtcoding.bank.config.auth.LoginUser;
import shop.mtcoding.bank.domain.user.User;
import shop.mtcoding.bank.domain.user.UserEnum;

public class JwtProcessTest {

     private String createToken() {
          User user = User.builder().id(1L).role(UserEnum.CUSTOMER).build();
          LoginUser loginUser = new LoginUser(user);
          String jwtToken = JwtProcess.create(loginUser);
          return jwtToken;
     }

     @Test
     public void create_test() throws Exception {
          // given
          User user = User.builder().id(1L).role(UserEnum.CUSTOMER).build();
          LoginUser loginUser = new LoginUser(user);

          // when
          String jwtToken = createToken();
          System.out.println("테스트 : " + jwtToken);

          // then
          assertTrue(jwtToken.startsWith(JwtValueObject.TOKEN_PREFIX));
     }

     @Test
     public void verify_test() throws Exception {
          // given
          String token = createToken(); // Bearer 제거해서 처리
          String jwtToken = token.replace(JwtValueObject.TOKEN_PREFIX, "");

          // when
          LoginUser loginUser = JwtProcess.verify(jwtToken);
          System.out.println("테스트 : " + loginUser.getUser().getId());
          System.out.println("테스트 : " + loginUser.getUser().getRole().name());

          // then
          assertThat(loginUser.getUser().getId()).isEqualTo(1L);
          assertThat(loginUser.getUser().getRole()).isEqualTo(UserEnum.CUSTOMER);
     }
}

만료시간이 끝나서 보니까 에러가 발생했다. 다음과 같이 코드를 수정했다.

profile
블로그 이전 : https://medium.com/@jaegeunsong97

0개의 댓글