use of com.tvd12.ezyfoxserver.context.EzySimplePluginContext in project ezyfox-server by youngmonkeys.
the class EzySimplePluginContextTest method sendMultiTest.
@Test
public void sendMultiTest() {
// given
EzyData data = mock(EzyData.class);
EzySession recipient = mock(EzySession.class);
List<EzySession> recipients = Collections.singletonList(recipient);
boolean encrypted = RandomUtil.randomBoolean();
EzyPluginSendResponse sendResponse = mock(EzyPluginSendResponse.class);
doNothing().when(sendResponse).execute(data, recipients, encrypted, EzyTransportType.TCP);
EzySimplePluginContext sut = new EzySimplePluginContext();
FieldUtil.setFieldValue(sut, "sendResponse", sendResponse);
// when
sut.send(data, recipients, encrypted, EzyTransportType.TCP);
// then
verify(sendResponse, times(1)).execute(data, recipients, encrypted, EzyTransportType.TCP);
}
use of com.tvd12.ezyfoxserver.context.EzySimplePluginContext 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();
}
use of com.tvd12.ezyfoxserver.context.EzySimplePluginContext in project ezyfox-server by youngmonkeys.
the class EzySimplePluginEntryTest method test2.
@Test
public void test2() throws Exception {
EzySimpleSettings settings = new EzySimpleSettings();
EzySimpleServer server = new EzySimpleServer();
server.setSettings(settings);
EzySimpleServerContext serverContext = new EzySimpleServerContext();
serverContext.setServer(server);
serverContext.init();
EzySimpleZoneSetting zoneSetting = new EzySimpleZoneSetting();
EzySimpleZone zone = new EzySimpleZone();
zone.setSetting(zoneSetting);
EzySimpleZoneContext zoneContext = new EzySimpleZoneContext();
zoneContext.setZone(zone);
zoneContext.init();
zoneContext.setParent(serverContext);
EzySimplePluginSetting pluginSetting = new EzySimplePluginSetting();
pluginSetting.setName("test");
EzyEventControllersSetting eventControllersSetting = new EzySimpleEventControllersSetting();
EzyEventControllers eventControllers = EzyEventControllersImpl.create(eventControllersSetting);
EzySimplePlugin plugin = new EzySimplePlugin();
plugin.setSetting(pluginSetting);
plugin.setEventControllers(eventControllers);
ScheduledExecutorService pluginScheduledExecutorService = new EzyErrorScheduledExecutorService("not implement");
EzySimplePluginContext pluginContext = new EzySimplePluginContext();
pluginContext.setPlugin(plugin);
pluginContext.setParent(zoneContext);
pluginContext.setExecutorService(pluginScheduledExecutorService);
pluginContext.init();
EzySimplePluginEntry entry = new EzyPluginEntryEx2();
entry.config(pluginContext);
entry.start();
entry.destroy();
}
use of com.tvd12.ezyfoxserver.context.EzySimplePluginContext in project ezyfox-server by youngmonkeys.
the class EzyUserRequestPluginSingletonControllerTest method test.
@Test
public void test() throws Exception {
EzySimpleSettings settings = new EzySimpleSettings();
EzySimpleServer server = new EzySimpleServer();
server.setSettings(settings);
EzySimpleServerContext serverContext = new EzySimpleServerContext();
serverContext.setServer(server);
serverContext.init();
EzySimpleZoneSetting zoneSetting = new EzySimpleZoneSetting();
EzySimpleZone zone = new EzySimpleZone();
zone.setSetting(zoneSetting);
EzyZoneUserManager zoneUserManager = EzyZoneUserManagerImpl.builder().zoneName("test").build();
zone.setUserManager(zoneUserManager);
EzySimpleZoneContext zoneContext = new EzySimpleZoneContext();
zoneContext.setZone(zone);
zoneContext.init();
zoneContext.setParent(serverContext);
EzySimplePluginSetting pluginSetting = new EzySimplePluginSetting();
pluginSetting.setName("test");
EzyEventControllersSetting eventControllersSetting = new EzySimpleEventControllersSetting();
EzyEventControllers eventControllers = EzyEventControllersImpl.create(eventControllersSetting);
EzySimplePlugin plugin = new EzySimplePlugin();
plugin.setSetting(pluginSetting);
plugin.setEventControllers(eventControllers);
ScheduledExecutorService pluginScheduledExecutorService = new EzyErrorScheduledExecutorService("not implement");
EzySimplePluginContext pluginContext = new EzySimplePluginContext();
pluginContext.setPlugin(plugin);
pluginContext.setParent(zoneContext);
pluginContext.setExecutorService(pluginScheduledExecutorService);
pluginContext.init();
EzySimplePluginEntry entry = new EzyPluginEntryEx();
entry.config(pluginContext);
entry.start();
handleClientRequest(pluginContext);
EzyBeanContext beanContext = pluginContext.get(EzyBeanContext.class);
EzyRequestCommandManager requestCommandManager = beanContext.getSingleton(EzyRequestCommandManager.class);
EzyFeatureCommandManager featureCommandManager = beanContext.getSingleton(EzyFeatureCommandManager.class);
Asserts.assertTrue(requestCommandManager.containsCommand("v1.2.2/hello"));
Asserts.assertTrue(requestCommandManager.isManagementCommand("v1.2.2/hello"));
Asserts.assertTrue(requestCommandManager.isPaymentCommand("v1.2.2/hello"));
Asserts.assertEquals(featureCommandManager.getFeatureByCommand("v1.2.2/hello"), "hello.world");
entry.destroy();
}
use of com.tvd12.ezyfoxserver.context.EzySimplePluginContext in project ezyfox-server by youngmonkeys.
the class EzySimplePluginContextTest method test.
@Test
public void test() {
EzyServerContext serverContext = mock(EzyServerContext.class);
EzySimpleZone zone = new EzySimpleZone();
EzyZoneContext zoneContext = mock(EzyZoneContext.class);
when(zoneContext.getZone()).thenReturn(zone);
when(zoneContext.getParent()).thenReturn(serverContext);
EzySimplePlugin plugin = new EzySimplePlugin();
EzySimplePluginSetting setting = new EzySimplePluginSetting();
plugin.setSetting(setting);
EzySimplePluginContext pluginContext = new EzySimplePluginContext();
pluginContext.setParent(zoneContext);
pluginContext.setPlugin(plugin);
pluginContext.init();
// noinspection EqualsWithItself
assert pluginContext.equals(pluginContext);
EzySimplePluginContext pluginContext2 = new EzySimplePluginContext();
assert !pluginContext.equals(pluginContext2);
assert pluginContext.cmd(EzyPluginResponse.class) != null;
EzySimpleUser user = new EzySimpleUser();
user.setName("test");
EzyAbstractSession session = spy(EzyAbstractSession.class);
user.addSession(session);
EzyData data = EzyEntityFactory.newArrayBuilder().build();
pluginContext.send(data, session, false);
}
Aggregations