Skip to content

Add a real-server integration test lane and a coverage gate #87

Description

@morcen

Problem

Coverage reporting is configured in phpunit.xml.dist but CI runs with coverage: none in every workflow (run-tests.yml, test-matrix.yml, security-audit.yml), so there is no coverage signal or gate.

Every test, including the "integration" suite, fakes the HTTP layer... Resolved by #233: tests/Feature/PassageRealServerIntegrationTest.php now proxies through a real PHP built-in web server (tests/Fixtures/real-server-router.php) covering body types, header forwarding, query forwarding, streaming, and the allowed-hosts guard — exactly the real-transport gap this issue originally raised. tests/Feature/PassageIntegrationTest.php remains Http::fake-based, which is fine now that the real-transport lane exists alongside it.

Location

  • CI workflows (run-tests.yml, test-matrix.yml, security-audit.yml all still run with coverage: none)

Fix

Enable a coverage driver (pcov or xdebug) and a coverage job with a modest floor (start at 80%). The real-server test lane portion of this issue is done; only the coverage gate remains.

Sizing

Priority 18 (Impact 3, Risk 3, Effort 3). Originally estimated 1-2 days; remaining scope (coverage gate only) is smaller.

From the tech debt audit dated 2026-07-05.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    tech-debtFrom the technical debt registertestsTest suite improvements

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions