我想为我正在使用的 Django 应用程序编写单元测试python-社交-身份验证。
运行 Django 并使用浏览器时一切都很好,感谢 python-social-auth!
但是,我似乎无法编写单元测试,因为我无法创建经过身份验证的客户端来进行测试。
有人这样做成功吗?
您如何获得经过身份验证的客户端()?
我已经尝试过(登录返回 false 并且不起作用):
self.c = Client()
self.u = User.objects.create(username="testuser", password="password", is_staff=True, is_active=True, is_superuser=True)
self.u.save()
self.auth = UserSocialAuth(user=self.u, provider="Facebook")
self.auth.save()
self.c.login(username=self.u.username, password=self.u.password)
Got it:
我的错误是认为客户端如何进行身份验证很重要,对于单元测试,视图/端点 oauth 实际上根本不需要发挥作用。
这对我有用:
self.user = User.objects.create(username='testuser', password='12345', is_active=True, is_staff=True, is_superuser=True)
self.user.set_password('hello')
self.user.save()
self.user = authenticate(username='testuser', password='hello')
login = self.c.login(username='testuser', password='hello')
self.assertTrue(login)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)