QDAirPortBackend0122/deploy/collision_prepare_test_plan.md

2.1 KiB

Collision Prepare Flow Test Plan

Goal

Verify the deployed qaup-app service can complete the interface-only preparation flow for simulated collision objects before live position and alert testing.

Scope

This plan only verifies:

  1. Health endpoint is reachable.
  2. Simulated aircraft, unmanned vehicle, and special vehicle can be registered.
  3. Aircraft route query both returns route data and binds the route.
  4. Unmanned and special vehicle routes can be directly submitted and bound.
  5. Preparation status changes from not ready to ready.

This plan does not verify:

  1. Real position ingestion.
  2. Real collision point calculation from live tracks.
  3. WebSocket alert delivery.
  4. Real stop/recover signal dispatch.

Run inside the qaup-app container if possible, or on a host that can access the container port.

Examples:

docker exec -it qaup-app sh -lc 'bash /opt/qaup/deploy/test_collision_prepare_flow.sh'
BASE_URL="http://127.0.0.1:8080" bash deploy/test_collision_prepare_flow.sh

Script Inputs

The script supports environment variables:

  • BASE_URL
  • HEALTH_PATH
  • AIRCRAFT_ID
  • UNMANNED_ID
  • SPECIAL_ID
  • AIRCRAFT_ROUTE_TYPE
  • AIRCRAFT_IN_RUNWAY
  • AIRCRAFT_OUT_RUNWAY
  • AIRCRAFT_CONTACT_CROSS
  • AIRCRAFT_SEAT
  • AIRCRAFT_START_SEAT
  • AUTH_HEADER

Default execution assumes no authentication because the current platform HTTP integration document states these endpoints are unauthenticated.

Expected Result

The script should end with:

PASS: collision preparation interface flow is ready for deployment testing

The preparation status before binding should report missing routes.

The preparation status after binding should report:

  • ready=true
  • registeredCount=3
  • missingRouteCount=0

Failure Handling

If the script fails:

  1. Confirm qaup-app is healthy.
  2. Confirm the service port matches BASE_URL.
  3. Confirm the aircraft route query parameters are valid in the target environment.
  4. If formal environment adds authentication later, set AUTH_HEADER.