【发布时间】:2021-04-21 14:10:19
【问题描述】:
我已经构建了我的 api,以便只有超级用户可以删除帐户。我试图在我的单元测试中强制验证超级用户,但我遇到了问题。
单元测试:
class PrivateUserApiTests(TestCase):
"""Test the users API (private)"""
def setUp(self):
self.user = create_user(
email='tes111t@test.com',
password='test123',
name='name',
)
self.user.is_superuser = True
self.client = APIClient()
self.client.force_authenticate(user=self.user)
def test_user_successful_delete(self):
"""Test that user was succesfully deleted"""
payload = {'email': 'test@test123.com', 'password': 'test123'}
user = create_user(**payload)
res = self.client.delete(reverse('user:delete_user', kwargs={'pk': user.id}))
self.assertEqual(res.status_code, status.HTTP_204_NO_CONTENT)
错误:
Traceback (most recent call last):
File "/app/user/tests/test_user_api.py", line 152, in test_user_successful_delete
self.assertEqual(res.status_code, status.HTTP_204_NO_CONTENT)
AssertionError: 403 != 204
我使用force_authenticate() 方法是不是错了?如何创建超级用户
【问题讨论】:
标签: python django unit-testing django-rest-framework