@Test public void addUserAdminToGroup() { User user = getUser(UserRole.ROLE_ORG_USER, UserRole.ROLE_GROUP_USER); Organization newOrganization = new Organization(); newOrganization.setName("New Organization"); organizationService.add(newOrganization); Group group = new Group(); group.setAccessCode(UUID.randomUUID().toString()); group.setName("New Group"); group.setOrganization(newOrganization); groupService.save(group); groupService.getAll(); GroupUserRequest groupUserRequest = requestService.createGroupUserRequest(user, group.getAccessCode()); requestService.getAll(group.getId()); boolean isAdded = userService.addUserToGroup( groupUserRequest.getUser(), groupUserRequest.getGroup().getId(), UserRole.ROLE_GROUP_ADMIN); assertTrue(isAdded); }
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { User user = userService.getUserFromSecurityContext(); if (user == null || user.isSystemAdmin()) { return true; } String servletPath = request.getServletPath(); Organization organization = user.getActiveOrganization(); if (organization != null && organization.getDomainConfiguration().isDisabledDomain()) { if (!servletPath.startsWith("/manager/organization/accountManagement") && !servletPath.startsWith("/disabled") && !servletPath.startsWith("/activeOrganization") && !servletPath.startsWith("/image") && !servletPath.startsWith("/getSystemNotifications") && !servletPath.startsWith("/contacts") && !servletPath.startsWith("/profile/changePassword") && !servletPath.startsWith("/profile/resetPassword") && !servletPath.startsWith("/legal") && !servletPath.startsWith("/activate") && !servletPath.startsWith("/manager/modifyBandwidthBilling") && !servletPath.startsWith("/error") && !servletPath.startsWith("/403") && !servletPath.startsWith("/404")) { response.sendRedirect(request.getContextPath() + "/disabled"); return false; } } return true; }
@Test public void canUserEditApplicationTest() { // Initial setup User user = getUser(); userService.add(user); Organization organization = createOrganization(); Category category = createCategory(organization); organization.getCategories().add(category); Application application = createApplication(category, "Test Application", AppState.GROUP_PUBLISH); Group group = createGroup(organization); group.getOwnedApplications().add(application); entityManager.flush(); createUserDomain(user, group.getId(), DomainType.GROUP, UserRole.ROLE_GROUP_ADMIN); entityManager.flush(); assertTrue(userService.canUserEditApplication(user.getId(), application.getId())); // Reset userService.delete(user.getId()); ReflectionTestUtils.setField(this, "user", null); entityManager.flush(); // Test if org admin can edit application user = getUser(); userService.add(user); entityManager.flush(); createUserDomain(user, organization.getId(), DomainType.ORGANIZATION, UserRole.ROLE_ORG_ADMIN); entityManager.flush(); assertTrue(userService.canUserEditApplication(user.getId(), application.getId())); // Reset userService.delete(user.getId()); ReflectionTestUtils.setField(this, "user", null); entityManager.flush(); // Test user is org user user = getUser(); userService.add(user); entityManager.flush(); createUserDomain(user, organization.getId(), DomainType.ORGANIZATION, UserRole.ROLE_ORG_USER); entityManager.flush(); assertFalse(userService.canUserEditApplication(user.getId(), application.getId())); // Reset userService.delete(user.getId()); ReflectionTestUtils.setField(this, "user", null); entityManager.flush(); // Test user is not part of organization and not group admin user = getUser(); userService.add(user); entityManager.flush(); assertFalse(userService.canUserEditApplication(user.getId(), application.getId())); }
private Organization createOrganization() { Organization organization = new Organization(); organization.setAccessCode(UUID.randomUUID().toString()); organization.setName("Test Organization 2"); organization.setDomainConfiguration(new DomainConfiguration()); organization.getCategories().add(createCategory(organization)); organizationService.add(organization); return organization; }
@Test public void getApplicationsByUserApplicationTypeCategoryAppStatesTest() { User user = getUser(UserRole.ROLE_ORG_USER, UserRole.ROLE_GROUP_USER); user = userService.getByEmail(user.getEmail()); Organization organization = organizationService.getAll().get(0); Category category = organization.getCategories().get(0); List<Application> applications = userService.getApplicationsForUser( user, ApplicationType.ANDROID, category.getId(), AppState.GROUP_PUBLISH); assertTrue(applications.size() == 1); }
@Test public void addUserToOrganizationTest() { User user = getUser(UserRole.ROLE_ORG_USER, UserRole.ROLE_GROUP_USER); Organization newOrganization = new Organization(); newOrganization.setName("New Organization"); organizationService.add(newOrganization); organizationService.getAll(); userService.addUserToOrganization(user, newOrganization.getId(), UserRole.ROLE_ORG_USER); List<Organization> organizations = userService.getOrganizations(user); assertTrue(organizations.size() == 2); assertTrue(userService.isUserInOrganization(user, newOrganization, UserRole.ROLE_ORG_USER)); }
@Test public void isUserInDomainTest() { User user = getUser(UserRole.ROLE_ORG_USER, UserRole.ROLE_GROUP_USER); List<Group> groups = userService.getGroups(user); for (Group group : groups) { boolean isInDomain = userService.isUserInDomain( user, group.getId(), DomainType.GROUP, UserRole.ROLE_GROUP_USER); assertTrue(isInDomain); } List<Organization> organizations = userService.getOrganizations(user); for (Organization organization : organizations) { boolean isInDomain = userService.isUserInDomain( user, organization.getId(), DomainType.ORGANIZATION, UserRole.ROLE_ORG_USER); assertTrue(isInDomain); } }
private User getUser(UserRole organizationUserRole, UserRole groupUserRole) { User user = getUser(); Role orgRole = null; if (organizationUserRole != null) { orgRole = roleService.getRoleByAuthority(organizationUserRole.name()); user.getRoles().add(orgRole); } Role groupRole = null; if (groupUserRole != null) { groupRole = roleService.getRoleByAuthority(groupUserRole.name()); user.getRoles().add(groupRole); } Organization organization = createOrganization(); Application application = createApplication( organization.getCategories().get(0), "Test Application", AppState.GROUP_PUBLISH); Application application2 = createApplication( organization.getCategories().get(0), "Test Application 2", AppState.ORGANIZATION_PUBLISH); Group group = createGroup(organization); group.getOwnedApplications().add(application); group.getOwnedApplications().add(application2); organization.getGroups().add(group); userService.save(user); organizationService.getAll(); if (groupRole != null) { UserDomain userDomainGroup = new UserDomain(); userDomainGroup.setUser(user); userDomainGroup.setDomainId(group.getId()); userDomainGroup.setDomainType(DomainType.GROUP); userDomainGroup.setRole(groupRole); userDomainGroup.setDomainId(group.getId()); user.getUserDomains().add(userDomainGroup); } if (orgRole != null) { UserDomain userDomainOrg = new UserDomain(); userDomainOrg.setUser(user); userDomainOrg.setDomainId(group.getId()); userDomainOrg.setDomainType(DomainType.ORGANIZATION); userDomainOrg.setRole(orgRole); userDomainOrg.setDomainId(organization.getId()); user.getUserDomains().add(userDomainOrg); } userService.save(user); entityManager.flush(); return user; }