Search in sources :

Example 6 with EzyExceptionHandler

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);
}
Also used : EzyPluginHandleExceptionImpl(com.tvd12.ezyfoxserver.command.impl.EzyPluginHandleExceptionImpl) EzyExceptionHandler(com.tvd12.ezyfox.util.EzyExceptionHandler) EzySimplePlugin(com.tvd12.ezyfoxserver.EzySimplePlugin) Logger(org.slf4j.Logger) EzySimplePluginSetting(com.tvd12.ezyfoxserver.setting.EzySimplePluginSetting) BaseTest(com.tvd12.test.base.BaseTest) Test(org.testng.annotations.Test)

Aggregations

EzyExceptionHandler (com.tvd12.ezyfox.util.EzyExceptionHandler)5 BaseTest (com.tvd12.test.base.BaseTest)4 Logger (org.slf4j.Logger)4 Test (org.testng.annotations.Test)4 EzyStrings.exceptionToSimpleString (com.tvd12.ezyfox.io.EzyStrings.exceptionToSimpleString)2 EzySimpleApplication (com.tvd12.ezyfoxserver.EzySimpleApplication)2 EzySimplePlugin (com.tvd12.ezyfoxserver.EzySimplePlugin)2 EzyAppHandleExceptionImpl (com.tvd12.ezyfoxserver.command.impl.EzyAppHandleExceptionImpl)2 EzyPluginHandleExceptionImpl (com.tvd12.ezyfoxserver.command.impl.EzyPluginHandleExceptionImpl)2 EzySimpleAppSetting (com.tvd12.ezyfoxserver.setting.EzySimpleAppSetting)2 EzySimplePluginSetting (com.tvd12.ezyfoxserver.setting.EzySimplePluginSetting)2 EzyExceptionHandlers (com.tvd12.ezyfox.util.EzyExceptionHandlers)1