"""Общие фикстуры тестов. Соединения SQLite, открытые тестом, закрываются после него — в тестах нет ResourceWarning «unclosed database» (hub-hygiene-d, решение 14; M-9/O-4 #4).""" import pytest from jira_hub.core import db, projects from jira_hub.modules.jira import projects as jira_projects @pytest.fixture def open_db(): """Фабрика соединений: open_db() — база в памяти, open_db(path) — файл. Все закрываются после теста.""" opened = [] def make(path=":memory:"): conn = db.connect(path) opened.append(conn) return conn yield make for conn in opened: conn.close() @pytest.fixture def add_project(): """add_project(conn, label="AWPCA", name=None, board_id=4216, board_type="scrum") -> dict: завести проект.""" def make(conn, label="AWPCA", name=None, board_id=4216, board_type="scrum"): if name is None: name = jira_projects.LEGACY_NAME if label == jira_projects.LEGACY_LABEL else label projects.create(conn, label, name, board_id) if board_id is not None and board_type is not None: jira_projects.record_board_types(conn, {str(board_id): board_type}) return projects.get(conn, label) return make