Ветвление Neon с помощью Django pytest
Я хочу использовать функцию ветвления Neon для создания новой ветки (копии основной ветки базы данных на Neon) каждый раз, когда запускается набор тестов.
В проекте, над которым я работаю, мы используем pytest-django, PostgreSQL в качестве базы данных и Django в качестве бэкенда.
Pytest позволяет указывать живую базу данных для тестирования (pytest-django docs). Я пытался динамически создать ветку и конечную точку вычисления с помощью Neon API (Neon API docs). Моя цель - использовать вновь созданный HOST для запуска тестов, но тесты всегда запускаются в test_[DEFAULT_DB_NAME].
Вот как выглядит мой файл conftest.py:
@pytest.fixture(scope='session')
def django_db_setup():
logger.info("Creating new test db branch")
neon = NeonAPI(api_key=os.environ.get('NEON_API_KEY'))
project_id = "project_id"
branch = neon.branch_create(project_id=project_id)
settings.DATABASES['default'] = {
'ENGINE': 'django.db.backends.postgresql',
'NAME': os.environ.get('PGDATABASE', ''),
'USER': os.environ.get('PGUSER', ''),
'PASSWORD': os.environ.get('PGPASSWORD', ''),
'HOST': 'soemthing',
'PORT': os.environ.get('PGPORT', '5432'),
}
Но, похоже, это не имеет никакого эффекта.