X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2FTestUserGroupMembership.java;h=7ac06ff36595431101b8766ecd79f7e589e8cadd;hp=e0116533fa46f55125ef4d871c2f51d4d6f63ce2;hb=a0232b6e40e7e09767f0444d24e18bf12dafc362;hpb=48c010bbe449f6ccbd493dd00165d09982d54d2b diff --git a/tests/org/cacert/gigi/TestUserGroupMembership.java b/tests/org/cacert/gigi/TestUserGroupMembership.java index e0116533..7ac06ff3 100644 --- a/tests/org/cacert/gigi/TestUserGroupMembership.java +++ b/tests/org/cacert/gigi/TestUserGroupMembership.java @@ -8,7 +8,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashSet; -import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; import org.cacert.gigi.dbObjects.Group; @@ -19,7 +18,7 @@ import org.junit.Test; public class TestUserGroupMembership extends ManagedTest { - private final Group ttpGroup = Group.getByString("ttp-assuer"); + private final Group ttpGroup = Group.getByString("ttp-assurer"); private final Group supporter = Group.getByString("supporter"); @@ -39,17 +38,20 @@ public class TestUserGroupMembership extends ManagedTest { assertThat(u2, is(not(sameInstance(u)))); assertBehavesTtpGroup(u2); - GigiResultSet rs = fetchGroupRowsFor(u); + try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT * FROM `user_groups` WHERE `user`=?")) { + ps.setInt(1, u.getId()); + GigiResultSet rs = ps.executeQuery(); - assertTrue(rs.next()); - assertEquals(0, rs.getInt("revokedby")); - assertEquals(granter.getId(), rs.getInt("grantedby")); - assertEquals(ttpGroup.getDatabaseName(), rs.getString("permission")); + assertTrue(rs.next()); + assertEquals(0, rs.getInt("revokedby")); + assertEquals(granter.getId(), rs.getInt("grantedby")); + assertEquals(ttpGroup.getDatabaseName(), rs.getString("permission")); - assertNull(rs.getDate("deleted")); - assertNotNull(rs.getDate("granted")); + assertNull(rs.getDate("deleted")); + assertNotNull(rs.getDate("granted")); - assertFalse(rs.next()); + assertFalse(rs.next()); + } } @Test @@ -69,23 +71,19 @@ public class TestUserGroupMembership extends ManagedTest { assertThat(u2, is(not(sameInstance(u)))); assertBehavesEmpty(u); - GigiResultSet rs = fetchGroupRowsFor(u); - assertTrue(rs.next()); - assertEquals(granter.getId(), rs.getInt("revokedby")); - assertEquals(granter.getId(), rs.getInt("grantedby")); - assertEquals(ttpGroup.getDatabaseName(), rs.getString("permission")); + try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT * FROM `user_groups` WHERE `user`=?")) { + ps.setInt(1, u.getId()); + GigiResultSet rs = ps.executeQuery(); + assertTrue(rs.next()); + assertEquals(granter.getId(), rs.getInt("revokedby")); + assertEquals(granter.getId(), rs.getInt("grantedby")); + assertEquals(ttpGroup.getDatabaseName(), rs.getString("permission")); - assertNotNull(rs.getDate("deleted")); - assertNotNull(rs.getDate("granted")); + assertNotNull(rs.getDate("deleted")); + assertNotNull(rs.getDate("granted")); - assertFalse(rs.next()); - } - - private GigiResultSet fetchGroupRowsFor(User u) throws SQLException { - GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT * FROM user_groups WHERE user=?"); - ps.setInt(1, u.getId()); - GigiResultSet rs = ps.executeQuery(); - return rs; + assertFalse(rs.next()); + } } private void assertBehavesEmpty(User u) { @@ -103,17 +101,18 @@ public class TestUserGroupMembership extends ManagedTest { @Test public void testListGroup() { Group g = Group.getByString("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); + assertEquals(0, g.getMembers(0, 10).length + start); ux.grantGroup(ux, g); - assertEquals(1, g.getMembers(0, 10).length); + assertEquals(1, g.getMembers(0, 10).length + start); ux2.grantGroup(ux, g); - assertEquals(2, g.getMembers(0, 10).length); + assertEquals(2, g.getMembers(0, 10).length + start); ux2.revokeGroup(ux, g); - assertEquals(1, g.getMembers(0, 10).length); + assertEquals(1, g.getMembers(0, 10).length + start); ux.revokeGroup(ux, g); - assertEquals(0, g.getMembers(0, 10).length); + assertEquals(0, g.getMembers(0, 10).length + start); }