@Test public void hasPermissionToAddResourceTypeTemplateWhenUserIsShakedownAdminAndIsTestingMode() { // given ResourceTypeEntity as = ResourceTypeEntityBuilder.APPLICATION_SERVER_TYPE; when(sessionContext.isCallerInRole(SHAKEDOWN_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(SHAKEDOWN_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.SHAKEDOWN_TEST_MODE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToAddResourceTypeTemplate(as, true); // then Assert.assertTrue(result); }
@Test public void hasPermissionToAddResourceTypeTemplateWhenUserIsNotShakedownAdminAndIsTestingMode() { // given ResourceTypeEntity as = ResourceTypeEntityBuilder.APPLICATION_SERVER_TYPE; when(sessionContext.isCallerInRole(VIEWER)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(VIEWER, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.DEFAULT, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToAddResourceTypeTemplate(as, true); // then Assert.assertFalse(result); }
@Test public void permissionInTwoRoles(){ // given when(sessionContext.isCallerInRole(CONFIG_ADMIN)).thenReturn(false); when(sessionContext.isCallerInRole(SERVER_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(CONFIG_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RELEASE, res))); myRoles.put(SERVER_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RELEASE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermission(Permission.RELEASE); // then Assert.assertTrue(result); }
@Test public void hasNoPermissionToAddResourceTypeTemplateWhenUserIsShakedownAdminAndIsNotTestingMode() { // given ResourceTypeEntity as = ResourceTypeEntityBuilder.APPLICATION_SERVER_TYPE; when(sessionContext.isCallerInRole(SHAKEDOWN_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(SHAKEDOWN_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.SHAKEDOWN_TEST_MODE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToAddResourceTypeTemplate(as, false); // then Assert.assertFalse(result); }
@Test public void hasPermissionToTemplateModifyWhenUserIsNotShakedownAdminAndIsTestingMode() { // given ResourceEntity as = resourceEntityBuilder.mockAppServerEntity("as", null, null, null); when(sessionContext.isCallerInRole(VIEWER)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(VIEWER, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.DEFAULT, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToAddResourceTemplate(as, true); // then Assert.assertFalse(result); }
@Test public void hasPermissionToTemplateModifyWhenUserIsShakedownAdminAndIsNotTestingMode() { // given ResourceEntity as = resourceEntityBuilder.mockAppServerEntity("as", null, null, null); when(sessionContext.isCallerInRole(SHAKEDOWN_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(SHAKEDOWN_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.SHAKEDOWN_TEST_MODE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToAddResourceTemplate(as, false); // then Assert.assertFalse(result); }
@Test public void hasPermissionToDeleteResourceRelationWhenUserIsAppDeveloperAndResourceIsInstanceOfApplicationResType(){ // given ResourceEntity app = resourceEntityBuilder.mockApplicationEntity("app", appResourceGroup, null); when(sessionContext.isCallerInRole(APP_DEVELOPER)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(APP_DEVELOPER, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(app, new ContextEntity()); // then Assert.assertTrue(result); }
@Test public void hasPermissionToDeleteResourceRelationWhenUserHasPermissionToUpdateResourceAndResourceIsRuntimeType(){ // given ResourceEntity runtime = resourceEntityBuilder.mockRuntimeEntity("EAP6", null, null); when(sessionContext.isCallerInRole(SERVER_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(SERVER_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(runtime, new ContextEntity()); // then Assert.assertTrue(result); }
@Test public void hasPermissionToAddResourceRelationWhenUserHasPermissionToUpdateResourceAndResourceIsInstanceOfApplicationResType(){ // given ResourceEntity app = resourceEntityBuilder.mockApplicationEntity("app", appResourceGroup, null); when(sessionContext.isCallerInRole(APP_DEVELOPER)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity upd = new RestrictionEntity(); upd.setAction(Action.UPDATE); myRoles.put(APP_DEVELOPER, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, upd))); permissionService.rolesWithRestrictions = myRoles; // when boolean canAdd = permissionService.hasPermissionToAddRelation(app, new ContextEntity()); // then Assert.assertTrue(canAdd); }
@Test public void hasPermissionToDeleteResourceRelationWhenUserHasResourceUpdatePermissionAndResourceIsNotInstanceOfNodeResType(){ // given ResourceEntity node = resourceEntityBuilder.mockNodeEntity("node", null,null); when(sessionContext.isCallerInRole(SERVER_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.UPDATE); myRoles.put(SERVER_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(node, new ContextEntity()); // then Assert.assertTrue(result); }
@Test public void hasPermissionToDeleteResourceRelationWhenUserHasPermissionToEditAllResourcesOnSpecificEnvironment(){ // given ResourceEntity app = resourceEntityBuilder.mockApplicationEntity("app", appResourceGroup, null); when(sessionContext.isCallerInRole(APP_DEVELOPER)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.UPDATE); res.setContext(envC); myRoles.put(APP_DEVELOPER, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(app, envC); // then Assert.assertTrue(result); }
@Test public void hasNoPermissionToDeleteResourceRelationWhenUserHasPermissionToEditAllResourcesOnAnotherEnvironment(){ // given ResourceEntity app = resourceEntityBuilder.mockApplicationEntity("app", appResourceGroup, null); when(sessionContext.isCallerInRole(APP_DEVELOPER)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.UPDATE); res.setContext(envC); myRoles.put(APP_DEVELOPER, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(app, envZ); // then Assert.assertFalse(result); }
@Test public void hasPermissionToDeleteResourceRelationWhenUserHasResourceUpdatePermissionAndResourceTypeIsNull() { // given ResourceEntity resourceWithoutResourceType = ResourceFactory.createNewResource("Orphan"); when(sessionContext.isCallerInRole(CONFIG_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity upd = new RestrictionEntity(); upd.setAction(Action.UPDATE); myRoles.put(CONFIG_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, upd))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(resourceWithoutResourceType, new ContextEntity()); // then Assert.assertFalse(result); }
@Test public void hasNoPermissionToDeleteResourceRelationWhenUserHasNoReourceUpdatePermissionAndResourceIsNotInstanceOfApplicationResType(){ // given ResourceEntity as = resourceEntityBuilder.mockAppServerEntity("as", null, null, null); when(sessionContext.isCallerInRole(APP_DEVELOPER)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(APP_DEVELOPER, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCETYPE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(as, new ContextEntity()); // then Assert.assertFalse(result); }
@Test public void hasNoPermissionToAddResourceRelationWhenUserUserHasNoPermissionToUpdateResourceAndResourceIsNotInstanceOfApplicationResType() { // given ResourceEntity as = resourceEntityBuilder.mockAppServerEntity("as", null, null, null); when(sessionContext.isCallerInRole(APP_DEVELOPER)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.READ); myRoles.put(APP_DEVELOPER, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean canAdd = permissionService.hasPermissionToAddRelation(as, new ContextEntity()); // then Assert.assertFalse(canAdd); }
@Test public void hasPermissionToDeleteResourceRelationWhenUserHasResourceUpdatePermissionAndResourceIsInstanceOfNotDefaultResourceType(){ // given ResourceEntity ws = resourceEntityBuilder.mockResourceEntity("ws", null, "webservice", null); when(sessionContext.isCallerInRole(CONFIG_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity upd = new RestrictionEntity(); upd.setAction(Action.UPDATE); myRoles.put(CONFIG_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, upd))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(ws, new ContextEntity()); // then Assert.assertTrue(result); }
@Test public void hasPermissionToAddResourceRelationWhenUserHasPermissionToUpdateResource() { // given ResourceEntity as = resourceEntityBuilder.mockAppServerEntity("as", null, null, null); when(sessionContext.isCallerInRole(CONFIG_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(CONFIG_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean canAdd = permissionService.hasPermissionToAddRelation(as, new ContextEntity()); // then Assert.assertTrue(canAdd); }
@Test public void hasPermissionToDeleteResourceRelationWhenUserHasResourceUpdatePermissionAndResourceIsInstanceOfDefaultResourceType(){ // given ResourceEntity app = resourceEntityBuilder.mockApplicationEntity("app", appResourceGroup, null); when(sessionContext.isCallerInRole(CONFIG_ADMIN)).thenReturn(true); when(sessionContext.getCallerPrincipal()).thenReturn(principal); myRoles = new HashMap<>(); RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.ALL); myRoles.put(CONFIG_ADMIN, Arrays.asList(new RestrictionDTOBuilder().mockRestrictionDTO(Permission.RESOURCE, res))); permissionService.rolesWithRestrictions = myRoles; // when boolean result = permissionService.hasPermissionToDeleteRelation(app, new ContextEntity()); // then Assert.assertTrue(result); }
@Test public void constructedWithRestrictionItShouldHaveRightAction(){ //given RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.READ); res.setPermission(per); //when RestrictionDTO resDTO = new RestrictionDTO(res); //then Assert.assertEquals(per.getValue(), resDTO.getPermissionName()); Assert.assertEquals(res.getAction(), resDTO.getRestriction().getAction()); }
@Test public void constructedWithRestrictionItShouldHaveRightContext(){ //given RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.CREATE); res.setContext(new ContextEntityBuilder().buildContextEntity("TEST", null, Collections.EMPTY_SET,false)); res.setPermission(per); res.setRole(rol); //when RestrictionDTO resDTO = new RestrictionDTO(res); //then Assert.assertEquals(rol.getName(), resDTO.getRestriction().getRole().getName()); Assert.assertEquals(res.getContext().getName(), resDTO.getRestriction().getContext().getName()); } }