이메일 발송 테스트 코드 추가
This commit is contained in:
@@ -50,7 +50,8 @@ public class EmailJob {
|
||||
this.messageRequest = messageRequest;
|
||||
this.prop = prop;
|
||||
|
||||
String filename = messageRequest.getServiceId() + "_" + DateTimeFormatter.ofPattern("yyyyMMddHHmmss").format(now) + ".dat";
|
||||
// String filename = messageRequest.getServiceId() + "_" + DateTimeFormatter.ofPattern("yyyyMMddHHmmss").format(now) + ".dat";
|
||||
String filename = messageRequest.getServiceId() + "_" + DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS").format(now) + ".dat";
|
||||
this.eaiFilePath = Paths.get(prop.getUmsEaiBatchSendDir(), filename);
|
||||
this.backupFilePath = Paths.get(prop.getUmsEaiBatchBackupDir(), filename);
|
||||
this.failedFilePath = Paths.get(prop.getUmsEaiBatchBackupDir(), filename + ".failed");
|
||||
@@ -240,11 +241,14 @@ public class EmailJob {
|
||||
jsonObject.addProperty("ENCKEY", ""); // 보안메일용으로 기입 불필요
|
||||
|
||||
Gson gson = new Gson();
|
||||
log.debug("Template string to json: {}", messageRequest.getMessage());
|
||||
JsonObject contentJSon = gson.fromJson(messageRequest.getMessage(), JsonObject.class);
|
||||
contentJSon.entrySet().forEach(entry -> {
|
||||
jsonObject.add(entry.getKey(), entry.getValue());
|
||||
});
|
||||
String message = messageRequest.getMessage();
|
||||
log.debug("Template string to json: {}", message);
|
||||
if (StringUtils.isNotEmpty(message)) {
|
||||
JsonObject contentJSon = gson.fromJson(message, JsonObject.class);
|
||||
contentJSon.entrySet().forEach(entry -> {
|
||||
jsonObject.add(entry.getKey(), entry.getValue());
|
||||
});
|
||||
}
|
||||
|
||||
// jsonObject.addProperty("SUBJECT", messageRequest.getSubject());
|
||||
// jsonObject.addProperty("MESSAGE", messageRequest.getMessage());
|
||||
|
||||
@@ -117,8 +117,10 @@ public class KjbEmailSendModule {
|
||||
public void sendEmail(MessageRequest messageRequest) throws KjbEaiBatchException {
|
||||
String serviceId = "UNKNOWN";
|
||||
|
||||
serviceId = messageRequest.getMessageCode().getServiceId();
|
||||
messageRequest.setServiceId(serviceId);
|
||||
if (StringUtils.isEmpty(messageRequest.getServiceId())) {
|
||||
serviceId = messageRequest.getMessageCode().getServiceId();
|
||||
messageRequest.setServiceId(serviceId);
|
||||
}
|
||||
|
||||
if (StringUtils.isEmpty(serviceId)) {
|
||||
throw new IllegalArgumentException("MessageRequest MessageCode serviceId is required");
|
||||
|
||||
@@ -14,6 +14,8 @@ import org.junit.jupiter.api.Assumptions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
@@ -31,6 +33,8 @@ public class UmsTest {
|
||||
prop.setUmsApiKey("7cca6d58-e4f7-474d-9edd-525806bc99ff");
|
||||
|
||||
if (OsUtil.isWindows()) {
|
||||
prop.setEaiBatchUrl("");
|
||||
prop.setUmsHostUrl("");
|
||||
prop.setUmsEaiBatchSendDir("c:\\kjb-logs\\sendmail\\snd");
|
||||
prop.setUmsEaiBatchBackupDir("c:\\kjb-logs\\sendmail\\bak");
|
||||
prop.setUmsEaiBatchErrorDir("c:\\kjb-logs\\sendmail\\error");
|
||||
@@ -71,6 +75,9 @@ public class UmsTest {
|
||||
log.info("done");
|
||||
}
|
||||
|
||||
/**
|
||||
* :eapim-admin-kjb:test --tests "com.eactive.ext.kjb.ums.test.UmsTest.testEmail"
|
||||
*/
|
||||
@Test
|
||||
public void testEmail() {
|
||||
Assumptions.assumeTrue(
|
||||
@@ -83,24 +90,70 @@ public class UmsTest {
|
||||
});
|
||||
|
||||
KjbEmailSendModule service = KjbEmailSendModule.getInstance(prop, null);
|
||||
MessageRequest messageRequest = new MessageRequest();
|
||||
messageRequest.setId(UUID.randomUUID().toString());
|
||||
messageRequest.setMessageCode(MessageCode.USER_VERIFICATION_EMAIL);
|
||||
messageRequest.setEmail("dearmai@dearmai.net");
|
||||
messageRequest.setUmsUid(UUID.randomUUID().toString());
|
||||
messageRequest.setUsername("김광은");
|
||||
messageRequest.setSubject("제목 - test");
|
||||
messageRequest.setMessage("{\"ATHN_NO\": \"543216\"}");
|
||||
messageRequest.setServiceId("FM_APIM001");
|
||||
|
||||
log.info("MessageRequest - {}", messageRequest);
|
||||
List<MessageRequest> requestList = new ArrayList<>();
|
||||
|
||||
|
||||
log.info("#1 요청 생성 - 이메일 인증");
|
||||
requestList.add(createMessageRequest(MessageCode.USER_VERIFICATION_EMAIL, "{\"ATHN_NO\": \"543216\"}"));
|
||||
|
||||
log.info("#2 요청 생성 - 비밀번호 초기화");
|
||||
requestList.add(createMessageRequest(MessageCode.USER_PASSWORD_RESET, "{\"ATHN_NO\": \"new-password\"}"));
|
||||
|
||||
log.info("#3 요청 생성 - 비밀번호 변경 완료");
|
||||
requestList.add(createMessageRequest(MessageCode.USER_PASSWORD_CHANGED, ""));
|
||||
|
||||
log.info("#4 요청 생성 - 로그인 제한");
|
||||
requestList.add(createMessageRequest(MessageCode.USER_ACCOUNT_LOCKED, "{\"RJCT_RSN\": \"%reason%\"}"));
|
||||
|
||||
log.info("#5 요청 생성 - 이메일 초대");
|
||||
requestList.add(createMessageRequest(MessageCode.USER_INVITATION,
|
||||
"{\"CRPT_NM\":\"%corpName%\",\"MNGR_NM\":\"%managerName%\",\"CUST_ID\":\"%loginId%\",\"PSWD\":\"%tempPassword%\"}"));
|
||||
|
||||
log.info("#6 요청 생성 - 이메일 초대 취소");
|
||||
requestList.add(createMessageRequest(MessageCode.USER_INVITATION_CANCELED,
|
||||
"{\"CRPT_NM\":\"%corpName%\",\"MNGR_NM\":\"%managerName%\"}"));
|
||||
|
||||
log.info("#7 요청 생성 - 법인관리자 및 법인 등록 승인");
|
||||
requestList.add(createMessageRequest(MessageCode.MANAGER_WITH_ORG_REGISTER_APPROVED, ""));
|
||||
|
||||
log.info("#8 요청 생성 - 법인관리자 및 법인 등록 거절");
|
||||
requestList.add(createMessageRequest(MessageCode.MANAGER_WITH_ORG_REGISTER_REJECTED, "{\"RJCT_RSN\": \"%reason%\"}"));
|
||||
|
||||
log.info("#9 요청 생성 - 앱 승인");
|
||||
requestList.add(createMessageRequest(MessageCode.APP_REGISTER_APPROVED, "{\"APP_IDNT_NM\": \"%appName%\"}"));
|
||||
|
||||
log.info("#10 요청 생성 - 앱 승인 거절");
|
||||
requestList.add(createMessageRequest(MessageCode.APP_REGISTER_REJECTED, "{\"RJCT_RSN\": \"%reason%\"}"));
|
||||
|
||||
|
||||
|
||||
try {
|
||||
service.sendEmail(messageRequest);
|
||||
for (int i = 0; i < requestList.size(); i++) {
|
||||
MessageRequest request = requestList.get(i);
|
||||
log.info("#{} - 메일 전송 시도 - {}", i + 1, request.getServiceId());
|
||||
service.sendEmail(request);
|
||||
}
|
||||
} catch (KjbEaiBatchException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
log.info("done");
|
||||
}
|
||||
|
||||
private MessageRequest createMessageRequest(MessageCode messageCode, String message) {
|
||||
MessageRequest messageRequest = new MessageRequest();
|
||||
messageRequest.setId(UUID.randomUUID().toString());
|
||||
messageRequest.setMessageCode(messageCode);
|
||||
messageRequest.setEmail("dearmai@dearmai.net");
|
||||
messageRequest.setUmsUid(UUID.randomUUID().toString());
|
||||
messageRequest.setUsername("김광은");
|
||||
messageRequest.setSubject("제목 - test");
|
||||
messageRequest.setMessage(message);
|
||||
// messageRequest.setServiceId(serviceId);
|
||||
|
||||
log.info("MessageRequest - {}", messageRequest);
|
||||
|
||||
return messageRequest;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user