File tree Expand file tree Collapse file tree 4 files changed +20
-3
lines changed Expand file tree Collapse file tree 4 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -229,6 +229,16 @@ command line options.
229229
230230This fixture is by default requested from :fixture: `django_db_setup `.
231231
232+ django_db_createdb
233+ """"""""""""""""""
234+
235+ .. fixture :: django_db_createdb
236+
237+ Returns whether or not the database is to be re-created before running any
238+ tests.
239+
240+ This fixture is by default requested from :fixture: `django_db_setup `.
241+
232242django_db_blocker
233243"""""""""""""""""
234244
Original file line number Diff line number Diff line change @@ -61,8 +61,12 @@ def django_db_use_migrations(request):
6161
6262@pytest .fixture (scope = 'session' )
6363def django_db_keepdb (request ):
64- return (request .config .getvalue ('reuse_db' ) and not
65- request .config .getvalue ('create_db' ))
64+ return request .config .getvalue ('reuse_db' )
65+
66+
67+ @pytest .fixture (scope = 'session' )
68+ def django_db_createdb (request ):
69+ return request .config .getvalue ('create_db' )
6670
6771
6872@pytest .fixture (scope = 'session' )
@@ -72,6 +76,7 @@ def django_db_setup(
7276 django_db_blocker ,
7377 django_db_use_migrations ,
7478 django_db_keepdb ,
79+ django_db_createdb ,
7580 django_db_modify_db_settings ,
7681):
7782 """Top level fixture to ensure test databases are available"""
@@ -82,7 +87,7 @@ def django_db_setup(
8287 if not django_db_use_migrations :
8388 _disable_native_migrations ()
8489
85- if django_db_keepdb :
90+ if django_db_keepdb and not django_db_createdb :
8691 setup_databases_args ['keepdb' ] = True
8792
8893 with django_db_blocker .unblock ():
Original file line number Diff line number Diff line change 1919from .fixtures import django_db_setup # noqa
2020from .fixtures import django_db_use_migrations # noqa
2121from .fixtures import django_db_keepdb # noqa
22+ from .fixtures import django_db_createdb # noqa
2223from .fixtures import django_db_modify_db_settings # noqa
2324from .fixtures import django_db_modify_db_settings_xdist_suffix # noqa
2425from .fixtures import _live_server_helper # noqa
Original file line number Diff line number Diff line change @@ -75,6 +75,7 @@ def test_db_can_be_accessed():
7575 ])
7676
7777 # Make sure the database has been re-created and the mark is gone
78+ assert db_exists ()
7879 assert not mark_exists ()
7980
8081
You can’t perform that action at this time.
0 commit comments