Example #1
0
    def create_user(self, role: str=entities.AdminCredentials.default_role, email_domain: str='example.com',
                    with_client: bool=False, **kwargs):
        """
        Create admin backend user.

        :param str role: user role.
        :param str email_domain: user email domain.
        :param bool with_client: return third item as admin backend cliend authorized as created user.
        :param dict kwargs: kwargs passed to entity generation function.
        :return tuple: user_info, user credentials if not with_client, else user_info, user credentials, client
        """
        self.addCleanupDelete('user')
        if 'email' not in kwargs:
            kwargs['email'] = self.generate_email(email_domain)
        credentials = entities.AdminCredentials(self).generate(role=role, **kwargs)
        user_info = self.default_admin_client.user.create(**credentials)
        if not with_client:
            return user_info, credentials
        else:
            client = self.get_admin_client(email=credentials['email'], password=credentials['password'])
            return user_info, credentials, client
Example #2
0
    def test_role_creation_equal(self):
        _, _, account_client = self.create_user('account', with_client=True)

        with self.assertRaisesHTTPError(405):
            account_client.user.create(
                **entities.AdminCredentials(self).generate(role='account'))
 def test_user_update_admin(self):
     user_info, _, user_client = self.create_user(with_client=True)
     info = {'name': entities.AdminCredentials(self).basic_name(),
             'password': entities.AdminCredentials(self).generate_password(),
             'user_id': user_info['user_id']}
     self.check_api_method(user_client.user.update, ['password', 'name'], info)
 def test_user_creation_email(self):
     self.addCleanupDelete('user')
     info = entities.AdminCredentials(self).generate()
     self.check_api_method(self.admin_client.user.create, ['email'], info,
                           self.generate_big_string() + '@example.com')
 def test_user_creation(self):
     self.addCleanupDelete('user')
     info = entities.AdminCredentials(self).generate()
     self.check_api_method(self.admin_client.user.create, ['password', 'name'], info)