import sqlite3 import importlib import pytest server_app_module = importlib.import_module("server.app") # Expose app and init_db from the imported module app = server_app_module.app init_db = server_app_module.init_db @pytest.fixture(autouse=True) def setup_tmp_db(tmp_path, monkeypatch): tmp_db = tmp_path / "forms.db" # Patch the module attribute directly to avoid package name collisions monkeypatch.setattr(server_app_module, "DB_PATH", tmp_db, raising=False) monkeypatch.setattr("server.settings.ADMIN_USERNAME", "admin") monkeypatch.setattr("server.settings.ADMIN_PASSWORD", "admin") init_db() yield @pytest.fixture def client(): with app.test_client() as client: yield client