Я пытаюсь выяснить, как протестировать промежуточное ПО в django.Промежуточное программное обеспечение, которое я пишу, регистрирует пользователя при определенных условиях (если ключ, отправленный по электронной почте, действителен).Очевидно, что я зависим от django.contrib.auth
и django.contrib.sessions
.
У меня проблемы с проверкой части входа в систему.Я делаю запрос, как это:
user = User.objects.create_user('user', 'user@example.org', 'password')
key = LoginKey.objects.create(user=user)
request = self.factory.get('/', data={'auth_key': key.hash}) # self.factory is a RequestFactory()
self.middleware.process_request(request) # self.middleware is MyMiddleware()
Это не удается из-за не установлен сеанса.Итак, я написал небольшой фрагмент в своем тестовом классе:
def make_session(self, request):
SessionMiddleware().process_request(request)
, и это не удалось из-за 'User' object has no attribute 'backend'
.Я не уверен в смысле этого, но подозреваю, что мне нужно запустить все промежуточное программное обеспечение, которое я установил.
На самом деле я не хочу выдумывать для этого просто запуск промежуточного программного обеспечения, но я пока не вижу другого варианта.
Так что я просто хотел знатьПрежде чем я буду преследовать этого кролика до самого конца, есть ли способ сделать это, не требуя такого большого количества клейкой ленты?