Search in sources :

Example 1 with EzyResponse

use of com.tvd12.ezyfoxserver.command.EzyResponse in project ezyfox-server by youngmonkeys.

the class EzySimpleServerContextTest method test.

@Test
public void test() {
    EzySimpleServerContext ctx = context;
    EzySimpleAppContext appContext = new EzySimpleAppContext();
    EzySimpleApplication app = new EzySimpleApplication();
    EzyZoneContext zoneContext = ctx.getZoneContexts().get(0);
    appContext.setParent(zoneContext);
    appContext.setApp(app);
    appContext.init();
    EzySimpleAppSetting appSetting = new EzySimpleAppSetting();
    appSetting.setName("abcxyz");
    ctx.addAppContext(appSetting, appContext);
    assert ctx.getAppContext(appSetting.getId()) != null;
    context.setProperty("test.1", "abc");
    assert context.getProperty("test.1") != null;
    assert appContext.getProperty("test.1") == null;
    appContext.setProperty("test.2", "abc");
    assert context.getProperty("test.2") == null;
    assert appContext.getProperty("test.2") != null;
    EzySimplePluginSetting pluginSetting = new EzySimplePluginSetting();
    pluginSetting.setName("plugin.1");
    EzySimplePluginContext pluginContext = new EzySimplePluginContext();
    EzySimplePlugin plugin = new EzySimplePlugin();
    pluginContext.setParent(zoneContext);
    pluginContext.setPlugin(plugin);
    pluginContext.init();
    ctx.addPluginContext(pluginSetting, pluginContext);
    assert ctx.getPluginContext(pluginSetting.getId()) != null;
    context.setProperty("test.1", "abc");
    assert context.getProperty("test.1") != null;
    assert pluginContext.getProperty("test.1") == null;
    pluginContext.setProperty("test.2", "abc");
    assert context.getProperty("test.2") == null;
    assert pluginContext.getProperty("test.2") != null;
    assert context.get(EzyBroadcastEvent.class) != null;
    context.addCommand(ExCommand.class, ExCommand::new);
    assert context.cmd(ExCommand.class) != null;
    try {
        context.cmd(Void.class);
    } catch (Exception e) {
        assert e instanceof IllegalArgumentException;
    }
    EzyServerReadyEvent serverReadyEvent = new EzySimpleServerReadyEvent();
    context.broadcast(EzyEventType.SERVER_READY, serverReadyEvent, true);
    EzySimpleServer server = (EzySimpleServer) context.getServer();
    server.setResponseApi(mock(EzyResponseApi.class));
    server.setStreamingApi(mock(EzyStreamingApi.class));
    EzyResponse response = mock(EzyResponse.class);
    EzySession recipient = spy(EzyAbstractSession.class);
    context.send(response, recipient, false);
    context.stream(new byte[0], recipient);
    context.stream(new byte[0], Lists.newArrayList(recipient));
    EzySimpleUser user = new EzySimpleUser();
    user.setName("test");
    user.addSession(recipient);
    context.send(response, user, false);
    assert context.getZoneContext(zoneContext.getZone().getSetting().getId()) != null;
    try {
        context.getZoneContext(-1);
    } catch (Exception e) {
        assert e instanceof EzyZoneNotFoundException;
    }
    try {
        context.getZoneContext("not found");
    } catch (Exception e) {
        assert e instanceof EzyZoneNotFoundException;
    }
    context.destroy();
}
Also used : EzySimpleAppSetting(com.tvd12.ezyfoxserver.setting.EzySimpleAppSetting) EzyZoneContext(com.tvd12.ezyfoxserver.context.EzyZoneContext) EzySimpleServer(com.tvd12.ezyfoxserver.EzySimpleServer) EzySimpleServerContext(com.tvd12.ezyfoxserver.context.EzySimpleServerContext) EzySimplePlugin(com.tvd12.ezyfoxserver.EzySimplePlugin) EzyStreamingApi(com.tvd12.ezyfoxserver.api.EzyStreamingApi) EzyResponse(com.tvd12.ezyfoxserver.response.EzyResponse) EzyServerReadyEvent(com.tvd12.ezyfoxserver.event.EzyServerReadyEvent) EzyResponseApi(com.tvd12.ezyfoxserver.api.EzyResponseApi) EzySession(com.tvd12.ezyfoxserver.entity.EzySession) EzyZoneNotFoundException(com.tvd12.ezyfoxserver.exception.EzyZoneNotFoundException) EzyBroadcastEvent(com.tvd12.ezyfoxserver.command.EzyBroadcastEvent) EzySimpleApplication(com.tvd12.ezyfoxserver.EzySimpleApplication) EzySimpleUser(com.tvd12.ezyfoxserver.entity.EzySimpleUser) EzyZoneNotFoundException(com.tvd12.ezyfoxserver.exception.EzyZoneNotFoundException) EzySimplePluginContext(com.tvd12.ezyfoxserver.context.EzySimplePluginContext) EzySimpleServerReadyEvent(com.tvd12.ezyfoxserver.event.EzySimpleServerReadyEvent) EzySimpleAppContext(com.tvd12.ezyfoxserver.context.EzySimpleAppContext) EzySimplePluginSetting(com.tvd12.ezyfoxserver.setting.EzySimplePluginSetting) BaseCoreTest(com.tvd12.ezyfoxserver.testing.BaseCoreTest) Test(org.testng.annotations.Test)

