예제 #1
0
    def test_create_user_with_bad_projects(self):
        client = self.fake_client_set
        (name, email, passw) = ('user-a', '*****@*****.**', 'bananas')

        client.identity_admin.users.list().AndReturn([self.user])
        client.identity_admin.users.create(name=name,
                                           password=passw,
                                           email=email,
                                           enabled=True).AndReturn('new-user')
        users.member_role_id().AndReturn('member-role')
        client.identity_admin.roles.add_user_role(
            user='******', role='member-role', tenant='PID1') \
                .AndRaise(osc_exc.NotFound('failure'))

        self.mox.ReplayAll()

        data = self._interact(expected_status_code=400,
                              data={
                                  "name": name,
                                  "email": email,
                                  "password": passw,
                                  "projects": ['PID1', 'PID2'],
                                  "admin": False,
                              })
        self.assertEquals('projects', data.get('element-name'))
        self.assertEquals('PID1', data.get('element-value'))
예제 #2
0
    def test_create_user_with_projects(self):
        client = self.fake_client_set
        (name, email, passw) = ('user-a', '*****@*****.**', 'bananas')

        client.identity_admin.users.list().AndReturn([self.user])
        client.identity_admin.users.create(name=name,
                                           password=passw,
                                           email=email,
                                           enabled=True).AndReturn('new-user')
        users.member_role_id().AndReturn('member-role')
        client.identity_admin.roles.add_user_role(user='******',
                                                  role='member-role',
                                                  tenant='PID1')
        client.identity_admin.roles.add_user_role(user='******',
                                                  role='member-role',
                                                  tenant='PID2')
        users.user_to_view('new-user').AndReturn('new-user-dict')
        self.mox.ReplayAll()

        data = self._interact({
            "name": name,
            "email": email,
            "password": passw,
            "projects": ['PID1', 'PID2'],
            "admin": False,
        })
        self.assertEquals(data, 'new-user-dict')
예제 #3
0
def add_project_user(project_id):
    user_id = parse_request_data(required=_SCHEMA.required)['id']
    tenant = get_tenant(project_id)
    user = _get_user(user_id)
    set_audit_resource_id(user_id)

    try:
        tenant.add_user(user.id, member_role_id())
    except osc_exc.NotFound:
        user = _get_user(user_id)  # check that user still exists
        abort(404)  # if user still exists, tenant was removed

    return make_json_response(link_for_user(user))
예제 #4
0
def add_project_user(project_id):
    user_id = parse_request_data(required=_SCHEMA.required)['id']
    tenant = get_tenant(project_id)
    user = _get_user(user_id)
    set_audit_resource_id(user_id)

    try:
        tenant.add_user(user.id, member_role_id())
    except osc_exc.NotFound:
        user = _get_user(user_id)  # check that user still exists
        abort(404)  # if user still exists, tenant was removed

    return make_json_response(link_for_user(user))
예제 #5
0
    def test_create_user_with_bad_projects(self):
        client = self.fake_client_set
        (name, email, passw) = ('user-a', '*****@*****.**', 'bananas')

        client.identity_admin.users.list().AndReturn([self.user])
        client.identity_admin.users.create(
            name=name, password=passw, email=email,
            enabled=True).AndReturn('new-user')
        users.member_role_id().AndReturn('member-role')
        client.identity_admin.roles.add_user_role(
            user='******', role='member-role', tenant='PID1') \
                .AndRaise(osc_exc.NotFound('failure'))

        self.mox.ReplayAll()

        data = self._interact(expected_status_code=400, data={
            "name": name,
            "email": email,
            "password": passw,
            "projects": ['PID1', 'PID2'],
            "admin": False,
        })
        self.assertEquals('projects', data.get('element-name'))
        self.assertEquals('PID1', data.get('element-value'))
예제 #6
0
    def test_create_user_with_projects(self):
        client = self.fake_client_set
        (name, email, passw) = ('user-a', '*****@*****.**', 'bananas')

        client.identity_admin.users.list().AndReturn([self.user])
        client.identity_admin.users.create(
            name=name, password=passw, email=email,
            enabled=True).AndReturn('new-user')
        users.member_role_id().AndReturn('member-role')
        client.identity_admin.roles.add_user_role(
            user='******', role='member-role', tenant='PID1')
        client.identity_admin.roles.add_user_role(
            user='******', role='member-role', tenant='PID2')
        users.user_to_view('new-user').AndReturn('new-user-dict')
        self.mox.ReplayAll()

        data = self._interact({
            "name": name,
            "email": email,
            "password": passw,
            "projects": ['PID1', 'PID2'],
            "admin": False,
        })
        self.assertEquals(data, 'new-user-dict')