From 66316238f81812d5e938f31e509364716965ceeb Mon Sep 17 00:00:00 2001 From: hou27 Date: Sat, 11 Feb 2023 19:25:14 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=95=EC=A0=81=EC=9D=B8=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=EB=93=9C=EB=A1=9C=20=EC=9D=B8=ED=95=B4=20=ED=9E=98?= =?UTF-8?q?=EB=93=A0=20=EA=B2=BD=EC=9A=B0=20-=20#79?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. https://unabated.tistory.com/1041 - java에서 static을 지양해야하는 이유 - 테스트 중 static한 field 또는 method를 사용할 경우 모든 클래스는 예상되는 상태에서 시작되어야하며 매우 까다로워질 수 있다. 2. AuthUtil 클래스가 어떠한 인증 서버와 통신하는 경우 동작하고 있는 인증 서버가 필요하며, 통신할 인증 서버 정보를 시스템 프로퍼티에서 가져온다면 그 정보 또한 테스트 환경에 맞게 설정해야 한다. --- .../java/com/hou27/chap08/LoginService.java" | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 "\352\271\200\354\240\225\355\230\270/src/test/java/com/hou27/chap08/LoginService.java" diff --git "a/\352\271\200\354\240\225\355\230\270/src/test/java/com/hou27/chap08/LoginService.java" "b/\352\271\200\354\240\225\355\230\270/src/test/java/com/hou27/chap08/LoginService.java" new file mode 100644 index 0000000..a2e6be6 --- /dev/null +++ "b/\352\271\200\354\240\225\355\230\270/src/test/java/com/hou27/chap08/LoginService.java" @@ -0,0 +1,30 @@ +package com.hou27.chap08; + +public class LoginService { + + private String authKey = "some_key"; + private CustomerRepository customerRepository; + + public LoginService(CustomerRepository customerRepository) { + this.customerRepository = customerRepository; + } + + public LoginResult login(String id, String password) { + int resp = 0; + boolean authorized = AuthUtil.authorize(authKey); // 정적 메서드를 사용 + if (authorized) { + resp = AuthUtil.authenticate(id, password); // 정적 메서드를 사용 + } else { + resp = -1; + } + + if (resp == -1) { + return LoginResult.badAuthKey(); + } else if (resp == 1) { + return LoginResult.success(); + } else { + return LoginResult.fail(); + } + } + +}