에러

[에러] 409 에러

ummchicken 2023. 1. 18. 23:06

409 에러가 났다.

 

처음보는 에러였다.

 

 

회원가입 성공 & 실패 테스트를 통과 후 

로그인 성공 & 실패 테스트 코드를 작성하는 과정에서 마주한 에러다.

 

 

 

[Test 코드]

@Test
@DisplayName("로그인 실패 - userName 없음")
@WithMockUser
void login_fail1() throws Exception {
    String userName = "Kim";
    String password = "1qwefa32";

    when(userService.login(any(), any()))
            .thenThrow(new AppException(ErrorCode.USERNAME_NOT_FOUND, ""));

    mockMvc.perform(post("/api/v1/users/login")
                    .with(csrf())
                    .contentType(MediaType.APPLICATION_JSON)
                    .content(objectMapper.writeValueAsBytes(new UserLoginRequest(userName, password))))
            .andDo(print())
            .andExpect(status().isNotFound());
}

 

[결과]

 

 

409 에러는 또 뭐야...

진짜 가지각색의 에러를 마주한다.

로그인 실패 테스트이기 때문에 userName을 찾을 수 없다는 에러가 발생해야 하는데...

전혀 예상치못한 409 에러가 나와 테스트 코드를 통과하지 못하고 있었다.

 

 

미친듯이 구글링.

 

 

409 에러는 잘 나는 에러도 아닌지, 자료도 많지 않았다.

그래도 검색해보니 사용자측에서 발생하는 에러란다?

원인을 정확하게 알 수 없는 에러란다.

 

 

내가 코드를 잘못짰나...

도저히 못찾겠어서 구글링을 계속 했다.

 

 

그러던 와중 공용 와이파이?를 사용해서 409 에러가 났다는 글을 보게 되었다.

 

그래서 핫스팟으로 네트워크 바꿔보고, 

네트워크 설정도 공용이 아닌 개인으로 바꿔보고...도 했지만

여전히 409 에러가 났다.

 

 

원인을 알 수 없으니 답답했다.

 

결국 구글링으로도 원인을 찾지 못해 

내가 직접 찾기로 하였다.

 

 

코드를 살펴보던 와중...?

콘솔에 이상한 현상을 마주했다.

 

 

 

웬 null이 이렇게 많지...?

지금 정보를 못찾아오는 건가? 이런 생각이 들었다.

그러다가...

저번에 마주친 에러가 생각난 것이다...!

 

 

그래서 로그인 응답 dto를 살펴보았다.

 

 

[UserLoginRequest.java]

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
@Getter
public class UserLoginRequest {

    private String userName;
    private String password;

}

 

 

저번에 났던 에러도 

@NoArgsConstructor 안 넣어서 에러 났었는데...?

 

혹시나 싶어서 넣어봤다.

 

 

[UserLoginRequest.java] 수정

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

@AllArgsConstructor
@NoArgsConstructor
@Getter
public class UserLoginRequest {

    private String userName;
    private String password;

}

 

 

그랬더니

통과했다!

 

역시나 앞의 에러와 같은 에러였던 것이다.

 

 

 

- 뻘짓 기록 끝 -