]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/TestOrga.java
add: defense-in-depth mechanism to prevent unauthorized adding of groups
[gigi.git] / tests / org / cacert / gigi / TestOrga.java
1 package org.cacert.gigi;
2
3 import static org.junit.Assert.*;
4
5 import java.io.IOException;
6
7 import org.cacert.gigi.dbObjects.Country;
8 import org.cacert.gigi.dbObjects.Country.CountryCodeType;
9 import org.cacert.gigi.dbObjects.Group;
10 import org.cacert.gigi.dbObjects.Organisation;
11 import org.cacert.gigi.dbObjects.User;
12 import org.cacert.gigi.testUtils.BusinessTest;
13 import org.junit.Test;
14
15 public class TestOrga extends BusinessTest {
16
17     @Test
18     public void testAddRm() throws GigiApiException, IOException {
19         User u1 = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD));
20         u1.grantGroup(getSupporter(), Group.ORGASSURER);
21         User u2 = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD));
22         u2.grantGroup(getSupporter(), Group.ORGASSURER);
23         User u3 = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD));
24         u3.grantGroup(getSupporter(), Group.ORGASSURER);
25         User u4 = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD));
26         u4.grantGroup(getSupporter(), Group.ORGASSURER);
27         Organisation o1 = new Organisation("name", Country.getCountryByCode("DE", CountryCodeType.CODE_2_CHARS), "prov", "city", "email", "optional name", "postal address", u1);
28         assertEquals(0, o1.getAllAdmins().size());
29         o1.addAdmin(u2, u1, false);
30         assertEquals(1, o1.getAllAdmins().size());
31         o1.addAdmin(u2, u1, false); // Insert double should be ignored
32         assertEquals(1, o1.getAllAdmins().size());
33         o1.addAdmin(u3, u1, false);
34         assertEquals(2, o1.getAllAdmins().size());
35         o1.addAdmin(u4, u1, false);
36         assertEquals(3, o1.getAllAdmins().size());
37         o1.removeAdmin(u3, u1);
38         assertEquals(2, o1.getAllAdmins().size());
39         o1.addAdmin(u3, u1, false); // add again
40         assertEquals(3, o1.getAllAdmins().size());
41         o1.removeAdmin(u3, u1);
42         assertEquals(2, o1.getAllAdmins().size());
43         o1.removeAdmin(u4, u1);
44         o1.removeAdmin(u2, u1);
45         assertEquals(0, o1.getAllAdmins().size());
46     }
47
48 }