django-for-runners_ynh/tests/conftest.py

44 lines
1.2 KiB
Python
Raw Normal View History

2022-09-18 17:52:34 +02:00
"""
Special pytest init:
- Build a "local_test" YunoHost installation
- init Django with this local test installation
So the pytests will run against this local test installation
"""
import os
import sys
from pathlib import Path
import django
from django_yunohost_integration.local_test import CreateResults, create_local_test
2022-09-18 17:52:34 +02:00
BASE_PATH = Path(__file__).parent.parent
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
def pytest_configure():
print('Compile YunoHost files...')
result: CreateResults = create_local_test(
2022-09-18 17:52:34 +02:00
django_settings_path=BASE_PATH / 'conf' / 'settings.py',
destination=BASE_PATH / 'local_test',
runserver=False,
extra_replacements={
'__DEBUG_ENABLED__': 'NO', # "YES" or "NO" string
2022-09-18 17:52:34 +02:00
'__LOG_LEVEL__': 'INFO',
'__ADMIN_EMAIL__': 'foo-bar@test.tld',
'__DEFAULT_FROM_EMAIL__': 'django_app@test.tld',
},
)
print('Local test files created:')
print(result)
2022-09-18 17:52:34 +02:00
os.chdir(result.data_dir_path)
data_dir = str(result.data_dir_path)
if data_dir not in sys.path:
sys.path.insert(0, data_dir)
2022-09-18 17:52:34 +02:00
django.setup()