use of com.tvd12.ezyfox.util.EzyExceptionHandler in project ezyfox-server by youngmonkeys.
the class EzyPluginHandleExceptionImplTest method handleExceptionWithHandlersButException.
@Test
public void handleExceptionWithHandlersButException() {
// given
EzySimplePlugin plugin = new EzySimplePlugin();
EzySimplePluginSetting setting = new EzySimplePluginSetting();
String pluginName = RandomUtil.randomShortAlphabetString();
setting.setName(pluginName);
plugin.setSetting(setting);
EzyPluginHandleExceptionImpl sut = new EzyPluginHandleExceptionImpl(plugin);
Logger logger = mock(Logger.class);
FieldUtil.setFieldValue(sut, "logger", logger);
Exception exception = new IllegalArgumentException("one");
EzyExceptionHandler exceptionHandler = mock(EzyExceptionHandler.class);
RuntimeException ex = new RuntimeException("just test");
doThrow(ex).when(exceptionHandler).handleException(Thread.currentThread(), exception);
plugin.getExceptionHandlers().addExceptionHandler(exceptionHandler);
// when
sut.handle(Thread.currentThread(), exception);
// then
verify(exceptionHandler, times(1)).handleException(Thread.currentThread(), exception);
verify(logger, times(1)).warn("handle exception: {} on plugin: {} error", EzyStrings.exceptionToSimpleString(exception), pluginName, ex);
}
Aggregations