use of com.tvd12.ezyfoxserver.support.asm.EzyRequestHandlersImplementer in project ezyfox-server by youngmonkeys.
the class EzyRequestHandlersImplementerTest method testImplementFailedCase2.
@Test
public void testImplementFailedCase2() {
EzyRequestHandlerImplementer.setDebug(true);
EzyRequestHandlersImplementer implementer = new EzyRequestHandlersImplementer();
EzyFeatureCommandManager featureCommandManager = new EzyFeatureCommandManager();
EzyRequestCommandManager requestCommandManager = new EzyRequestCommandManager();
implementer.setFeatureCommandManager(featureCommandManager);
implementer.setRequestCommandManager(requestCommandManager);
implementer.implement(Collections.singletonList(new HelloController2()));
}
use of com.tvd12.ezyfoxserver.support.asm.EzyRequestHandlersImplementer in project ezyfox-server by youngmonkeys.
the class EzyRequestHandlersImplementerTest method test.
@Test
@SuppressWarnings({ "rawtypes", "unchecked" })
public void test() {
// given
EzyAppContext context = mock(EzyAppContext.class);
EzySession session = mock(EzyAbstractSession.class);
EzyUser user = new EzySimpleUser();
EzyUserSessionEvent event = new EzySimpleUserSessionEvent(user, session);
EzyRequestHandlerImplementer.setDebug(true);
EzyRequestHandlersImplementer implementer = new EzyRequestHandlersImplementer();
EzyResponseFactory responseFactory = mock(EzyResponseFactory.class);
EzyObjectResponse objectResponse = mock(EzyObjectResponse.class);
when(responseFactory.newObjectResponse()).thenReturn(objectResponse);
when(objectResponse.command("Big/Hello6")).thenReturn(objectResponse);
when(objectResponse.data(new GreetResponse("Hello Dzung!"))).thenReturn(objectResponse);
when(objectResponse.session(any())).thenReturn(objectResponse);
doNothing().when(objectResponse).execute();
implementer.setResponseFactory(responseFactory);
EzyFeatureCommandManager featureCommandManager = new EzyFeatureCommandManager();
EzyRequestCommandManager requestCommandManager = new EzyRequestCommandManager();
implementer.setFeatureCommandManager(featureCommandManager);
implementer.setRequestCommandManager(requestCommandManager);
Map<String, EzyUserRequestHandler> handlers = implementer.implement(Collections.singletonList(new HelloController()));
for (EzyUserRequestHandler handler : handlers.values()) {
handler.handle(context, event, new GreetRequest("Dzung"));
}
EzyRequestHandlerImplementer.setDebug(false);
implementer = new EzyRequestHandlersImplementer();
implementer.setFeatureCommandManager(featureCommandManager);
implementer.setRequestCommandManager(requestCommandManager);
// when
handlers = implementer.implement(Collections.singletonList(new HelloController()));
// then
Asserts.assertTrue(handlers.containsKey("Big/Hello"));
verify(responseFactory, times(1)).newObjectResponse();
verify(objectResponse, times(1)).command("Big/Hello6");
verify(objectResponse, times(1)).data(new GreetResponse("Hello Dzung!"));
}
use of com.tvd12.ezyfoxserver.support.asm.EzyRequestHandlersImplementer in project ezyfox-server by youngmonkeys.
the class EzyRequestHandlersImplementerTest method testImplementDuplicateCommandButAllowOverride.
@Test
public void testImplementDuplicateCommandButAllowOverride() {
EzyRequestHandlerImplementer.setDebug(true);
EzyRequestHandlersImplementer implementer = new EzyRequestHandlersImplementer();
EzyFeatureCommandManager featureCommandManager = new EzyFeatureCommandManager();
EzyRequestCommandManager requestCommandManager = new EzyRequestCommandManager();
implementer.setFeatureCommandManager(featureCommandManager);
implementer.setRequestCommandManager(requestCommandManager);
implementer.setAllowOverrideCommand(true);
implementer.implement(Arrays.asList(new HelloController(), new HelloController()));
}
use of com.tvd12.ezyfoxserver.support.asm.EzyRequestHandlersImplementer in project ezyfox-server by youngmonkeys.
the class EzyRequestHandlersImplementerTest method testImplementFailedCase3.
@Test(expectedExceptions = EzyDuplicateRequestHandlerException.class)
public void testImplementFailedCase3() {
EzyRequestHandlerImplementer.setDebug(true);
EzyRequestHandlersImplementer implementer = new EzyRequestHandlersImplementer();
EzyFeatureCommandManager featureCommandManager = new EzyFeatureCommandManager();
EzyRequestCommandManager requestCommandManager = new EzyRequestCommandManager();
implementer.setFeatureCommandManager(featureCommandManager);
implementer.setRequestCommandManager(requestCommandManager);
implementer.implement(Arrays.asList(new HelloController(), new HelloController()));
}
Aggregations