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
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)