我有一个 oauth 流程,其中用户授予对某个范围的访问权限,然后我的应用程序可以做一些事情。为此,我需要一个具有定义范围的访问令牌。我实现了这个(使用 django allauth 包)并且效果很好。但是...我想测试一下。这是我到目前为止所拥有的(请求包就像类固醇上的 urllib):
login = self.client.login(username='test_user', password='test')
self.assertTrue(login)
resp = self.client.post(reverse('oauth_login'))
self.assertEqual(resp.status_code, 302)
payload = {'session_key': 'email', 'session_password': 'pw', }
resp2 = requests.post(resp['location'], data=payload)
resp3 = self.client.get(reverse('do_stuff_with_access_token'))
self.assertEqual(resp.status_code, 302)
这里的问题是我没有在我的请求变量中获得访问令牌。我的猜测是我超出了应用程序的范围,而 Django 没有在其请求范围内获取变量。
您如何以优雅的方式对此进行测试?模拟 access_token 对我来说似乎有点不对劲。我现在正试图去 Selenium 填写表格,但到目前为止,即使这样也不是真正的成功......
谢谢!