def test_register(self): response = self.login(username_or_email='bitson', password='******') user_role_id = UserRole.get_max_id() # Para no aumentar la secuencia # de las relaciones por demás sin sentido. self.token = response.json['data']['token'] url = url_for('auth.register', _external=True) data = { 'username': '******', 'email': '*****@*****.**', 'password': '******', 'role': 'user' } response = self.client.post( url, content_type=self.JSON, headers=self.set_api_headers(token=self.token), data=json.dumps(data)) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 201) self.assertIsNotNone(response.json['data']['token']) self.assertIsNotNone(response.json['data']['confirm_email_url']) self.assertIsNotNone(response.json['data']['expiration']) self.assertIsNotNone(User.get_by(username=data['username'])) user = User.get_by(username=data['username']) UserRole.set_sequence_value(value=user_role_id) User.remove_fake(item=user)
def test_delete_user(self): self.login() user = self.create_user(name='leito') url = url_for('auth.delete_user', item_id=user.id, _external=True) response = self.client.delete( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token), ) self.assertEqual(response.status_code, 204) User.remove_fake(item=user)
def test_deactivate_user(self): self.login() user = self.create_user(name='leito') url = url_for('auth.deactivate_user', item_id=user.id, _external=True) response = self.client.put( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.json['data']['message']) User.remove_fake(item=user)
def test_change_username_no_username(self): user = self.create_user(name='leito') self.login() url = url_for('auth.change_username', item_id=user.id, _external=True) data = {} response = self.client.put( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token, ), data=json.dumps(data), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 400) self.assertTrue(response.json['error'] == 'bad request') User.remove_fake(item=user)
def test_change_email(self): user = User.get_by(id=1) user_to_confirm = self.create_user(name='leito') user_to_confirm.set_not_confirmed() token = user.generate_email_change_token(user_to_confirm.email, 3600) url = url_for('auth.change_email', email_token=token, _external=True) response = self.client.get( url, content_type=self.JSON, headers=self.set_api_headers(), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.json['data']['message']) User.remove_fake(item=user_to_confirm)
def test_change_username(self): user = self.create_user(name='leito') self.login() url = url_for('auth.change_username', item_id=user.id, _external=True) data = {'username': "".join([user.username, '_edited'])} response = self.client.put( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token, ), data=json.dumps(data), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.json['data']['message']) User.remove_fake(item=user)
def test_add_role_to_user_invalid_role_name(self): user = self.create_user(name='leito') role = 'invalid_role' self.login() url = url_for('auth.add_role_to_user', item_id=user.id, role_name=role, _external=True) response = self.client.post( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token, ), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 404) self.assertTrue(response.json['error'] == 'not found') User.remove_fake(item=user)
def test_remove_role_from_user_with_one_role(self): self.login() user = self.create_user(name='leito') role = user.list_roles_names()[0] url = url_for('auth.remove_role_from_user', item_id=user.id, role_name=role, _external=True) response = self.client.delete( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token, ), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 400) self.assertTrue(response.json['error'] == 'bad request') User.remove_fake(item=user)
def test_remove_role_from_user(self): user = self.create_user(name='leito') role = Role.create_with_role_group_name(name='test', description='Test', role_group_name='user') user.add_role(role_name='test') self.login() url = url_for('auth.remove_role_from_user', item_id=user.id, role_name=role.name, _external=True) response = self.client.delete( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token, ), ) self.assertEqual(response.status_code, 204) User.remove_fake(item=user) Role.remove_fake(item=role)
def test_add_role_to_user(self): user = self.create_user(name='leito') role = Role.create_with_role_group_name(name='test', description='Test', role_group_name='user') self.login() url = url_for('auth.add_role_to_user', item_id=user.id, role_name=role.name, _external=True) response = self.client.post( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token, ), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 201) self.assertIsNotNone(response.json['data']['message']) User.remove_fake(item=user) Role.remove_fake(item=role)
def test_remove_role_from_user_doesnt_have_role(self): self.login() user = self.create_user(name='leito') role = Role.create_with_role_group_name(name='test', description='Test', role_group_name='user') url = url_for('auth.remove_role_from_user', item_id=user.id, role_name=role.name, _external=True) response = self.client.delete( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token, ), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 400) self.assertTrue(response.json['error'] == 'bad request') User.remove_fake(item=user) Role.remove_fake(item=role)