У меня есть некоторые внешние услуги.Мое приложение Django построено поверх моих API внешних сервисов.Чтобы поговорить с моей внешней службой, я должен передать аутентичные куки, которые я могу получить, прочитав User
(этот куки! = Куки django).
Используя инструменты тестирования, такие как 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
в представлениях, я в порядке.