commit
d415f618e8
@ -0,0 +1,46 @@
|
||||
package egovframework.com.config;
|
||||
|
||||
import egovframework.com.cmm.EgovMessageSource;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
|
||||
|
||||
/**
|
||||
* fileName : EgovConfigAppMsg
|
||||
* author : crlee
|
||||
* date : 2023/05/05
|
||||
* description :
|
||||
* ===========================================================
|
||||
* DATE AUTHOR NOTE
|
||||
* -----------------------------------------------------------
|
||||
* 2023/05/05 crlee 최초 생성
|
||||
*/
|
||||
@Configuration
|
||||
public class EgovConfigAppMsg {
|
||||
|
||||
/**
|
||||
* @return [Resource 설정] 메세지 Properties 경로 설정
|
||||
*/
|
||||
@Bean
|
||||
public ReloadableResourceBundleMessageSource messageSource() {
|
||||
ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource = new ReloadableResourceBundleMessageSource();
|
||||
|
||||
reloadableResourceBundleMessageSource.setBasenames(
|
||||
"classpath:/egovframework/message/com/message-common",
|
||||
"classpath:/org/egovframe/rte/fdl/idgnr/messages/idgnr",
|
||||
"classpath:/org/egovframe/rte/fdl/property/messages/properties");
|
||||
reloadableResourceBundleMessageSource.setCacheSeconds(60);
|
||||
return reloadableResourceBundleMessageSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return [Resource 설정] 메세지 소스 등록
|
||||
*/
|
||||
@Bean
|
||||
public EgovMessageSource egovMessageSource() {
|
||||
EgovMessageSource egovMessageSource = new EgovMessageSource();
|
||||
egovMessageSource.setReloadableResourceBundleMessageSource(messageSource());
|
||||
return egovMessageSource;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,71 @@
|
||||
package egovframework.com;
|
||||
|
||||
import egovframework.com.cmm.EgovMessageSource;
|
||||
import egovframework.com.config.EgovConfigAppMsg;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.jupiter.api.DynamicTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
|
||||
/**
|
||||
* fileName : EgovMessageSourceTest
|
||||
* author : crlee
|
||||
* date : 2023/05/05
|
||||
* description :
|
||||
* ===========================================================
|
||||
* DATE AUTHOR NOTE
|
||||
* -----------------------------------------------------------
|
||||
* 2023/05/05 crlee 최초 생성
|
||||
*/
|
||||
@SpringBootTest(classes = {EgovConfigAppMsg.class})
|
||||
public class EgovMessageSourceTest {
|
||||
|
||||
@Autowired
|
||||
EgovMessageSource egovMessageSource;
|
||||
|
||||
@TestFactory
|
||||
Stream<DynamicTest> messageTests() {
|
||||
List<Locale> locales = Arrays.asList(
|
||||
Locale.KOREA,
|
||||
Locale.US
|
||||
);
|
||||
|
||||
return locales.stream().map(locale -> DynamicTest.dynamicTest(
|
||||
"Message test with " + locale.getDisplayName(),
|
||||
() -> {
|
||||
String msgType = "fail.common.login";
|
||||
String expectedMessage = getMessageForLocale(locale);
|
||||
|
||||
Assertions.assertThat(
|
||||
egovMessageSource.getMessage(msgType, locale)
|
||||
).isEqualTo(expectedMessage);
|
||||
}
|
||||
));
|
||||
}
|
||||
|
||||
private String getMessageForLocale(Locale locale) {
|
||||
if (locale == Locale.KOREA) {
|
||||
return "로그인 정보가 올바르지 않습니다.";
|
||||
} else if (locale == Locale.US) {
|
||||
return "login information is not correct";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void enMessageTest(){
|
||||
String msgType = "fail.common.login";
|
||||
String expectedMessage = "login information is not correct";
|
||||
Assertions.assertThat( egovMessageSource.getMessage(msgType, Locale.US) ).isEqualTo(expectedMessage);
|
||||
Assertions.assertThat( egovMessageSource.getMessage(msgType, Locale.UK) ).isEqualTo(expectedMessage);
|
||||
Assertions.assertThat( egovMessageSource.getMessage(msgType, Locale.ENGLISH) ).isEqualTo(expectedMessage);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue