@BeforeClass public void createProjects() { super.setUp(); logon(AbstractTestBase.TEST_FINANCE_USER); final KundeDO kunde = new KundeDO(); kunde.setName("ACME ltd."); kunde.setId(59); kundeDao.save(kunde); projekt1 = initTestDB.addProjekt(kunde, 0, "Web portal"); projekt2 = initTestDB.addProjekt(kunde, 1, "Order management"); }
private void checkNoWriteAccess(Serializable id, KundeDO kunde, String who) { try { KundeDO ku = new KundeDO(); ku.setId(42); kunde.setName("ACME 2"); kundeDao.save(ku); fail("AccessException expected: " + who + " users should not have save access to customers."); } catch (AccessException ex) { // OK } try { kunde.setDescription(who); kundeDao.update(kunde); fail("AccessException expected: " + who + " users should not have update access to customers."); } catch (AccessException ex) { // OK } }
kunde.setName("ACME"); kunde.setId(50); kundeDao.save(kunde);
kunde.setName("ACME International"); kunde.setId(52); kundeDao.save(kunde);
kunde.setName("ACME ltd."); kunde.setId(51); kundeDao.save(kunde);
@Test public void checkAccess() { logon(TEST_FINANCE_USER); KundeDO kunde = new KundeDO(); kunde.setName("ACME"); kunde.setId(42); Serializable id = kundeDao.save(kunde); kunde = kundeDao.getById(id); kunde.setDescription("Test"); kundeDao.update(kunde); logon(TEST_CONTROLLING_USER); kundeDao.getById(id); checkNoWriteAccess(id, kunde, "Controlling"); logon(TEST_USER); checkNoAccess(id, kunde, "Other"); logon(TEST_PROJECT_MANAGER_USER); checkNoWriteAccess(id, kunde, "Project manager"); checkNoHistoryAccess(id, kunde, "Project manager"); logon(TEST_ADMIN_USER); checkNoAccess(id, kunde, "Admin "); }
kunde.setName("ACME ltd."); kunde.setId(53); kundeDao.save(kunde);