Files
airflow-manual/airflow-docker/tests/conftest.py
T
ddadmin 8028711f0c refactor(dags): миграция CSV-пайплайна с Greenplum на PostgreSQL
- Зачем:
  - адаптация пайплайна для работы с чистым PostgreSQL вместо Greenplum
  - обеспечение совместимости с учебным стендом на базе Docker Compose
- Что:
  - переименованы файлы (greenplum -> postgres)
  - обновлены DAG-файлы: замена get_gp_conn на get_postgres_conn, адаптация DDL под PostgreSQL
  - обновлён helpers/postgres.py: замена функций и переменных окружения
  - добавлен pytest в requirements.txt для запуска тестов
  - создан tests/conftest.py с функцией patch_postgres_hook
  - обновлён tests/test_postgres_helpers.py: исправлены импорты
  - добавлено монтирование папки tests в docker-compose.yml
  - адаптирован sql/base/orders_ddl.sql под PostgreSQL
- Проверка:
  - docker-compose exec airflow-webserver pytest /opt/airflow/tests/test_postgres_helpers.py
2026-03-08 19:51:15 +03:00

21 lines
658 B
Python

from __future__ import annotations
import pytest
def patch_postgres_hook(monkeypatch, fake_hook_class) -> None:
"""
Патчит PostgresHook для тестирования.
Args:
monkeypatch: pytest monkeypatch fixture
fake_hook_class: Класс-имитация PostgresHook
"""
# Патчим PostgresHook на уровне airflow.providers.postgres.hooks.postgres
# Это нужно, так как get_postgres_conn() импортирует его оттуда
monkeypatch.setattr(
"airflow.providers.postgres.hooks.postgres.PostgresHook",
fake_hook_class,
raising=False,
)