23주차에 한것

이번 주에는 그간 괜히 쫄려서 못만져보던 Redis를 만져보았다.

어느정도 머리가 컸는지 레디스도 그렇게 어렵지는 않았다.

또한 yml 파일의 양이 점점 커져서 공통된 부분과 로컬/배포 환경에서 다른 설정을 분리하였다.

그리고 이번 주도 스프링 시큐리티가 적용된 상태에서 컨트롤러 테스트를 하기 위해 시큐리티와 한동안 씨름했다.

언제쯤 익숙해질런지...

 

이번 주에 한 일

  • 레디스에 발급한 인증 번호를 저장하는 로직 구현
  • 회원가입 시 JWT를 발급하는 로직 추가
  • 스프링 시큐리티 내에서 컨트롤러 테스트 환경을 구성하기 위한 설정
  • 로컬, 배포 환경으로 yml 파일 분리

결과

이번 주도 대부분의 시간을 스프링 시큐리티 내에서 컨트롤러 테스트를 하는 방법을 궁리하는데 대부분의 시간을 보냈다.

아무래도 아직 Mocking에 안익숙하기도 하고, JWT 인증 필터가 생각대로 동작하지 않아서 애를 먹었다.

@MockBean 을 써서 어떻게 해보려 했지만 실패했다.

결국 테스트용 SecurityConfig 를 만들어서 테스트에선 JWT 인증 필터를 사용하지 않도록 하였다.

그리고 커스텀 @WithMockUser를 만들어서 인증 필터를 거치지 않고 SecurityContext의 Principal을 쓸 수 있도록 했다.

 

그래도 이번 주엔 레디스도 만져보고, yml 파일 분리하는 법도 익히고, 스프링 시큐리티 내에서 컨트롤러 테스트를 하는 방법도 익힐 수 있어서 제법 알찼다.

문제는 작업량이 적어서 다음 주는 더 열심히 해야한다는 점...

 

이번 주에 아쉬웠던 부분은 아래와 같다.

  • 이번주도 스프링 시큐리티에 시간을 너무 많이 빼앗겨서 작업량이 적었음
  • 아직 Mocking을 하는게 미숙해서 아쉬움

+ Recent posts