X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Forga%2FTestOrgaManagement.java;h=c8a6c1394d8627dd1303bf6134b4468dfc32deaa;hb=280be756fb425fc8148ade698f51528e1e9106c2;hp=f0a07a801d39e24ff8c2d912834c36061385000e;hpb=8af6231b22da4fef795bcb54913faad6592b1a02;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/orga/TestOrgaManagement.java b/tests/org/cacert/gigi/pages/orga/TestOrgaManagement.java index f0a07a80..c8a6c139 100644 --- a/tests/org/cacert/gigi/pages/orga/TestOrgaManagement.java +++ b/tests/org/cacert/gigi/pages/orga/TestOrgaManagement.java @@ -10,6 +10,7 @@ import java.net.URLConnection; import java.net.URLEncoder; import java.util.List; +import org.cacert.gigi.GigiApiException; import org.cacert.gigi.dbObjects.Group; import org.cacert.gigi.dbObjects.Organisation; import org.cacert.gigi.dbObjects.Organisation.Affiliation; @@ -21,7 +22,8 @@ import org.junit.Test; public class TestOrgaManagement extends ClientTest { public TestOrgaManagement() throws IOException { - u.grantGroup(u, Group.getByString("orgassurer")); + u.grantGroup(u, Group.ORGASSURER); + makeAssurer(u.getId()); clearCaches(); cookie = login(email, TEST_PASSWORD); } @@ -36,7 +38,7 @@ public class TestOrgaManagement extends ClientTest { assertEquals("Köln", orgs[0].getCity()); assertEquals("ÜÖÄß", orgs[0].getProvince()); - User u2 = User.getById(createVerifiedUser("testworker", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD)); + User u2 = User.getById(createAssuranceUser("testworker", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD)); executeBasicWebInteraction(cookie, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "email=" + URLEncoder.encode(u2.getEmail(), "UTF-8") + "&do_affiliate=y&master=y", 1); List allAdmins = orgs[0].getAllAdmins(); assertEquals(1, allAdmins.size()); @@ -67,11 +69,11 @@ public class TestOrgaManagement extends ClientTest { } @Test - public void testNonAssurerSeeOnlyOwn() throws IOException { - User u2 = User.getById(createVerifiedUser("testworker", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD)); + public void testNonAssurerSeeOnlyOwn() throws IOException, GigiApiException { + User u2 = User.getById(createAssuranceUser("testworker", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD)); Organisation o1 = new Organisation("name21", "DE", "sder", "Rostov", "email", u); Organisation o2 = new Organisation("name12", "DE", "sder", "Rostov", "email", u); - o1.addAdmin(u2, u2, false); + o1.addAdmin(u2, u, false); String session2 = login(u2.getEmail(), TEST_PASSWORD); URLConnection uc = new URL("https://" + getServerName() + ViewOrgPage.DEFAULT_PATH).openConnection(); @@ -96,4 +98,36 @@ public class TestOrgaManagement extends ClientTest { o1.delete(); o2.delete(); } + + @Test + public void testAffiliationRights() throws IOException, GigiApiException { + User u2 = User.getById(createAssuranceUser("testworker", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD)); + User u3 = User.getById(createAssuranceUser("testmaster", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD)); + User u4_dummy = User.getById(createVerifiedUser("testmaster", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD)); + Organisation o1 = new Organisation("name21", "DE", "sder", "Rostov", "email", u); + o1.addAdmin(u3, u, true); + try { + // must fail because u4 is no assurer + o1.addAdmin(u4_dummy, u3, false); + fail("No exception!"); + } catch (GigiApiException e) { + } + o1.addAdmin(u2, u3, false); + try { + // must fail because u2 may not add admins + o1.addAdmin(u3, u2, false); + fail("No exception!"); + } catch (GigiApiException e) { + } + try { + // must fail because u4 is no assurer + o1.addAdmin(u4_dummy, u, false); + fail("No exception!"); + } catch (GigiApiException e) { + } + o1.removeAdmin(u2, u3); + o1.removeAdmin(u3, u3); + assertEquals(0, o1.getAllAdmins().size()); + o1.delete(); + } }