pytest-dev / pytest-dev/pytest-django
django_db_setup data only available before first tearDown
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 367
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
Inside the conftest.py I have following configuration
@pytest.fixture(scope='session')
def django_db_setup(django_db_setup, django_db_blocker):
with django_db_blocker.unblock():
call_command('loaddata', 'tests/test_data/test_data1.json', database='default')
call_command('loaddata', 'tests/test_data/test_data2.json', database='ipr')
As you can see i use two different DB's
However, test first test case has access to the populated data and is successful but all test cases after that have no data. After debugging I have figured out that the tearDown methods flushs the db and no loaddata occures anymore.
HELP, I need somebody :-)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the conftest.py django_db_setup fixture and the django_db_blocker context shown in the report. Reproduce the two-database setup with both loaddata calls, then trace when teardown flushes each database; done means the populated data remains available to every test or the expected fixture behavior is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, python
- Domain
- databases, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100