ユーザーが特定のスコープへのアクセスを許可すると、アプリケーションが何かを実行できる 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に行こうとしていますが、それでもまだ成功していません...
ありがとう!