import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
+import java.io.IOException;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Collections;
import org.cacert.gigi.dbObjects.Group;
import org.cacert.gigi.dbObjects.ObjectCache;
import org.cacert.gigi.dbObjects.User;
-import org.cacert.gigi.testUtils.ManagedTest;
+import org.cacert.gigi.testUtils.BusinessTest;
import org.junit.Test;
-public class TestUserGroupMembership extends ManagedTest {
+public class TestUserGroupMembership extends BusinessTest {
- private final Group ttpGroup = Group.getByString("ttp-assurer");
+ private final Group ttpGroup = Group.TTP_ASSURER;
- private final Group supporter = Group.getByString("supporter");
+ private final Group supporter = Group.SUPPORTER;
@Test
- public void testAddObject() throws GigiApiException, SQLException {
+ public void testAddObject() throws GigiApiException, SQLException, IOException {
User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
- User granter = User.getById(createVerifiedUser("grFname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
+ User granter = getSupporter();
assertBehavesEmpty(u);
u.grantGroup(granter, ttpGroup);
assertTrue(rs.next());
assertEquals(0, rs.getInt("revokedby"));
assertEquals(granter.getId(), rs.getInt("grantedby"));
- assertEquals(ttpGroup.getDatabaseName(), rs.getString("permission"));
+ assertEquals(ttpGroup.getDBName(), rs.getString("permission"));
assertNull(rs.getDate("deleted"));
assertNotNull(rs.getDate("granted"));
}
@Test
- public void testRemoveObject() throws GigiApiException, SQLException {
+ public void testRemoveObject() throws GigiApiException, SQLException, IOException {
User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
- User granter = User.getById(createVerifiedUser("grFname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
+ User granter = getSupporter();
assertBehavesEmpty(u);
u.grantGroup(granter, ttpGroup);
assertTrue(rs.next());
assertEquals(granter.getId(), rs.getInt("revokedby"));
assertEquals(granter.getId(), rs.getInt("grantedby"));
- assertEquals(ttpGroup.getDatabaseName(), rs.getString("permission"));
+ assertEquals(ttpGroup.getDBName(), rs.getString("permission"));
assertNotNull(rs.getDate("deleted"));
assertNotNull(rs.getDate("granted"));
}
@Test
- public void testListGroup() {
- Group g = Group.getByString("supporter");
+ public void testListGroup() throws GigiApiException, IOException {
+ Group g = Group.SUPPORTER;
int start = g.getMembers(0, 10).length;
User ux = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD));
User ux2 = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD));
assertEquals(0, g.getMembers(0, 10).length + start);
- ux.grantGroup(ux, g);
- assertEquals(1, g.getMembers(0, 10).length + start);
- ux2.grantGroup(ux, g);
+ ux.grantGroup(getSupporter(), g); // creates a supporter
assertEquals(2, g.getMembers(0, 10).length + start);
+ ux2.grantGroup(ux, g);
+ assertEquals(3, g.getMembers(0, 10).length + start);
ux2.revokeGroup(ux, g);
- assertEquals(1, g.getMembers(0, 10).length + start);
+ assertEquals(2, g.getMembers(0, 10).length + start);
ux.revokeGroup(ux, g);
- assertEquals(0, g.getMembers(0, 10).length + start);
+ assertEquals(1, g.getMembers(0, 10).length + start);
}