Exemple #1
0
    def test_get_your_permissions(self):
        rest = _RestProxyForTest()
        permissions = Permissions(rest)

        rest.expect_get('/user_permission/other_user?recursive=true', 200,
                        {'': [{'right': 'ADMIN', 'target_type': 'PROJECT', 'target_id': 'id'}]})

        ps = permissions.get_my_permissions(user_superuser_only='other_user')
        self.assertEqual(ps, {'': [Permission('ADMIN', 'PROJECT', 'id')]})
Exemple #2
0
    def test_get_group_permissions(self):
        rest = _RestProxyForTest()
        permissions = Permissions(rest)

        rest.expect_get('/group_permission/g1?recursive=true', 200,
                        {'g1': [{'right': 'ADMIN', 'target_type': 'PROJECT', 'target_id': 'id'}],
                         'g2': [{'right': 'READ', 'target_type': 'GROUP', 'target_id': 'id2'}]})

        ps = permissions.get_group_permissions('g1')
        self.assertEqual(ps, {'g1': [Permission('ADMIN', 'PROJECT', 'id')],
                              'g2': [Permission('READ', 'GROUP', 'id2')]})
Exemple #3
0
    def test_revoke_group_permission(self):
        rest = _RestProxyForTest()
        permissions = Permissions(rest)

        rest.expect_delete(
            '/group_permission/g1?right=ADMIN&target_type=PROJECT&target_id=id', 204)

        p1 = Permission('ADMIN', 'PROJECT', 'id')
        permissions.revoke_group_permission('g1', p1)

        rest.expect_delete(
            '/group_permission/g1?right=ADMIN&target_type=PROJECT&target_id=id', 200)

        with self.assertRaises(RuntimeError):
            permissions.revoke_group_permission('g1', p1)
Exemple #4
0
    def test_grant_group_permission(self):
        rest = _RestProxyForTest()
        permissions = Permissions(rest)

        expected_data = {}

        def check_input(data_dict):
            self.assertEqual(expected_data, data_dict)
            return True

        expected_data = {'right': 'ADMIN', 'target_type': 'PROJECT', 'target_id': 'id'}
        rest.expect_post('/group_permission/g1', check_input, 200, expected_data)

        p1 = Permission('ADMIN', 'PROJECT', 'id')
        permissions.grant_group_permission('g1', p1)

        rest.expect_post('/group_permission/g1', check_input, 404, {})
        with self.assertRaises(RuntimeError):
            permissions.grant_group_permission('g1', p1)