コード例 #1
0
ファイル: users_ssh_keys.py プロジェクト: altai/altai-api
def get_users_ssh_key(user_id, key_name):
    if not g.is_admin:
        fetch_user(user_id, False)  # check that user is visible
    try:
        mgr = auth.admin_client_set().compute_ext.user_keypairs
        keypair = mgr.get(user_id, key_name)
    except osc_exc.NotFound:
        abort(404)
    return make_json_response(keypair_to_view(keypair))
コード例 #2
0
ファイル: users_ssh_keys.py プロジェクト: altai/altai-api
def get_users_ssh_key(user_id, key_name):
    if not g.is_admin:
        fetch_user(user_id, False)  # check that user is visible
    try:
        mgr = auth.admin_client_set().compute_ext.user_keypairs
        keypair = mgr.get(user_id, key_name)
    except osc_exc.NotFound:
        abort(404)
    return make_json_response(keypair_to_view(keypair))
コード例 #3
0
ファイル: users_ssh_keys.py プロジェクト: altai/altai-api
def list_users_ssh_keys(user_id):
    parse_collection_request(_SCHEMA)
    fetch_user(user_id, g.is_admin)  # check that user exists and is visible

    mgr = auth.admin_client_set().compute_ext.user_keypairs
    result = [keypair_to_view(keypair) for keypair in mgr.list(user_id)]

    parent_href = url_for('users.get_user', user_id=user_id)
    return make_collection_response('ssh-keys', result,
                                    parent_href=parent_href)
コード例 #4
0
ファイル: users_ssh_keys.py プロジェクト: altai/altai-api
def list_users_ssh_keys(user_id):
    parse_collection_request(_SCHEMA)
    fetch_user(user_id, g.is_admin)  # check that user exists and is visible

    mgr = auth.admin_client_set().compute_ext.user_keypairs
    result = [keypair_to_view(keypair) for keypair in mgr.list(user_id)]

    parent_href = url_for('users.get_user', user_id=user_id)
    return make_collection_response('ssh-keys',
                                    result,
                                    parent_href=parent_href)
コード例 #5
0
ファイル: users_ssh_keys.py プロジェクト: altai/altai-api
def create_users_ssh_key(user_id):
    data = parse_request_data(required=_SCHEMA.required)

    if user_id != auth.current_user_id():
        auth.assert_admin()
    fetch_user(user_id, g.is_admin)  # check that user exists and is visible

    mgr = auth.admin_client_set().compute_ext.user_keypairs
    try:
        kp = mgr.create(user_id, data['name'], data['public-key'])
    except osc_exc.BadRequest, e:
        raise exc.InvalidRequest(str(e))
コード例 #6
0
ファイル: users_ssh_keys.py プロジェクト: altai/altai-api
def create_users_ssh_key(user_id):
    data = parse_request_data(required=_SCHEMA.required)

    if user_id != auth.current_user_id():
        auth.assert_admin()
    fetch_user(user_id, g.is_admin)  # check that user exists and is visible

    mgr = auth.admin_client_set().compute_ext.user_keypairs
    try:
        kp = mgr.create(user_id, data['name'], data['public-key'])
    except osc_exc.BadRequest, e:
        raise exc.InvalidRequest(str(e))
コード例 #7
0
    def test_update_self(self):
        users.fetch_user(self.user.id, False).AndReturn(self.user)
        self.fake_client_set.identity_admin \
                    .users.update(self.user, name=self.name) \
                    .AndReturn('new-user')

        users.fetch_user(self.user.id, False).AndReturn('new-user')
        users.user_to_view('new-user').AndReturn('new-user-dict')
        self.mox.ReplayAll()

        post_params = { "name": self.name }
        rv = self.client.put('/v1/users/%s' % self.user.id,
                              data=json.dumps(post_params),
                              content_type='application/json')
        data = self.check_and_parse_response(rv)
        self.assertEquals(data, 'new-user-dict')
コード例 #8
0
    def test_update_self(self):
        users.fetch_user(self.user.id, False).AndReturn(self.user)
        self.fake_client_set.identity_admin \
                    .users.update(self.user, name=self.name) \
                    .AndReturn('new-user')

        users.fetch_user(self.user.id, False).AndReturn('new-user')
        users.user_to_view('new-user').AndReturn('new-user-dict')
        self.mox.ReplayAll()

        post_params = {"name": self.name}
        rv = self.client.put('/v1/users/%s' % self.user.id,
                             data=json.dumps(post_params),
                             content_type='application/json')
        data = self.check_and_parse_response(rv)
        self.assertEquals(data, 'new-user-dict')
コード例 #9
0
    def test_fetch_self(self):
        users.auth.admin_client_set().AndReturn(self.admin_cs)
        self.admin_cs.identity_admin.users.get('UID').AndReturn(self.user)
        users.auth.current_user_id().AndReturn('UID')

        self.mox.ReplayAll()
        with self.app.test_request_context():
            self.install_fake_auth()
            user = users.fetch_user('UID', False)
        self.assertEquals(user, self.user)
コード例 #10
0
    def test_fetch_self(self):
        users.auth.admin_client_set().AndReturn(self.admin_cs)
        self.admin_cs.identity_admin.users.get('UID').AndReturn(self.user)
        users.auth.current_user_id().AndReturn('UID')

        self.mox.ReplayAll()
        with self.app.test_request_context():
            self.install_fake_auth()
            user = users.fetch_user('UID', False)
        self.assertEquals(user, self.user)
コード例 #11
0
def apply_password_reset(code):
    if not g.config('password-reset', 'enabled'):
        abort(404)
    data = parse_request_data(required=_APPLY_SCHEMA)
    token = ResetTokensDAO.get(code)
    if not token or token.complete:
        abort(404)
    user = fetch_user(token.user_id, admin_mode=True)
    update_user_data(user, data)
    ResetTokensDAO.complete_for_user(token.user_id)
    return make_json_response(None, status_code=204)
コード例 #12
0
ファイル: me.py プロジェクト: altai/altai-api
def apply_password_reset(code):
    if not g.config('password-reset', 'enabled'):
        abort(404)
    data = parse_request_data(required=_APPLY_SCHEMA)
    token = ResetTokensDAO.get(code)
    if not token or token.complete:
        abort(404)
    user = fetch_user(token.user_id, admin_mode=True)
    update_user_data(user, data)
    ResetTokensDAO.complete_for_user(token.user_id)
    return make_json_response(None, status_code=204)
コード例 #13
0
    def test_fetch_user_as_user(self):
        users.auth.admin_client_set().AndReturn(self.admin_cs)
        self.admin_cs.identity_admin.users.get('UID').AndReturn(self.user)
        users.auth.current_user_id().AndReturn('ME')
        self.user.list_roles().AndReturn([self.role])
        users.auth.current_user_project_ids().AndReturn(['PID', 'PID2'])

        self.mox.ReplayAll()
        with self.app.test_request_context():
            self.install_fake_auth()
            user = users.fetch_user('UID', False)
        self.assertEquals(user, self.user)
コード例 #14
0
    def test_fetch_user_as_user(self):
        users.auth.admin_client_set().AndReturn(self.admin_cs)
        self.admin_cs.identity_admin.users.get('UID').AndReturn(self.user)
        users.auth.current_user_id().AndReturn('ME')
        self.user.list_roles().AndReturn([self.role])
        users.auth.current_user_project_ids().AndReturn(['PID', 'PID2'])

        self.mox.ReplayAll()
        with self.app.test_request_context():
            self.install_fake_auth()
            user = users.fetch_user('UID', False)
        self.assertEquals(user, self.user)