@Test public void binderAccessRights() { Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("port-u-2"); String title = "My private binder"; String summary = "My live"; Binder binder = portfolioService.createNewBinder(title, summary, null, owner); dbInstance.commitAndCloseSession(); // load right List<AccessRights> rights = portfolioService.getAccessRights(binder); Assert.assertNotNull(rights); Assert.assertEquals(1, rights.size()); AccessRights ownerRight = rights.get(0); Assert.assertEquals(binder.getKey(), ownerRight.getBinderKey()); Assert.assertEquals(owner, ownerRight.getIdentity()); Assert.assertEquals(PortfolioRoles.owner, ownerRight.getRole()); }
@Test public void binderAndSectionAndPageAccessRights() { Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("port-u-3"); Identity coach = JunitTestHelper.createAndPersistIdentityAsRndUser("port-u-4"); Identity reviewer = JunitTestHelper.createAndPersistIdentityAsRndUser("port-u-5"); String title = "My published binder"; String summary = "My live"; Binder binder = portfolioService.createNewBinder(title, summary, null, owner); dbInstance.commit(); portfolioService.appendNewSection("Section", "Coached section", null, null, binder); dbInstance.commit(); List<Section> sections = portfolioService.getSections(binder); Section section = sections.get(0); portfolioService.appendNewPage(owner, "Reviewed page", "", null, null, section); portfolioService.addAccessRights(section, coach, PortfolioRoles.coach); dbInstance.commit(); List<Page> pages = portfolioService.getPages(section); Page page = pages.get(0); portfolioService.addAccessRights(page, reviewer, PortfolioRoles.reviewer); // load right List<AccessRights> rights = portfolioService.getAccessRights(binder); Assert.assertNotNull(rights); Assert.assertEquals(4, rights.size()); boolean foundOwner = false; boolean foundCoach = false; boolean foundReviewer = false; for (AccessRights right : rights) { if (PortfolioRoles.owner.equals(right.getRole()) && owner.equals(right.getIdentity())) { foundOwner = true; } else if (PortfolioRoles.coach.equals(right.getRole()) && coach.equals(right.getIdentity())) { foundCoach = true; } else if (PortfolioRoles.reviewer.equals(right.getRole()) && reviewer.equals(right.getIdentity())) { foundReviewer = true; } } Assert.assertTrue(foundOwner); Assert.assertTrue(foundCoach); Assert.assertTrue(foundReviewer); }