Search in sources :

Example 16 with EzyAppContext

use of com.tvd12.ezyfoxserver.context.EzyAppContext in project ezyfox-server by youngmonkeys.

the class EzySocketUserRemovalHandlerTest method removeUserFromAppExceptionCaseTest.

@Test
public void removeUserFromAppExceptionCaseTest() {
    TestBlockingSocketUserRemovalQueue queue = new TestBlockingSocketUserRemovalQueue();
    EzyAppContext appContext1 = mock(EzyAppContext.class);
    EzyAppUserManager userManager1 = mock(EzyAppUserManager.class);
    when(userManager1.containsUser(any(EzyUser.class))).thenReturn(true);
    EzyApplication app1 = mock(EzyApplication.class);
    when(app1.getUserManager()).thenReturn(userManager1);
    when(appContext1.getApp()).thenReturn(app1);
    doThrow(new IllegalArgumentException()).when(userManager1).removeUser(any(), any());
    EzySimpleAppSetting appSetting1 = new EzySimpleAppSetting();
    appSetting1.setName("app1");
    when(app1.getSetting()).thenReturn(appSetting1);
    EzyAppContext appContext2 = mock(EzyAppContext.class);
    EzyAppUserManager userManager2 = mock(EzyAppUserManager.class);
    when(userManager2.containsUser(any(EzyUser.class))).thenReturn(false);
    EzyApplication app2 = mock(EzyApplication.class);
    when(app2.getUserManager()).thenReturn(userManager2);
    when(appContext2.getApp()).thenReturn(app2);
    EzyZoneContext zoneContext = mock(EzyZoneContext.class);
    when(zoneContext.getAppContexts()).thenReturn(Lists.newArrayList(appContext1, appContext2));
    EzySimpleUser user = new EzySimpleUser();
    user.setName("test");
    EzySocketUserRemoval item = new EzySimpleSocketUserRemoval(zoneContext, user, EzyUserRemoveReason.EXIT_APP);
    queue.add(item);
    EzySocketUserRemovalQueue userRemovalQueue = new EzyBlockingSocketUserRemovalQueue();
    new EzySocketUserRemovalHandler(userRemovalQueue);
    EzySocketUserRemovalHandler handler = new EzySocketUserRemovalHandler(queue);
    handler.handleEvent();
    handler.destroy();
}
Also used : EzySimpleAppSetting(com.tvd12.ezyfoxserver.setting.EzySimpleAppSetting) EzyUser(com.tvd12.ezyfoxserver.entity.EzyUser) EzyZoneContext(com.tvd12.ezyfoxserver.context.EzyZoneContext) EzyAppContext(com.tvd12.ezyfoxserver.context.EzyAppContext) EzyApplication(com.tvd12.ezyfoxserver.EzyApplication) EzySimpleUser(com.tvd12.ezyfoxserver.entity.EzySimpleUser) EzyAppUserManager(com.tvd12.ezyfoxserver.wrapper.EzyAppUserManager) Test(org.testng.annotations.Test)

Example 17 with EzyAppContext

use of com.tvd12.ezyfoxserver.context.EzyAppContext in project ezyfox-server-example by tvd12.

the class AppEntry method setupBeanContext.

@Override
protected void setupBeanContext(EzyAppContext context, EzyBeanContextBuilder builder) {
    EzyAppSetting setting = context.getApp().getSetting();
    String appConfigFile = getConfigFile(setting);
    builder.addProperties(appConfigFile);
    logger.info("hello-word app config file: {}", appConfigFile);
}
Also used : EzyAppSetting(com.tvd12.ezyfoxserver.setting.EzyAppSetting)

Example 18 with EzyAppContext

use of com.tvd12.ezyfoxserver.context.EzyAppContext in project ezyfox-server-example by tvd12.

the class AppEntry method setupBeanContext.

@Override
protected void setupBeanContext(EzyAppContext context, EzyBeanContextBuilder builder) {
    EzyAppSetting setting = context.getApp().getSetting();
    String appConfigFile = getConfigFile(setting);
    AppConfig appConfig = readAppConfig(appConfigFile);
    logger.info("hello-word app config: {}", appConfig);
}
Also used : EzyAppSetting(com.tvd12.ezyfoxserver.setting.EzyAppSetting) AppConfig(com.example.simple_chat.config.AppConfig)

Example 19 with EzyAppContext

use of com.tvd12.ezyfoxserver.context.EzyAppContext in project ezyfox-server by youngmonkeys.

