Search in sources :

Example 6 with EzyZoneSetting

use of com.tvd12.ezyfoxserver.setting.EzyZoneSetting in project ezyfox-server by youngmonkeys.

the class EzyLoginControllerTest method processChangeSessionTest.

@Test
public void processChangeSessionTest() {
    EzySimpleServerContext ctx = (EzySimpleServerContext) newServerContext();
    EzySimpleServer server = (EzySimpleServer) ctx.getServer();
    EzyZoneContext zoneContext = ctx.getZoneContext("example");
    EzyZoneSetting zoneSetting = zoneContext.getZone().getSetting();
    EzySimpleUserManagementSetting userManagementSetting = (EzySimpleUserManagementSetting) zoneSetting.getUserManagement();
    userManagementSetting.setMaxSessionPerUser(1);
    userManagementSetting.setAllowChangeSession(true);
    server.setResponseApi(mock(EzyResponseApi.class));
    EzySession session = newSession();
    session.setToken("abcdef");
    EzyArray data = newLoginData();
    data.set(1, "helloworld");
    EzyLoginController controller = new EzyLoginController();
    EzySimpleLoginRequest request = new EzySimpleLoginRequest();
    request.deserializeParams(data);
    request.setSession(session);
    controller.handle(ctx, request);
    controller.handle(ctx, request);
}
Also used : EzySimpleUserManagementSetting(com.tvd12.ezyfoxserver.setting.EzySimpleUserManagementSetting) EzySimpleServer(com.tvd12.ezyfoxserver.EzySimpleServer) EzyZoneContext(com.tvd12.ezyfoxserver.context.EzyZoneContext) EzyZoneSetting(com.tvd12.ezyfoxserver.setting.EzyZoneSetting) EzySimpleServerContext(com.tvd12.ezyfoxserver.context.EzySimpleServerContext) EzyArray(com.tvd12.ezyfox.entity.EzyArray) EzySimpleLoginRequest(com.tvd12.ezyfoxserver.request.EzySimpleLoginRequest) EzyResponseApi(com.tvd12.ezyfoxserver.api.EzyResponseApi) EzySession(com.tvd12.ezyfoxserver.entity.EzySession) EzyLoginController(com.tvd12.ezyfoxserver.controller.EzyLoginController) Test(org.testng.annotations.Test)

Example 7 with EzyZoneSetting

use of com.tvd12.ezyfoxserver.setting.EzyZoneSetting in project ezyfox-server by youngmonkeys.

the class EzyLoginControllerTest method invalidUsernameTest.

@Test(expectedExceptions = EzyLoginErrorException.class)
public void invalidUsernameTest() {
    EzySimpleServerContext ctx = (EzySimpleServerContext) newServerContext();
    EzySimpleServer server = (EzySimpleServer) ctx.getServer();
    EzyZoneContext zoneContext = ctx.getZoneContext("example");
    EzyZoneSetting zoneSetting = zoneContext.getZone().getSetting();
    EzySimpleUserManagementSetting userManagementSetting = (EzySimpleUserManagementSetting) zoneSetting.getUserManagement();
    userManagementSetting.setAllowGuestLogin(false);
    server.setResponseApi(mock(EzyResponseApi.class));
    EzySession session = newSession();
    session.setToken("abcdef");
    EzyArray data = newLoginData();
    data.set(1, "");
    EzyLoginController controller = new EzyLoginController();
    EzySimpleLoginRequest request = new EzySimpleLoginRequest();
    request.deserializeParams(data);
    request.setSession(session);
    controller.handle(ctx, request);
}
Also used : EzySimpleUserManagementSetting(com.tvd12.ezyfoxserver.setting.EzySimpleUserManagementSetting) EzySimpleServer(com.tvd12.ezyfoxserver.EzySimpleServer) EzyZoneContext(com.tvd12.ezyfoxserver.context.EzyZoneContext) EzyZoneSetting(com.tvd12.ezyfoxserver.setting.EzyZoneSetting) EzySimpleServerContext(com.tvd12.ezyfoxserver.context.EzySimpleServerContext) EzyArray(com.tvd12.ezyfox.entity.EzyArray) EzySimpleLoginRequest(com.tvd12.ezyfoxserver.request.EzySimpleLoginRequest) EzyResponseApi(com.tvd12.ezyfoxserver.api.EzyResponseApi) EzySession(com.tvd12.ezyfoxserver.entity.EzySession) EzyLoginController(com.tvd12.ezyfoxserver.controller.EzyLoginController) Test(org.testng.annotations.Test)

Example 8 with EzyZoneSetting

use of com.tvd12.ezyfoxserver.setting.EzyZoneSetting in project ezyfox-server by youngmonkeys.

the class EzySimpleServerContextBuilder method newZoneContexts.

protected Collection<EzyZoneContext> newZoneContexts(EzyServerContext parent) {
    Collection<EzyZoneContext> contexts = new ArrayList<>();
    EzySettings settings = EzyServerContexts.getSettings(parent);
    for (Integer zoneId : settings.getZoneIds()) {
        EzyZoneSetting zoneSetting = settings.getZoneById(zoneId);
        EzySimpleZone zone = new EzySimpleZone();
        zone.setSetting(zoneSetting);
        EzyUserDelegate userDelegate = newUserDelegate(parent);
        EzyZoneUserManager userManager = newZoneUserManager(zoneSetting, userDelegate);
        EzyEventControllers eventControllers = newEventControllers(zoneSetting.getEventControllers());
        zone.setUserManager(userManager);
        zone.setEventControllers(eventControllers);
        EzySimpleZoneContext zoneContext = new EzySimpleZoneContext();
        zoneContext.setParent(parent);
        zoneContext.setZone(zone);
        zoneContext.addAppContexts(newAppContexts(zoneContext));
        zoneContext.addPluginContexts(newPluginContexts(zoneContext));
        zoneContext.init();
        contexts.add(zoneContext);
        processWithException(((EzyStartable) userManager)::start);
    }
    return contexts;
}
Also used : EzyEventControllers(com.tvd12.ezyfoxserver.wrapper.EzyEventControllers) ArrayList(java.util.ArrayList) EzyUserDelegate(com.tvd12.ezyfoxserver.delegate.EzyUserDelegate) EzyZoneUserManager(com.tvd12.ezyfoxserver.wrapper.EzyZoneUserManager)

