protected CountResultDto getAuthorizationCount(AuthorizationQueryDto queryDto) { AuthorizationQuery query = queryDto.toQuery(getProcessEngine()); long count = query.count(); return new CountResultDto(count); }
protected CountResultDto getAuthorizationCount(AuthorizationQueryDto queryDto) { AuthorizationQuery query = queryDto.toQuery(getProcessEngine()); long count = query.count(); return new CountResultDto(count); }
private AuthorizationQuery setUpMockQuery(List<Authorization> list) { AuthorizationQuery query = mock(AuthorizationQuery.class); when(query.list()).thenReturn(list); when(query.count()).thenReturn((long) list.size()); when(processEngine.getAuthorizationService().createAuthorizationQuery()).thenReturn(query); return query; }
@Test public void testQueryCount() { AuthorizationQuery mockQuery = setUpMockQuery(MockProvider.createMockAuthorizations()); expect().statusCode(Status.OK.getStatusCode()) .body("count", equalTo(3)) .when().get(SERVICE_COUNT_PATH); verify(mockQuery).count(); }
public void testCreateAuthorizationWithGroupId() { Resource resource1 = TestResource.RESOURCE1; // initially, no authorization exists: assertEquals(0, authorizationService.createAuthorizationQuery().count()); // simple create / delete with userId Authorization authorization = authorizationService.createNewAuthorization(AUTH_TYPE_GRANT); authorization.setGroupId("aGroupId"); authorization.setResource(resource1); // save the authorization authorizationService.saveAuthorization(authorization); // authorization exists assertEquals(1, authorizationService.createAuthorizationQuery().count()); // delete the authorization authorizationService.deleteAuthorization(authorization.getId()); // it's gone assertEquals(0, authorizationService.createAuthorizationQuery().count()); }
public void testCreateAuthorizationWithUserId() { Resource resource1 = TestResource.RESOURCE1; // initially, no authorization exists: assertEquals(0, authorizationService.createAuthorizationQuery().count()); // simple create / delete with userId Authorization authorization = authorizationService.createNewAuthorization(AUTH_TYPE_GRANT); authorization.setUserId("aUserId"); authorization.setResource(resource1); // save the authorization authorizationService.saveAuthorization(authorization); // authorization exists assertEquals(1, authorizationService.createAuthorizationQuery().count()); // delete the authorization authorizationService.deleteAuthorization(authorization.getId()); // it's gone assertEquals(0, authorizationService.createAuthorizationQuery().count()); }
public void testInvalidQueries() { // cannot query for user id and group id at the same time try { authorizationService.createAuthorizationQuery().groupIdIn("a").userIdIn("b").count(); } catch(ProcessEngineException e) { assertTextPresent("Cannot query for user and group authorizations at the same time.", e.getMessage()); } try { authorizationService.createAuthorizationQuery().userIdIn("b").groupIdIn("a").count(); } catch(ProcessEngineException e) { assertTextPresent("Cannot query for user and group authorizations at the same time.", e.getMessage()); } }
public void testAuthorizationQueryAuthorizations() { // we are jonny2 String authUserId = "jonny2"; identityService.setAuthenticatedUserId(authUserId); // create new auth wich revokes read access on auth Authorization basePerms = authorizationService.createNewAuthorization(AUTH_TYPE_GLOBAL); basePerms.setResource(AUTHORIZATION); basePerms.setResourceId(ANY); authorizationService.saveAuthorization(basePerms); // I can see it assertEquals(1, authorizationService.createAuthorizationQuery().count()); // now enable checks processEngineConfiguration.setAuthorizationEnabled(true); // I can't see it assertEquals(0, authorizationService.createAuthorizationQuery().count()); }
@Test public void testCreateAndDeleteTenantGroupMembership() { identityService.createTenantGroupMembership(TENANT_ONE, GROUP_ID); identityService.deleteTenantGroupMembership(TENANT_ONE, GROUP_ID); assertEquals(0, authorizationService.createAuthorizationQuery() .groupIdIn(GROUP_ID) .resourceType(Resources.TENANT) .hasPermission(Permissions.READ).count()); identityService.setAuthentication(USER_ID, Collections.singletonList(GROUP_ID)); assertEquals(0,identityService.createTenantQuery() .count()); }
@Test public void testCreateAndDeleteTenantUserMembershipForMultipleTenants() { createTenant(TENANT_TWO); identityService.createTenantUserMembership(TENANT_ONE, USER_ID); identityService.createTenantUserMembership(TENANT_TWO, USER_ID); assertEquals(2, authorizationService.createAuthorizationQuery() .userIdIn(USER_ID) .resourceType(Resources.TENANT) .hasPermission(Permissions.READ).count()); identityService.deleteTenantUserMembership(TENANT_ONE, USER_ID); assertEquals(1, authorizationService.createAuthorizationQuery() .userIdIn(USER_ID) .resourceType(Resources.TENANT) .hasPermission(Permissions.READ).count()); }
@Test public void testCreateAndDeleteTenantGroupMembershipForMultipleTenants() { createTenant(TENANT_TWO); identityService.createTenantGroupMembership(TENANT_ONE, GROUP_ID); identityService.createTenantGroupMembership(TENANT_TWO, GROUP_ID); assertEquals(2, authorizationService.createAuthorizationQuery() .groupIdIn(GROUP_ID) .resourceType(Resources.TENANT) .hasPermission(Permissions.READ).count()); identityService.deleteTenantGroupMembership(TENANT_ONE, GROUP_ID); assertEquals(1, authorizationService.createAuthorizationQuery() .groupIdIn(GROUP_ID) .resourceType(Resources.TENANT) .hasPermission(Permissions.READ).count()); }
@Test public void testCreateTenantGroupMembership() { identityService.createTenantGroupMembership(TENANT_ONE, GROUP_ID); assertEquals(1, authorizationService.createAuthorizationQuery() .groupIdIn(GROUP_ID) .resourceType(Resources.TENANT) .resourceId(TENANT_ONE) .hasPermission(Permissions.READ).count()); identityService.setAuthentication(USER_ID, Collections.singletonList(GROUP_ID)); assertEquals(TENANT_ONE,identityService.createTenantQuery() .singleResult() .getId()); }
@Test public void testCreateAndDeleteTenantUserMembership() { identityService.createTenantUserMembership(TENANT_ONE, USER_ID); identityService.deleteTenantUserMembership(TENANT_ONE, USER_ID); assertEquals(0, authorizationService.createAuthorizationQuery() .userIdIn(USER_ID) .resourceType(Resources.TENANT) .hasPermission(Permissions.READ).count()); identityService.setAuthenticatedUserId(USER_ID); assertEquals(0,identityService.createTenantQuery() .count()); }
public void testCreateUser() { // initially there are no authorizations for jonny2: assertEquals(0, authorizationService.createAuthorizationQuery().userIdIn("jonny2").count()); // create new user identityService.saveUser(identityService.newUser("jonny2")); // now there is an authorization for jonny2 which grants him ALL permissions on himself Authorization authorization = authorizationService.createAuthorizationQuery().userIdIn("jonny2").singleResult(); assertNotNull(authorization); assertEquals(AUTH_TYPE_GRANT, authorization.getAuthorizationType()); assertEquals(USER.resourceType(), authorization.getResourceType()); assertEquals("jonny2", authorization.getResourceId()); assertTrue(authorization.isPermissionGranted(ALL)); // delete the user identityService.deleteUser("jonny2"); // the authorization is deleted as well: assertEquals(0, authorizationService.createAuthorizationQuery().userIdIn("jonny2").count()); }
@Test public void testCreateTenantUserMembership() { identityService.createTenantUserMembership(TENANT_ONE, USER_ID); assertEquals(1, authorizationService.createAuthorizationQuery() .userIdIn(USER_ID) .resourceType(Resources.TENANT) .resourceId(TENANT_ONE) .hasPermission(Permissions.READ).count()); identityService.setAuthenticatedUserId(USER_ID); assertEquals(TENANT_ONE,identityService.createTenantQuery() .singleResult() .getId()); }
public void testCreateGroup() { // initially there are no authorizations for group "sales": assertEquals(0, authorizationService.createAuthorizationQuery().groupIdIn("sales").count()); // create new group identityService.saveGroup(identityService.newGroup("sales")); // now there is an authorization for sales which grants all members READ permissions Authorization authorization = authorizationService.createAuthorizationQuery().groupIdIn("sales").singleResult(); assertNotNull(authorization); assertEquals(AUTH_TYPE_GRANT, authorization.getAuthorizationType()); assertEquals(GROUP.resourceType(), authorization.getResourceType()); assertEquals("sales", authorization.getResourceId()); assertTrue(authorization.isPermissionGranted(READ)); // delete the group identityService.deleteGroup("sales"); // the authorization is deleted as well: assertEquals(0, authorizationService.createAuthorizationQuery().groupIdIn("sales").count()); }
@Test public void testQuerySingleCorrectPermission() throws Exception { // given Authorization authorization = authorizationService.createNewAuthorization(AUTH_TYPE_GRANT); authorization.setUserId("userId"); authorization.setResource(Resources.PROCESS_DEFINITION); authorization.addPermission(Permissions.READ); authorization.setResourceId(ANY); authorizationService.saveAuthorization(authorization); processEngineConfiguration.setAuthorizationEnabled(true); // assume Authorization authResult = authorizationService.createAuthorizationQuery().userIdIn("userId").resourceType(Resources.PROCESS_DEFINITION).singleResult(); assertNotNull(authResult); // then assertEquals(1, authorizationService.createAuthorizationQuery().hasPermission(Permissions.READ).count()); }
@Test public void testQuerySingleIncorrectPermission() throws Exception { // given Authorization authorization = authorizationService.createNewAuthorization(AUTH_TYPE_GRANT); authorization.setUserId("userId"); authorization.setResource(Resources.BATCH); authorization.addPermission(BatchPermissions.CREATE_BATCH_DELETE_RUNNING_PROCESS_INSTANCES); authorization.setResourceId(ANY); authorizationService.saveAuthorization(authorization); processEngineConfiguration.setAuthorizationEnabled(true); // assume Authorization authResult = authorizationService.createAuthorizationQuery().userIdIn("userId").resourceType(Resources.BATCH).singleResult(); assertNotNull(authResult); // then assertEquals(0, authorizationService.createAuthorizationQuery().hasPermission(Permissions.CREATE_INSTANCE).count()); }
@Test public void testQueryPermissionWithMixedResource() throws Exception { // given Authorization authorization = authorizationService.createNewAuthorization(AUTH_TYPE_GRANT); authorization.setUserId("userId"); authorization.setResource(Resources.APPLICATION); authorization.addPermission(Permissions.ACCESS); authorization.setResourceId(ANY); authorizationService.saveAuthorization(authorization); processEngineConfiguration.setAuthorizationEnabled(true); // assume Authorization authResult = authorizationService.createAuthorizationQuery().userIdIn("userId").resourceType(Resources.APPLICATION).singleResult(); assertNotNull(authResult); // then assertEquals(0, authorizationService.createAuthorizationQuery() .resourceType(Resources.BATCH) .hasPermission(Permissions.ACCESS) .count()); }
@Test public void testQueryCorrectAndIncorrectPersmission() throws Exception { // given Authorization authorization = authorizationService.createNewAuthorization(AUTH_TYPE_GRANT); authorization.setUserId("userId"); authorization.setResource(Resources.PROCESS_DEFINITION); authorization.addPermission(Permissions.READ); authorization.addPermission(ProcessDefinitionPermissions.RETRY_JOB); authorization.setResourceId(ANY); authorizationService.saveAuthorization(authorization); processEngineConfiguration.setAuthorizationEnabled(true); // assume Authorization authResult = authorizationService.createAuthorizationQuery().userIdIn("userId").resourceType(Resources.PROCESS_DEFINITION).singleResult(); assertNotNull(authResult); // then assertEquals(0, authorizationService.createAuthorizationQuery() .hasPermission(Permissions.READ) .hasPermission(Permissions.ACCESS) .count()); }