private void checkNoWriteAccess(Serializable id, ProjektDO projekt, String who) { try { ProjektDO ku = new ProjektDO(); projekt.setName("ACME - Webportal 2"); projektDao.save(ku); fail("AccessException expected: " + who + " users should not have save access to projects."); } catch (AccessException ex) { // OK } try { projekt.setDescription(who); projektDao.update(projekt); fail("AccessException expected: " + who + " users should not have update access to projects."); } catch (AccessException ex) { // OK } }
public ProjektDO addProjekt(final KundeDO kunde, final Integer projektNummer, final String projektName, final Integer... kost2ArtIds) { final ProjektDO projekt = new ProjektDO(); projekt.setNummer(projektNummer); projekt.setName(projektName); if (kunde != null) { projektDao.setKunde(projekt, kunde.getId()); } projektDao.save(projekt); if (kost2ArtIds != null) { for (final Integer id : kost2ArtIds) { final Kost2DO kost2 = new Kost2DO(); kost2.setProjekt(projekt); kost2.setNummernkreis(5); if (kunde != null) { kost2.setBereich(kunde.getId()); } kost2.setTeilbereich(projekt.getNummer()); kost2Dao.setKost2Art(kost2, id); kost2Dao.save(kost2); } } return projekt; }
final TaskDO task = initTestDB.addTask("kost2test1", "root"); final ProjektDO projekt = projektDao .getById(projektDao.save(new ProjektDO().setName("Kost2 test project").setInternKost2_4(137) .setNummer(05).setTask(task))); // Kost2: 4.137.05 List<Kost2DO> list = taskTree.getKost2List(task.getId());
@Test public void addKost2() { logon(TEST_FINANCE_USER); final TaskTree taskTree = TaskTreeHelper.getTaskTree(); final TaskDO task1 = initTestDB.addTask("addKost2", "root"); final ProjektDO projekt = new ProjektDO().setName("addKost2").setInternKost2_4(128).setNummer(5).setTask(task1); projektDao.save(projekt); final Kost2ArtDO kost2Art = new Kost2ArtDO().withId(42); final Kost2DO kost = new Kost2DO().setNummernkreis(4).setBereich(128).setTeilbereich(5).setKost2Art(kost2Art); assertEquals("42", TaskHelper.addKost2(taskTree, task1, kost)); assertEquals("12,42,6.001.02.89", TaskHelper.addKost2(taskTree, task1.setKost2BlackWhiteList("12,6.001.02.89,12"), kost)); final TaskDO task2 = new TaskDO(); assertEquals("4.128.05.42", TaskHelper.addKost2(taskTree, task2, kost)); task2.setKost2BlackWhiteList("12,6.001.02.89"); assertEquals("12,4.128.05.42,6.001.02.89", TaskHelper.addKost2(taskTree, task2, kost)); } }
@Test public void checkAccess() { logon(TEST_ADMIN_USER); final TaskDO task = initTestDB.addTask("checkAccessTestTask", "root"); initTestDB.addGroup("checkAccessTestGroup", new String[] { TEST_USER }); initTestDB.createGroupTaskAccess(getGroup("checkAccessTestGroup"), getTask("checkAccessTestTask"), AccessType.TASKS, true, true, true, true); logon(TEST_FINANCE_USER); final Kost2ArtDO kost2Art = new Kost2ArtDO(); kost2Art.setId(42); kost2Art.setName("Test"); kost2ArtDao.save(kost2Art); final Kost2DO kost2 = new Kost2DO(); kost2.setNummernkreis(3); kost2.setBereich(0); kost2.setTeilbereich(42); kost2.setKost2Art(kost2Art); kost2Dao.save(kost2); final ProjektDO projekt = new ProjektDO(); projekt.setInternKost2_4(123); projekt.setName("Testprojekt"); projektDao.save(projekt); checkAccess(TEST_ADMIN_USER, task.getId(), projekt, kost2); checkAccess(TEST_USER, task.getId(), projekt, kost2); }
@Test public void checkAccess() { logon(TEST_FINANCE_USER); final GroupDO group = initTestDB.addGroup("ProjektDaoTest.ProjectManagers", TEST_PROJECT_ASSISTANT_USER); ProjektDO projekt = new ProjektDO(); projekt.setName("ACME - Webportal"); projekt.setProjektManagerGroup(group); Serializable id = projektDao.save(projekt); projekt = projektDao.getById(id); projekt.setDescription("Test"); projektDao.update(projekt); logon(TEST_CONTROLLING_USER); checkNoWriteAccess(id, projekt, "Controlling"); logon(TEST_USER); checkNoAccess(id, "Other"); checkNoAccess(id, projekt, "Other"); logon(TEST_PROJECT_MANAGER_USER); projektDao.getList(new ProjektFilter()); checkNoAccess(id, projekt, "Project manager"); logon(TEST_PROJECT_ASSISTANT_USER); projektDao.getList(new ProjektFilter()); checkNoWriteAccess(id, projekt, "Project assistant"); checkNoHistoryAccess(id, projekt, "Project assistant"); logon(TEST_ADMIN_USER); checkNoAccess(id, projekt, "Admin "); checkNoAccess(id, projekt, "Project manager"); }
projekt.setName("ACME - Webportal checkPartlyReadwriteAccess"); projekt.setProjektManagerGroup(group); Serializable id = projektDao.save(projekt); projekt = projektDao.getById(id);
projekt1.setName("ACME - Webportal 1"); projekt1.setProjektManagerGroup(group1); Serializable id = projektDao.save(projekt1); projekt1 = projektDao.getById(id); AuftragDO auftrag1 = new AuftragDO(); projekt2.setName("ACME - Webportal 2"); projekt2.setProjektManagerGroup(group2); id = projektDao.save(projekt2); projekt2 = projektDao.getById(id); AuftragDO auftrag2 = new AuftragDO();
.setNummer(1) .setProjektManagerGroup(projectManagers).setTask(task); projektDao.save(projekt); logon(TEST_USER); TaskDO task1 = new TaskDO().setParentTask(task).setTitle("Task 1").setKost2BlackWhiteList("Hurzel");