2

python-social-authを使用している Django アプリの単体テストを書きたいと思います。Django を実行してブラウザーを使用すると、すべてうまく機能します。python-social-auth に感謝します!

ただし、テスト用の認証済みクライアントを作成できないため、単体テストを作成できないようです。

成功した人はいますか?
認証された client() をどのように取得しましたか?

私はこれを試しました(ログインは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) 
4

2 に答える 2

6

とった:

私の間違いは、クライアントがどのように認証されたかが重要であると考えていたことです。ビュー/エンドポイントの 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)
于 2013-11-11T19:24:57.133 に答える