Django测试用户密码

时间:2015-10-30 13:38:10

标签: django

我编写了一个用于更新用户密码的REST API。由于不可能取消django存储的密码,除了断言响应status_code之外,我怎么想测试我的API?

2 个答案:

答案 0 :(得分:4)

您可以使用password检查用户的User.check_password(password_to_check)。如果return True正确,则会password。 (见文件here

请注意,如果您在单元测试中创建了一个用户,然后为该用户更改了password,则需要更新用户参考,然后才能看到新的password,如下所示:

// create self.user 
// change the password to "newpassword"
self.user = User.objects.get(username="username")  # get user again so that you can see updated password
self.assertEquals(self.user.check_password("newpassword"), True)

答案 1 :(得分:0)

我要做的是在test_password_update测试中创建以下断言:

    1. 用户登录
    1. 密码更新
    1. 用户登录

如果用户能够在密码更新后登录,那么您就可以安全地使用API​​了。