Schedules: Emulate HTTP request needs to include host information

This commit is contained in:
Nimisha Asthagiri
2017-12-03 21:46:22 -05:00
parent fab7f31a55
commit 61f4ceca5b
6 changed files with 89 additions and 24 deletions

View File

@@ -1,8 +1,9 @@
from contextlib import contextmanager
from crum import CurrentRequestUserMiddleware
from django.http import HttpRequest, HttpResponse
from openedx.core.djangoapps.theming.middleware import CurrentSiteThemeMiddleware
from django.http import HttpResponse
from request_cache import get_request_or_stub
@contextmanager
@@ -24,9 +25,9 @@ def emulate_http_request(site=None, user=None, middleware_classes=None):
middleware_classes (list): A list of classes that implement Django's middleware interface.
Defaults to [CurrentRequestUserMiddleware, CurrentSiteThemeMiddleware] if None.
"""
request = HttpRequest()
request.user = user
request = get_request_or_stub()
request.site = site
request.user = user
# TODO: define the default middleware_classes in settings.py
middleware_classes = middleware_classes or [