예제 #1
0
    def test_update_project1_user_default_project_by_cloud_admin(self):
        testuser = '******'.format(base.id_generator())

        with self.create_user_and_cleanup(
                self.project1,
                testuser,
                self.project_member_role,
        ) as user:
            self.admin.users.update(user, default_project=self.project2)
            user = self.admin.users.get(user)
            self.assertEqual(user.default_project_id, self.project2.id)
    def test_create_project1_user_by_project1_admin(self):
        testuser = '******'.format(base.id_generator())

        with self.create_user_by_cli(
                self.project1,
                testuser,
                self.project_member_role,
                self.project1_admin,
                self.project1,
        ) as output:
            self.assertEqual(testuser, output['name'])
    def test_create_project2_user_by_project1_admin(self):
        testuser = '******'.format(base.id_generator())

        try:
            with self.create_user_by_cli(
                    self.project2,
                    testuser,
                    self.project_member_role,
                    self.project1_admin,
                    self.project1,
            ) as output:
                self.fail("project admin must not be permitted to create user")
        except subprocess.CalledProcessError as e:
            self.assertRegex(e.output.decode('utf-8'), 'HTTP 403')
예제 #4
0
    def test_update_project1_user_password_by_project1_admin(self):
        testuser = '******'.format(base.id_generator())
        expected_password = testuser

        with self.create_user_and_cleanup(
                self.project1,
                testuser,
                self.project_member_role,
        ) as user:
            self.update_user(
                user,
                run_user=self.project1_admin,
                run_user_project=self.project1,
                command=['--password', expected_password],
            )
    def test_delete_project1_user_by_project1_admin(self):
        testuser = '******'.format(base.id_generator())

        with self.create_user_and_cleanup(
                self.project1,
                testuser,
                self.project_member_role,
        ) as user:
            self.delete_user_by_cli(
                self.project1,
                user,
                self.project_member_role,
                self.project1_admin,
                self.project1,
            )
예제 #6
0
    def test_update_project1_user_email_by_project1_admin(self):
        testuser = '******'.format(base.id_generator())
        expected_email_address = "{}@example.com".format(testuser)

        with self.create_user_and_cleanup(
                self.project1,
                testuser,
                self.project_member_role,
        ) as user:
            self.update_user(
                user,
                run_user=self.project1_admin,
                run_user_project=self.project1,
                command=['--email', expected_email_address],
            )
            user = self.admin.users.get(user)
            self.assertEqual(user.email, expected_email_address)
예제 #7
0
    def test_update_project1_user_default_project_by_project1_admin(self):
        testuser = '******'.format(base.id_generator())

        try:
            with self.create_user_and_cleanup(
                    self.project1,
                    testuser,
                    self.project_member_role,
            ) as user:
                self.update_user(
                    user,
                    run_user=self.project1_admin,
                    run_user_project=self.project1,
                    command=['--project', self.project2.id],
                    update_project=True,
                )
                self.fail(
                    "project admin must not be permitted to update user's project"
                )
        except subprocess.CalledProcessError as e:
            self.assertRegex(e.output.decode('utf-8'), 'HTTP 403')
예제 #8
0
    def test_update_project1_user_default_project_by_project1_user(self):
        testuser = '******'.format(base.id_generator())
        expected_email_address = "{}@example.com".format(testuser)

        try:
            with self.create_user_and_cleanup(
                    self.project1,
                    testuser,
                    self.project_member_role,
            ) as user:
                self.update_user(
                    user,
                    run_user=self.project1_user0,
                    run_user_project=self.project1,
                    command=['--email', expected_email_address],
                )
                self.fail(
                    "project admin must not be permitted to update user's email"
                )
        except subprocess.CalledProcessError as e:
            self.assertRegex(e.output.decode('utf-8'), 'HTTP 403')