Example 2 with EzyResponse

use of com.tvd12.ezyfoxserver.command.EzyResponse in project ezyfox-server by youngmonkeys.

the class EzySendResponseImplTest method responseOneSuccessButIsPong.

@Test
public void responseOneSuccessButIsPong() throws Exception {
    // given
    EzySimpleSettings settings = new EzySimpleSettings();
    settings.setDebug(true);
    EzyResponseApi responseApi = spy(EzyAbstractResponseApi.class);
    EzySimpleServer server = new EzySimpleServer();
    server.setResponseApi(responseApi);
    server.setSettings(settings);
    EzySendResponseImpl cmd = new EzySendResponseImpl(server);
    EzyResponse response = new EzySimpleResponse(EzyCommand.PONG);
    EzySession recipient = spy(EzyAbstractSession.class);
    // when
    cmd.execute(response, recipient, false, false, EzyTransportType.TCP);
    // then
    verify(responseApi, times(1)).response(any(EzyPackage.class), anyBoolean());
}
Also used : EzySimpleResponse(com.tvd12.ezyfoxserver.response.EzySimpleResponse) EzySimpleServer(com.tvd12.ezyfoxserver.EzySimpleServer) EzyPackage(com.tvd12.ezyfoxserver.response.EzyPackage) EzySimpleSettings(com.tvd12.ezyfoxserver.setting.EzySimpleSettings) EzyResponse(com.tvd12.ezyfoxserver.response.EzyResponse) EzyResponseApi(com.tvd12.ezyfoxserver.api.EzyResponseApi) EzySession(com.tvd12.ezyfoxserver.entity.EzySession) EzySendResponseImpl(com.tvd12.ezyfoxserver.command.impl.EzySendResponseImpl) Test(org.testng.annotations.Test)

Example 3 with EzyResponse

use of com.tvd12.ezyfoxserver.command.EzyResponse in project ezyfox-server by youngmonkeys.

the class EzySendResponseImplTest method responseOneSuccessButNotDebug.

@Test
public void responseOneSuccessButNotDebug() throws Exception {
    // given
    EzySimpleSettings settings = new EzySimpleSettings();
    settings.setDebug(false);
    EzyResponseApi responseApi = spy(EzyAbstractResponseApi.class);
    EzySimpleServer server = new EzySimpleServer();
    server.setResponseApi(responseApi);
    server.setSettings(settings);
    EzySendResponseImpl cmd = new EzySendResponseImpl(server);
    EzyResponse response = new EzySimpleResponse(EzyCommand.APP_REQUEST);
    EzySession recipient = spy(EzyAbstractSession.class);
    // when
    cmd.execute(response, recipient, false, false, EzyTransportType.TCP);
    // then
    verify(responseApi, times(1)).response(any(EzyPackage.class), anyBoolean());
}
Also used : EzySimpleResponse(com.tvd12.ezyfoxserver.response.EzySimpleResponse) EzySimpleServer(com.tvd12.ezyfoxserver.EzySimpleServer) EzyPackage(com.tvd12.ezyfoxserver.response.EzyPackage) EzySimpleSettings(com.tvd12.ezyfoxserver.setting.EzySimpleSettings) EzyResponse(com.tvd12.ezyfoxserver.response.EzyResponse) EzyResponseApi(com.tvd12.ezyfoxserver.api.EzyResponseApi) EzySession(com.tvd12.ezyfoxserver.entity.EzySession) EzySendResponseImpl(com.tvd12.ezyfoxserver.command.impl.EzySendResponseImpl) Test(org.testng.annotations.Test)

