use of com.tvd12.ezyfoxserver.command.impl.EzyAppHandleExceptionImpl in project ezyfox-server by youngmonkeys.
the class EzySimpleAppContext method doInit.
@Override
protected void doInit() {
EzySetup setup = new EzyAppSetupImpl(app);
this.sendResponse = new EzyAppSendResponseImpl(this);
this.properties.put(EzyAppSendResponse.class, sendResponse);
this.properties.put(EzyHandleException.class, new EzyAppHandleExceptionImpl(app));
this.properties.put(EzySetup.class, setup);
this.properties.put(EzyAppSetup.class, setup);
}
use of com.tvd12.ezyfoxserver.command.impl.EzyAppHandleExceptionImpl in project ezyfox-server by youngmonkeys.
the class EzyAppHandleExceptionImplTest method handleExceptionWithHandlers.
@Test
public void handleExceptionWithHandlers() {
// given
EzySimpleApplication app = new EzySimpleApplication();
EzySimpleAppSetting setting = new EzySimpleAppSetting();
String appName = RandomUtil.randomShortAlphabetString();
setting.setName(appName);
app.setSetting(setting);
EzyAppHandleExceptionImpl sut = new EzyAppHandleExceptionImpl(app);
Logger logger = mock(Logger.class);
FieldUtil.setFieldValue(sut, "logger", logger);
EzyExceptionHandler exceptionHandler = mock(EzyExceptionHandler.class);
app.getExceptionHandlers().addExceptionHandler(exceptionHandler);
// when
Exception exception = new IllegalArgumentException("one");
sut.handle(Thread.currentThread(), exception);
// then
verify(exceptionHandler, times(1)).handleException(Thread.currentThread(), exception);
verify(logger, times(0)).info("app: {} has no handler for exception:", appName, exception);
}
use of com.tvd12.ezyfoxserver.command.impl.EzyAppHandleExceptionImpl in project ezyfox-server by youngmonkeys.
the class EzyAppHandleExceptionImplTest method handleExceptionWithHandlersButException.
@Test
public void handleExceptionWithHandlersButException() {
// given
EzySimpleApplication app = new EzySimpleApplication();
EzySimpleAppSetting setting = new EzySimpleAppSetting();
String appName = RandomUtil.randomShortAlphabetString();
setting.setName(appName);
app.setSetting(setting);
EzyAppHandleExceptionImpl sut = new EzyAppHandleExceptionImpl(app);
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);
app.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 app: {} error", exceptionToSimpleString(exception), appName, ex);
}
use of com.tvd12.ezyfoxserver.command.impl.EzyAppHandleExceptionImpl in project ezyfox-server by youngmonkeys.
the class EzyAppHandleExceptionImplTest method handleExceptionWithEmptyHandlers.
@Test
public void handleExceptionWithEmptyHandlers() {
// given
EzySimpleApplication app = new EzySimpleApplication();
EzySimpleAppSetting setting = new EzySimpleAppSetting();
String appName = RandomUtil.randomShortAlphabetString();
setting.setName(appName);
app.setSetting(setting);
EzyAppHandleExceptionImpl sut = new EzyAppHandleExceptionImpl(app);
Logger logger = mock(Logger.class);
FieldUtil.setFieldValue(sut, "logger", logger);
// when
Exception exception = new IllegalArgumentException("one");
sut.handle(Thread.currentThread(), exception);
// then
verify(logger, times(1)).info("app: {} has no handler for exception:", appName, exception);
}
Aggregations