Пример #1
0
    def test_user_revoke(self):
        """Test for revoking all roles from the user on owner's project."""

        # NOTE(Adriant): SKIPPING FOR NOW.
        # Revoke roles doesn't work.
        self.skip("NotImplemented")

        project_setup = self.create_project_and_owner(username_is_email=True)

        self.identity_utils.assign_user_role(
            project_setup['owner'],
            project_setup['project'],
            "Member"
        )
        self.identity_utils.assign_user_role(
            project_setup['owner'],
            project_setup['project'],
            "project_mod"
        )

        roles = self.identity_utils.identity_client.list_user_roles(
            project_setup['project']['id'], project_setup['owner']['id'])
        has_member = False
        has_mod = False
        for role in roles['roles']:
            if role['name'] == "Member":
                has_member = True
            if role['name'] == "project_mod":
                has_mod = True

        self.assertTrue(has_member)
        self.assertTrue(has_mod)

        auth = {
            "name": project_setup['owner']['username'],
            "password": project_setup['owner']['password'],
            "project_id": project_setup['project']['id'],
            "url": self.identity_utils.identity_client.base_url,
        }

        api.user_revoke(
            auth,
            project_setup['owner']['id']
        )

        roles = self.identity_utils.identity_client.list_user_roles(
            project_setup['project']['id'], project_setup['owner']['id'])
        print roles['roles']
        self.assertEqual(len(roles['roles']), 0)
Пример #2
0
    def test_cancel_user_invite(self):
        """Test canceling of a user invite."""
        project_setup = self.create_project_and_owner(username_is_email=True)

        new_email = "*****@*****.**"
        new_password = uuid4().hex

        auth = {
            "name": project_setup['owner']['username'],
            "password": project_setup['owner']['password'],
            "project_id": project_setup['project']['id'],
            "url": self.identity_utils.identity_client.base_url,
        }

        api.user_invite(
            auth,
            {"username": new_email, "email": new_email, "roles": ["Member"]}
        )

        tasks = api.get_tasks(auth, {}).json()

        api.user_revoke(
            auth,
            tasks['tasks'][0]['uuid']
        )

        auth['user_token'] = self.identity_utils.identity_client.token

        tokens = api.get_tokens(
            auth,
            {},
            {'task_id': {"exact": tasks['tasks'][0]['uuid']}}
        ).json()

        token = tokens['tokens'][0]['token']

        response = api.token_submit(auth, token, {"password": new_password})
        self.assertEqual(response.status_code, 400)
        self.assertEqual(
            response.json(), {u'errors': [u'This task has been cancelled.']})