私はいくつかの外部サービスを持っています。私の Django アプリは、外部サービス API の上に構築されています。外部サービスと通信するには、認証 Cookie を渡す必要があります。これは、読み取りによって取得できますUser
(その Cookie != django Cookie)。
のようなテスト ツールを使用するwebtests
と、requests
テストを書くのに苦労します。
class MyTestCase(WebTest):
def test_my_view(self):
#client = Client()
#response = client.get(reverse('create')).form
form = self.app.get(reverse('create'), user='dummy').form
print form.fields.values()
form['name'] = 'omghell0'
print form
response = form.submit()
たとえば、外部サービスでユーザーを作成するフォームを送信する必要があります。しかし、それを行うには、通常はパスインしますrequest.user
(外部サービスに対する権限を認証するため)。しかし、私は持っていませんrequest.user
。
この種のものにはどのようなオプションがありますか?
ありがとう...
これが私のtests.pyだとします
import unittest
from django.test.client import Client
from django.core.urlresolvers import reverse
from django_webtest import WebTest
from django.contrib.auth.models import User
class SimpleTest(unittest.TestCase):
def setUp(self):
self.usr = User.objects.get(username='dummy')
print self.usr
.......
私は得る
Traceback (most recent call last):
File "/var/lib/graphyte-webclient/webclient/apps/codebundles/tests.py", line 10, in setUp
self.usr = User.objects.get(username='dummy')
File "/var/lib/graphyte-webclient/graphyte-webenv/lib/python2.6/site-packages/django/db/models/manager.py", line 132, in get
return self.get_query_set().get(*args, **kwargs)
File "/var/lib/graphyte-webclient/graphyte-webenv/lib/python2.6/site-packages/django/db/models/query.py", line 341, in get
% self.model._meta.object_name)
DoesNotExist: User matching query does not exist
しかし、私がビューでテストすればUser.objects
、私は大丈夫です。