def test_group_permissions(self): """ Retrieve a group's permissions from database """ g1 = Group('brotatos') g2 = Group('sharkfest') p1 = GroupPermission('pkg1', 'brotatos', True, False) p2 = GroupPermission('pkg1', 'sharkfest', True, True) self.db.add_all([g1, g2, p1, p2]) transaction.commit() perms = self.access.group_permissions('pkg1', 'brotatos') self.assertEqual(perms, ['read'])
def test_group_package_perms(self): """ Fetch all packages a group has permissions on """ g1 = Group('foo') p1 = GroupPermission('pkg1', 'foo', True, False) p2 = GroupPermission('pkg2', 'foo', True, True) self.db.add_all([g1, p1, p2]) transaction.commit() perms = self.access.group_package_permissions('foo') self.assertEqual(perms, [ {'package': 'pkg1', 'permissions': ['read']}, {'package': 'pkg2', 'permissions': ['read', 'write']}, ])
def test_revoke_group_permission(self): """ Can revoke group permissions on a package """ g = Group('foo') perm = GroupPermission('pkg1', 'foo', read=True) self.db.add_all([g, perm]) transaction.commit() self.access.edit_group_permission('pkg1', 'foo', 'read', False) transaction.commit() self.db.add(g) self.assertEqual(len(g.permissions), 0)