|
3 | 3 | from __future__ import with_statement
|
4 | 4 |
|
5 | 5 | import os
|
| 6 | +import warnings |
| 7 | +from contextlib import contextmanager |
6 | 8 | from functools import partial
|
7 | 9 |
|
8 | 10 | import pytest
|
9 | 11 |
|
10 |
| -from contextlib import contextmanager |
11 |
| - |
12 | 12 | from . import live_server_helper
|
13 |
| - |
14 | 13 | from .django_compat import is_django_unittest
|
15 |
| - |
16 | 14 | from .lazy_django import skip_if_no_django
|
17 | 15 |
|
18 | 16 | __all__ = [
|
@@ -105,14 +103,14 @@ def django_db_setup(
|
105 | 103 |
|
106 | 104 | with django_db_blocker.unblock():
|
107 | 105 | db_cfg = setup_databases(
|
108 |
| - verbosity=pytest.config.option.verbose, |
| 106 | + verbosity=request.config.option.verbose, |
109 | 107 | interactive=False,
|
110 | 108 | **setup_databases_args
|
111 | 109 | )
|
112 | 110 |
|
113 | 111 | def teardown_database():
|
114 | 112 | with django_db_blocker.unblock():
|
115 |
| - teardown_databases(db_cfg, verbosity=pytest.config.option.verbose) |
| 113 | + teardown_databases(db_cfg, verbosity=request.config.option.verbose) |
116 | 114 |
|
117 | 115 | if not django_db_keepdb:
|
118 | 116 | request.addfinalizer(teardown_database)
|
@@ -254,15 +252,16 @@ def admin_user(db, django_user_model, django_username_field):
|
254 | 252 | """
|
255 | 253 | UserModel = django_user_model
|
256 | 254 | username_field = django_username_field
|
| 255 | + username = "[email protected]" if username_field == "email" else "admin" |
257 | 256 |
|
258 | 257 | try:
|
259 |
| - user = UserModel._default_manager.get(**{username_field: "admin"}) |
| 258 | + user = UserModel._default_manager.get(**{username_field: username}) |
260 | 259 | except UserModel.DoesNotExist:
|
261 | 260 | extra_fields = {}
|
262 |
| - if username_field != "username": |
| 261 | + if username_field not in ("username", "email"): |
263 | 262 | extra_fields[username_field] = "admin"
|
264 | 263 | user = UserModel._default_manager.create_superuser(
|
265 |
| - "admin", "[email protected]", "password", **extra_fields |
| 264 | + username, "[email protected]", "password", **extra_fields |
266 | 265 | )
|
267 | 266 | return user
|
268 | 267 |
|
@@ -362,11 +361,10 @@ def live_server(request):
|
362 | 361 | if django.VERSION >= (1, 11):
|
363 | 362 | ports = addr.split(":")[1]
|
364 | 363 | if "-" in ports or "," in ports:
|
365 |
| - request.config.warn( |
366 |
| - "D001", |
| 364 | + warnings.warn( |
367 | 365 | "Specifying multiple live server ports is not supported "
|
368 | 366 | "in Django 1.11. This will be an error in a future "
|
369 |
| - "pytest-django release.", |
| 367 | + "pytest-django release." |
370 | 368 | )
|
371 | 369 |
|
372 | 370 | if not addr:
|
|
0 commit comments