29 lines
1.8 KiB
Markdown
29 lines
1.8 KiB
Markdown
# Android manual/integration tests
|
|
|
|
These require a real Android device; an emulator cannot validate all hotspot/VPN ROM
|
|
behaviour.
|
|
|
|
1. Grant VPN consent, connect/disconnect Basic VLESS and Enhanced AmneziaWG 3.1.
|
|
2. Lock the screen and kill/reopen the Flet Activity. Native state must remain visible;
|
|
a second engine/service must not start.
|
|
3. Force-stop/restart and verify the documented recovery limitation: Android does not
|
|
guarantee recovery after an explicit force-stop.
|
|
4. Kill the engine and verify `ERROR`/`UNSUPPORTED`, no orphan process, and no fallback.
|
|
5. `DIRECT`/`VOID` are currently a model-only gate and must remain visibly unavailable;
|
|
after native routing is implemented, `DIRECT` must use the Android API and `VOID`
|
|
must drop in the native data path, never `addDisallowedApplication`.
|
|
6. After an adapter reports real listener addresses, start LocalOnlyHotspot, check actual
|
|
SSID/password/interface IP, and confirm listeners bind only to that IP. Verify SOCKS5
|
|
and HTTP CONNECT from a laptop on that network. Current adapters intentionally do not
|
|
claim this path.
|
|
7. Stop sharing and verify listeners close and the reservation is released.
|
|
8. Run Both and verify phone TUN plus laptop proxy use the same backend only when the
|
|
capability says `supports_both`.
|
|
9. Switch SignBox strategies and then FreeTurn. Conflicting runtimes must stop before
|
|
another one starts.
|
|
10. Deny VPN/hotspot permissions and verify an explicit error, never `CONNECTED`.
|
|
11. Trigger FreeTurn CAPTCHA. Verify in-app WebView where available, browser fallback,
|
|
and the “always open in browser” setting.
|
|
12. Run an aggressive VPN-detection app. Expected VOID result is limited: local VPN/TUN
|
|
signs may remain visible, but probes/telemetry entering our VPN data path must be
|
|
dropped. No stealth guarantee is made.
|