1 package org.cacert.gigi;
3 import static org.junit.Assert.*;
5 import java.io.IOException;
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;
15 public class TestOrga extends BusinessTest {
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());