Example 9 with EzyZoneSetting

use of com.tvd12.ezyfoxserver.setting.EzyZoneSetting in project ezyfox-server by youngmonkeys.

the class EzyLoginProcessor method newLoginResponse.

protected EzyResponse newLoginResponse(EzyZoneContext zoneContext, EzyUser user, EzyData loginOutputData) {
    EzyZoneSetting zoneSetting = getZoneSetting(zoneContext);
    EzyLoginParams params = new EzyLoginParams();
    params.setData(loginOutputData);
    params.setUserId(user.getId());
    params.setUsername(user.getName());
    params.setZoneId(zoneSetting.getId());
    params.setZoneName(zoneSetting.getName());
    return new EzyLoginResponse(params);
}
Also used : EzyZoneSetting(com.tvd12.ezyfoxserver.setting.EzyZoneSetting) EzyLoginParams(com.tvd12.ezyfoxserver.response.EzyLoginParams) EzyLoginResponse(com.tvd12.ezyfoxserver.response.EzyLoginResponse)

Example 10 with EzyZoneSetting

use of com.tvd12.ezyfoxserver.setting.EzyZoneSetting in project ezyfox-server by youngmonkeys.

the class EzySocketUserRemovalHandlerTest method notifyUserRemovedToPluginsExceptionCaseTest.

@Test
public void notifyUserRemovedToPluginsExceptionCaseTest() {
    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 RuntimeException()).when(appContext1).handleEvent(any(EzyConstant.class), any(EzyUserEvent.class));
    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));
    EzyZone zone = mock(EzyZone.class);
    when(zoneContext.getZone()).thenReturn(zone);
    EzyZoneSetting zoneSetting = mock(EzyZoneSetting.class);
    when(zoneSetting.getName()).thenReturn("test");
    when(zone.getSetting()).thenReturn(zoneSetting);
    doThrow(new RuntimeException()).when(zoneContext).broadcastPlugins(any(EzyConstant.class), any(EzyUserEvent.class), anyBoolean());
    EzySimpleUser user = new EzySimpleUser();
    user.setName("test");
    EzySocketUserRemoval item = new EzySimpleSocketUserRemoval(zoneContext, user, EzyUserRemoveReason.EXIT_APP);
    queue.add(item);
    EzySocketUserRemovalHandler handler = new EzySocketUserRemovalHandler(queue);
    handler.handleEvent();
    handler.destroy();
}
Also used : EzyZone(com.tvd12.ezyfoxserver.EzyZone) EzyUser(com.tvd12.ezyfoxserver.entity.EzyUser) EzyZoneContext(com.tvd12.ezyfoxserver.context.EzyZoneContext) EzyZoneSetting(com.tvd12.ezyfoxserver.setting.EzyZoneSetting) EzyAppContext(com.tvd12.ezyfoxserver.context.EzyAppContext) EzyApplication(com.tvd12.ezyfoxserver.EzyApplication) EzySimpleUser(com.tvd12.ezyfoxserver.entity.EzySimpleUser) EzyAppUserManager(com.tvd12.ezyfoxserver.wrapper.EzyAppUserManager) EzyConstant(com.tvd12.ezyfox.constant.EzyConstant) EzyUserEvent(com.tvd12.ezyfoxserver.event.EzyUserEvent) Test(org.testng.annotations.Test)

Aggregations

EzyZoneSetting (com.tvd12.ezyfoxserver.setting.EzyZoneSetting)8 EzyZoneContext (com.tvd12.ezyfoxserver.context.EzyZoneContext)6 EzySession (com.tvd12.ezyfoxserver.entity.EzySession)6 Test (org.testng.annotations.Test)6 EzyArray (com.tvd12.ezyfox.entity.EzyArray)5 EzySimpleServer (com.tvd12.ezyfoxserver.EzySimpleServer)5 EzyResponseApi (com.tvd12.ezyfoxserver.api.EzyResponseApi)5 EzySimpleServerContext (com.tvd12.ezyfoxserver.context.EzySimpleServerContext)5 EzyLoginController (com.tvd12.ezyfoxserver.controller.EzyLoginController)5 EzySimpleLoginRequest (com.tvd12.ezyfoxserver.request.EzySimpleLoginRequest)5 EzySimpleUserManagementSetting (com.tvd12.ezyfoxserver.setting.EzySimpleUserManagementSetting)5 EzyZone (com.tvd12.ezyfoxserver.EzyZone)2 EzySimpleUser (com.tvd12.ezyfoxserver.entity.EzySimpleUser)2 EzyUser (com.tvd12.ezyfoxserver.entity.EzyUser)2 EzyZoneUserManager (com.tvd12.ezyfoxserver.wrapper.EzyZoneUserManager)2 EzyConstant (com.tvd12.ezyfox.constant.EzyConstant)1 EzyApplication (com.tvd12.ezyfoxserver.EzyApplication)1 EzyAppContext (com.tvd12.ezyfoxserver.context.EzyAppContext)1 EzyUserDelegate (com.tvd12.ezyfoxserver.delegate.EzyUserDelegate)1 EzyUserEvent (com.tvd12.ezyfoxserver.event.EzyUserEvent)1