Example 4 with EzyResponse

use of com.tvd12.ezyfoxserver.command.EzyResponse in project ezyfox-server by youngmonkeys.

the class EzySendResponseImplTest method responseOneExceptionCase.

@Test
public void responseOneExceptionCase() throws Exception {
    EzySimpleSettings settings = new EzySimpleSettings();
    settings.setDebug(true);
    EzyResponseApi responseApi = mock(EzyResponseApi.class);
    doThrow(new IllegalArgumentException()).when(responseApi).response(any(EzyPackage.class), anyBoolean());
    EzySimpleServer server = new EzySimpleServer();
    server.setResponseApi(responseApi);
    server.setSettings(settings);
    EzySendResponseImpl cmd = new EzySendResponseImpl(server);
    EzyResponse response = new EzySimpleResponse(EzyCommand.APP_REQUEST);
    EzySession recipient = spy(EzyAbstractSession.class);
    cmd.execute(response, recipient, false, false, EzyTransportType.TCP);
}
Also used : EzySimpleResponse(com.tvd12.ezyfoxserver.response.EzySimpleResponse) EzySimpleServer(com.tvd12.ezyfoxserver.EzySimpleServer) EzyPackage(com.tvd12.ezyfoxserver.response.EzyPackage) EzySimpleSettings(com.tvd12.ezyfoxserver.setting.EzySimpleSettings) EzyResponse(com.tvd12.ezyfoxserver.response.EzyResponse) EzyResponseApi(com.tvd12.ezyfoxserver.api.EzyResponseApi) EzySession(com.tvd12.ezyfoxserver.entity.EzySession) EzySendResponseImpl(com.tvd12.ezyfoxserver.command.impl.EzySendResponseImpl) Test(org.testng.annotations.Test)

Example 5 with EzyResponse

use of com.tvd12.ezyfoxserver.command.EzyResponse in project ezyfox-server by youngmonkeys.

the class EzyLoginController method newLoginErrorResponse.

protected EzyResponse newLoginErrorResponse(EzyILoginError error) {
    EzyErrorParams params = new EzyErrorParams();
    params.setError(error);
    return new EzyLoginErrorResponse(params);
}
Also used : EzyErrorParams(com.tvd12.ezyfoxserver.response.EzyErrorParams) EzyLoginErrorResponse(com.tvd12.ezyfoxserver.response.EzyLoginErrorResponse)

Aggregations

EzyResponse (com.tvd12.ezyfoxserver.response.EzyResponse)25 EzySession (com.tvd12.ezyfoxserver.entity.EzySession)17 Test (org.testng.annotations.Test)12 EzyResponseApi (com.tvd12.ezyfoxserver.api.EzyResponseApi)11 EzySimpleServer (com.tvd12.ezyfoxserver.EzySimpleServer)9 EzySendResponseImpl (com.tvd12.ezyfoxserver.command.impl.EzySendResponseImpl)8 EzySimpleResponse (com.tvd12.ezyfoxserver.response.EzySimpleResponse)8 EzySimpleSettings (com.tvd12.ezyfoxserver.setting.EzySimpleSettings)8 EzyPackage (com.tvd12.ezyfoxserver.response.EzyPackage)7 EzyZoneContext (com.tvd12.ezyfoxserver.context.EzyZoneContext)5 EzyUser (com.tvd12.ezyfoxserver.entity.EzyUser)4 EzyArray (com.tvd12.ezyfox.entity.EzyArray)3 EzyErrorParams (com.tvd12.ezyfoxserver.response.EzyErrorParams)3 EzyAppSetting (com.tvd12.ezyfoxserver.setting.EzyAppSetting)3 EzyApplication (com.tvd12.ezyfoxserver.EzyApplication)2 EzyBroadcastEvent (com.tvd12.ezyfoxserver.command.EzyBroadcastEvent)2 EzyAppContext (com.tvd12.ezyfoxserver.context.EzyAppContext)2 EzySimpleServerContext (com.tvd12.ezyfoxserver.context.EzySimpleServerContext)2 EzySimpleUser (com.tvd12.ezyfoxserver.entity.EzySimpleUser)2 EzySimpleServerReadyEvent (com.tvd12.ezyfoxserver.event.EzySimpleServerReadyEvent)2