(
self,
user=None,
auth=None,
method="get",
is_superuser=False,
is_staff=False,
path="/",
secure_scheme=False,
subdomain=None,
*,
GET: dict[str, str] | None = None,
)
| 274 | self.client.cookies[name].update({k.replace("_", "-"): v for k, v in params.items()}) |
| 275 | |
| 276 | def make_request( |
| 277 | self, |
| 278 | user=None, |
| 279 | auth=None, |
| 280 | method="get", |
| 281 | is_superuser=False, |
| 282 | is_staff=False, |
| 283 | path="/", |
| 284 | secure_scheme=False, |
| 285 | subdomain=None, |
| 286 | *, |
| 287 | GET: dict[str, str] | None = None, |
| 288 | ) -> HttpRequest: |
| 289 | request = getattr(RequestFactory(), method.lower())(path, query_params=GET) |
| 290 | if subdomain: |
| 291 | setattr(request, "subdomain", subdomain) |
| 292 | request.META["REMOTE_ADDR"] = "127.0.0.1" |
| 293 | request.META["SERVER_NAME"] = "testserver" |
| 294 | request.META["SERVER_PORT"] = 80 |
| 295 | if secure_scheme: |
| 296 | assert settings.SECURE_PROXY_SSL_HEADER is not None |
| 297 | secure_header = settings.SECURE_PROXY_SSL_HEADER |
| 298 | request.META[secure_header[0]] = secure_header[1] |
| 299 | |
| 300 | # order matters here, session -> user -> other things |
| 301 | request.session = self.session |
| 302 | request.auth = auth |
| 303 | request.user = user or AnonymousUser() |
| 304 | # must happen after request.user/request.session is populated |
| 305 | request.superuser = Superuser(request) |
| 306 | request.staff = Staff(request) |
| 307 | if is_superuser: |
| 308 | # XXX: this is gross, but it's a one-off and apis change only once in a great while |
| 309 | request.superuser.set_logged_in(user) |
| 310 | |
| 311 | if is_staff: |
| 312 | request.staff.set_logged_in(user) |
| 313 | request.successful_authenticator = None |
| 314 | return request |
| 315 | |
| 316 | # TODO(dcramer): ideally superuser_sso would be False by default, but that would require |
| 317 | # a lot of tests changing |
no test coverage detected