2015-10-30 66 views
1

我已经编写了一个用于更新用户密码的REST API。由于不可能取消由django存储的密码,我想除了声明响应status_code之外还要测试API吗?Django测试用户密码

+2

您可以测试它是否有效(状态码),并且您可以使用新密码登录。 – mpcabd

+0

...您可以使用新密码登录,并且无法使用旧密码登录 –

回答

2

您可以用User.check_password(password_to_check)检查用户的password。如果password正确,这将为return True。 (见文档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) 
0

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

    1. 用户登录
  • 密码更新
    1. user l ogin

如果用户能够密码更新后登录,那么你是安全的,API正常工作。