Skip to content

Testing: MiniWebApp AOT GET api/status JSON route in MiniWebAppAotExecuteTest #1529

@PurHur

Description

@PurHur

Problem

#785 closed with POST contact in MiniWebAppAotExecuteTest, but the JSON api/status route is still only gated in VM:

  • MiniWebAppVmCliTest::testQueryRouteApiStatus() uses MiniWebAppCgiEnv::queryRouteApiStatus()
  • MiniWebAppAotExecuteTest covers home, hello, PATH_INFO hello, and POST contact — no native-binary JSON assertion

North Star 1 definition of done (#1044) requires /index.php/api/status (or ?route=api/status) on native AOT, not just VM/phpc serve.

Goal

Add @group miniwebapp-aot-execute test(s) that run .phpc/bin/app with QUERY_STRING=route=api/status (and optionally PATH_INFO=/api/status) and assert JSON body contains "ok":true and "service":"003-MiniWebApp".

Implementation hints

Piece File Notes
Env helper test/support/MiniWebAppCgiEnv.php queryRouteApiStatus() already exists
Test test/unit/MiniWebAppAotExecuteTest.php Reuse runBinaryWithCgiEnv() from #747
VM reference test/unit/MiniWebAppVmCliTest.php Parity contract
Compiler lib/JIT.php / Router renderApiStatus() + json_encode#849 closed; test-only gap

Acceptance criteria

./script/ci-local.sh --filter MiniWebAppAotExecuteTest::testQueryRouteApiStatus

Docker:

docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
  ./script/ci-local.sh --filter MiniWebAppAotExecuteTest::testQueryRouteApiStatus

Runs under default MINIWEBAPP_AOT_EXECUTE_GATE=1 (script/ci-defaults.env).

Dependencies

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions