def test_removePrincipalFromGroup(self):
        zgm = self._makeOne()

        zgm.addGroup('group')

        user = DummyUser('userid')

        zgm.addPrincipalToGroup(user.getId(), 'group')
        zgm.removePrincipalFromGroup(user.getId(), 'group')
        groups = zgm.getGroupsForPrincipal(user)
        self.assertEqual(groups, ())
    def test_removePrincipalFromGroup(self):
        zgm = self._makeOne()

        zgm.addGroup('group')

        user = DummyUser('userid')

        zgm.addPrincipalToGroup(user.getId(), 'group')
        zgm.removePrincipalFromGroup(user.getId(), 'group')
        groups = zgm.getGroupsForPrincipal(user)
        self.assertEqual(groups, ())
    def test_multiplePrincipalsPerGroup(self):
        pas = FauxPAS()
        zgm = self._makeOne().__of__(pas)

        zgm.addGroup('group1')
        zgm.addGroup('group2')

        user1 = DummyUser('userid1')
        user2 = DummyUser('userid2')

        zgm.addPrincipalToGroup(user1.getId(), 'group1')
        zgm.addPrincipalToGroup(user1.getId(), 'group2')
        zgm.addPrincipalToGroup(user2.getId(), 'group2')

        group_ids = zgm.listGroupIds()
        self.assertEqual(len(group_ids), 2)
        principals = zgm.listAssignedPrincipals('group2')
        self.assertEqual(principals, [('userid1', 'userid1'),
                                      ('userid2', 'userid2')])
    def test_multiplePrincipalsPerGroup(self):
        pas = FauxPAS()
        zgm = self._makeOne().__of__(pas)

        zgm.addGroup('group1')
        zgm.addGroup('group2')

        user1 = DummyUser('userid1')
        user2 = DummyUser('userid2')

        zgm.addPrincipalToGroup(user1.getId(), 'group1')
        zgm.addPrincipalToGroup(user1.getId(), 'group2')
        zgm.addPrincipalToGroup(user2.getId(), 'group2')

        group_ids = zgm.listGroupIds()
        self.assertEqual(len(group_ids), 2)
        principals = zgm.listAssignedPrincipals('group2')
        self.assertEqual(principals, [('userid1', 'userid1'),
                                      ('userid2', 'userid2')])
    def test_addPrincipalToGroup_w_prefix(self):
        zgm = self._makeOne()
        zgm.prefix = 'prefixed_'

        zgm.addGroup('group')

        user = DummyUser('userid')

        zgm.addPrincipalToGroup(user.getId(), 'group')
        groups = zgm.getGroupsForPrincipal(user)
        self.assertEqual(groups, ('prefixed_group',))
    def test_addPrincipalToGroup_w_prefix(self):
        zgm = self._makeOne()
        zgm.prefix = 'prefixed_'

        zgm.addGroup('group')

        user = DummyUser('userid')

        zgm.addPrincipalToGroup(user.getId(), 'group')
        groups = zgm.getGroupsForPrincipal(user)
        self.assertEqual(groups, ('prefixed_group', ))
    def test_removeGroupOutFromUnderPrincipal(self):
        zgm = self._makeOne()

        zgm.addGroup('group')

        user = DummyUser('userid')

        zgm.addPrincipalToGroup(user.getId(), 'group')
        zgm.removeGroup('group')
        group_ids = zgm.listGroupIds()
        self.assertEqual(len(group_ids), 0)
        groups = zgm.getGroupsForPrincipal(user)
        self.assertEqual(groups, ())
    def test_removeGroupOutFromUnderPrincipal(self):
        zgm = self._makeOne()

        zgm.addGroup('group')

        user = DummyUser('userid')

        zgm.addPrincipalToGroup(user.getId(), 'group')
        zgm.removeGroup('group')
        group_ids = zgm.listGroupIds()
        self.assertEqual(len(group_ids), 0)
        groups = zgm.getGroupsForPrincipal(user)
        self.assertEqual(groups, ())