1 package org.cacert.gigi.pages.orga;
3 import static org.junit.Assert.*;
5 import java.io.IOException;
6 import java.net.URLEncoder;
9 import org.cacert.gigi.dbObjects.Group;
10 import org.cacert.gigi.dbObjects.Organisation;
11 import org.cacert.gigi.dbObjects.Organisation.Affiliation;
12 import org.cacert.gigi.dbObjects.User;
13 import org.cacert.gigi.testUtils.ManagedTest;
14 import org.junit.Test;
16 public class TestOrgaManagement extends ManagedTest {
18 public User u = User.getById(createVerifiedUser("testuser", "testname", uniq + "@testdom.com", TEST_PASSWORD));
20 public String session;
22 public TestOrgaManagement() throws IOException {
23 u.grantGroup(u, Group.getByString("orgassurer"));
25 session = login(uniq + "@testdom.com", TEST_PASSWORD);
29 public void testAdd() throws IOException {
30 executeBasicWebInteraction(session, CreateOrgPage.DEFAULT_PATH, "O=name&contact=&L=K%C3%B6ln&ST=%C3%9C%C3%96%C3%84%C3%9F&C=DE&comments=jkl%C3%B6loiuzfdfgjlh%C3%B6", 0);
31 Organisation[] orgs = Organisation.getOrganisations(0, 30);
32 assertEquals(1, orgs.length);
33 assertEquals("name", orgs[0].getName());
34 assertEquals("Köln", orgs[0].getCity());
35 assertEquals("ÜÖÄß", orgs[0].getProvince());
37 User u2 = User.getById(createVerifiedUser("testworker", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD));
38 executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "email=" + URLEncoder.encode(u2.getEmail(), "UTF-8") + "&affiliate=y&master=y", 1);
39 List<Affiliation> allAdmins = orgs[0].getAllAdmins();
40 assertEquals(1, allAdmins.size());
41 Affiliation affiliation = allAdmins.get(0);
42 assertSame(u2, affiliation.getTarget());
43 assertTrue(affiliation.isMaster());
45 executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "email=" + URLEncoder.encode(u.getEmail(), "UTF-8") + "&affiliate=y", 1);
46 allAdmins = orgs[0].getAllAdmins();
47 assertEquals(2, allAdmins.size());
48 Affiliation affiliation2 = allAdmins.get(0);
49 if (affiliation2.getTarget().getId() == u2.getId()) {
50 affiliation2 = allAdmins.get(1);
52 assertSame(u.getId(), affiliation2.getTarget().getId());
53 assertFalse(affiliation2.isMaster());
55 executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "del=" + URLEncoder.encode(u.getEmail(), "UTF-8") + "&email=&affiliate=y", 1);
56 assertEquals(1, orgs[0].getAllAdmins().size());
58 executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "del=" + URLEncoder.encode(u2.getEmail(), "UTF-8") + "&email=&affiliate=y", 1);
59 assertEquals(0, orgs[0].getAllAdmins().size());
61 executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "O=name1&contact=&L=K%C3%B6ln&ST=%C3%9C%C3%96%C3%84%C3%9F&C=DE&comments=jkl%C3%B6loiuzfdfgjlh%C3%B6", 0);
63 orgs = Organisation.getOrganisations(0, 30);
64 assertEquals("name1", orgs[0].getName());