"""
    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


BASE_PATH = Path(__file__).parent.parent

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'


def pytest_configure():
    print('Compile YunoHost files...')
    result: CreateResults = create_local_test(
        django_settings_path=BASE_PATH / 'conf' / 'settings.py',
        destination=BASE_PATH / 'local_test',
        runserver=False,
        extra_replacements={
            '__DEBUG_ENABLED__': '0',  # "1" or "0" string
            '__LOG_LEVEL__': 'INFO',
            '__ADMIN_EMAIL__': 'foo-bar@test.tld',
            '__DEFAULT_FROM_EMAIL__': 'django_app@test.tld',
        },
    )
    print('Local test files created:')
    print(result)

    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)

    django.setup()
