        html_body = ""
        if is_html:
            try:
                html_body = content.decode("utf-8")
            except UnicodeDecodeError:
                raise HTTPException(status_code=400, detail="HTML file is not valid UTF-8")
            problems = validate_html(html_body)
>           if problems.get("errors"):
E           AttributeError: 'list' object has no attribute 'get'
===CONFTEST===
def test_app():
    if not PG_AVAILABLE:
        pytest.skip("PostgreSQL not available for integration tests")
    import importlib

    from sqlalchemy import create_engine, text

    # 1. create fresh test database
    admin = create_engine(POSTGRES_ADMIN_URL, pool_pre_ping=True, isolation_level="AUTOCOMMIT")
    with admin.connect() as c:
        c.execute(text(f'DROP DATABASE IF EXISTS "{TEST_DB_NAME}"'))
        c.execute(text(f'CREATE DATABASE "{TEST_DB_NAME}"'))
    admin.dispose()

    # 2. point settings at it and reload DB + main modules in dependency order
    import app.core.config as config_mod

    original_url = config_mod.settings.DATABASE_URL
    config_mod.settings.DATABASE_URL = TEST_DATABASE_URL

    import app.db.session as db_session_mod

    importlib.reload(db_session_mod)
    import app.main as main_mod

    importlib.reload(main_mod)

    # 3. create schema
    from app.models import Base

    eng = create_engine(TEST_DATABASE_URL, pool_pre_ping=True)
    Base.metadata.create_all(eng)
    eng.dispose()

    yield main_mod.app

    # 4. restore global modules and drop the test database
    config_mod.settings.DATABASE_URL = original_url
    importlib.reload(db_session_mod)
    admin = create_engine(POSTGRES_ADMIN_URL, pool_pre_ping=True, isolation_level="AUTOCOMMIT")
    with admin.connect() as c:
        c.execute(text(f'DROP DATABASE IF EXISTS "{TEST_DB_NAME}"'))
    admin.dispose()


# Tables to truncate between API tests (order-independent via TRUNCATE CASCADE)
_TRUNCATE = [
    "audit_logs", "email_events", "send_attempts", "send_jobs",
    "campaign_recipients", "campaigns", "recipients", "recipient_lists",
    "subject_lines", "email_templates", "attachments", "company_phone_numbers",
    "suppression_entries", "oauth_tokens", "oauth_client_configs",
    "gmail_accounts", "application_settings", "users",