the class EzyAppsStarter method startApp.

protected void startApp(String appName) {
    try {
        logger.debug("app: {} loading...", appName);
        EzyAppContext context = zoneContext.getAppContext(appName);
        EzyApplication application = context.getApp();
        EzyAppEntry entry = startApp(appName, newAppEntryLoader(appName));
        ((EzyEntryAware) application).setEntry(entry);
        logger.debug("app: {} loaded", appName);
    } catch (Exception e) {
        logger.error("can not start app: {}", appName, e);
    }
}
Also used : EzyAppEntry(com.tvd12.ezyfoxserver.ext.EzyAppEntry) EzyAppContext(com.tvd12.ezyfoxserver.context.EzyAppContext) EzyEntryAware(com.tvd12.ezyfoxserver.ext.EzyEntryAware)

Example 20 with EzyAppContext

use of com.tvd12.ezyfoxserver.context.EzyAppContext in project ezyfox-server by youngmonkeys.

the class EzySimpleAppUserDelegateTest method testExceptionCase.

@Test
public void testExceptionCase() {
    EzyZoneContext zoneContext = mock(EzyZoneContext.class);
    EzyAppContext appContext = mock(EzyAppContext.class);
    EzyApplication app = mock(EzyApplication.class);
    when(appContext.getApp()).thenReturn(app);
    EzySimpleAppSetting appSetting = new EzySimpleAppSetting();
    when(app.getSetting()).thenReturn(appSetting);
    when(appContext.getParent()).thenReturn(zoneContext);
    doThrow(new IllegalStateException()).when(appContext).handleEvent(any(), any());
    EzySimpleAppUserDelegate delegate = new EzySimpleAppUserDelegate();
    delegate.setAppContext(appContext);
    EzySimpleUser user = new EzySimpleUser();
    user.setName("test");
    delegate.onUserRemoved(user, EzyUserRemoveReason.EXIT_APP);
}
Also used : EzySimpleAppSetting(com.tvd12.ezyfoxserver.setting.EzySimpleAppSetting) EzyApplication(com.tvd12.ezyfoxserver.EzyApplication) EzySimpleUser(com.tvd12.ezyfoxserver.entity.EzySimpleUser) EzyZoneContext(com.tvd12.ezyfoxserver.context.EzyZoneContext) EzySimpleAppUserDelegate(com.tvd12.ezyfoxserver.delegate.EzySimpleAppUserDelegate) EzyAppContext(com.tvd12.ezyfoxserver.context.EzyAppContext) BaseTest(com.tvd12.test.base.BaseTest) Test(org.testng.annotations.Test)

Aggregations

EzyAppContext (com.tvd12.ezyfoxserver.context.EzyAppContext)32 Test (org.testng.annotations.Test)24 EzyApplication (com.tvd12.ezyfoxserver.EzyApplication)21 EzyZoneContext (com.tvd12.ezyfoxserver.context.EzyZoneContext)18 EzyAppUserManager (com.tvd12.ezyfoxserver.wrapper.EzyAppUserManager)18 BaseTest (com.tvd12.test.base.BaseTest)15 EzySimpleUser (com.tvd12.ezyfoxserver.entity.EzySimpleUser)12 EzyServerContext (com.tvd12.ezyfoxserver.context.EzyServerContext)11 EzySimpleAppSetting (com.tvd12.ezyfoxserver.setting.EzySimpleAppSetting)11 EzyUser (com.tvd12.ezyfoxserver.entity.EzyUser)10 EzySession (com.tvd12.ezyfoxserver.entity.EzySession)9 EzySimpleAppUserDelegate (com.tvd12.ezyfoxserver.delegate.EzySimpleAppUserDelegate)7 EzySimpleApplication (com.tvd12.ezyfoxserver.EzySimpleApplication)6 EzyAppRequestController (com.tvd12.ezyfoxserver.app.EzyAppRequestController)5 EzySimpleUserAccessAppEvent (com.tvd12.ezyfoxserver.event.EzySimpleUserAccessAppEvent)5 EzyResponse (com.tvd12.ezyfoxserver.response.EzyResponse)5 EzyAppSetting (com.tvd12.ezyfoxserver.setting.EzyAppSetting)5 EzyArray (com.tvd12.ezyfox.entity.EzyArray)4 EzyZone (com.tvd12.ezyfoxserver.EzyZone)4 EzyAccessAppController (com.tvd12.ezyfoxserver.controller.EzyAccessAppController)4