rust/gui-client/docs/manual_testing.md
How to run manual tests of firezone-gui-client
Using Given-when-then syntax
The client may be running or not running.
Only one instance of the client may run at a time per system. If two users are logged in at once, starting a 2nd instance results in undefined behavior.
If the client is running, the GUI may be in a "signed out", "signed in", or "signing in" state.
If the client stops running while signed in, then the token may be stored in Windows' credential manager on disk.
run-debug can NOT run as a normal userrun-debug can run with sudosudorun-debug can NOT run as a normal userrun-debug can run as admin--crash is passed, when Firezone crashes, then the error will be written to the log file.--error is passed, when Firezone errors, then the error will be written to the log file.--panic is passed, when Firezone panics, then the error will be written to the log file.--crash smoke-test is passed, when Firezone crashes, then the error will be written to stderr.--error smoke-test is passed, when Firezone crashes, then the error will be written to stderr.--panic smoke-test is passed, when Firezone panics, then the error will be written to stderr.This is a list of all the on-disk state that you need to delete / reset to test a first-time install / first-time run of the Firezone GUI client.
%LOCALAPPDATA%/dev.firezone.client/ (Config, logs, webview cache, wintun.dll etc.)%PROGRAMDATA%/dev.firezone.client/ (Device ID file)%PROGRAMFILES%/Firezone/ (Exe and un-installer)Computer\HKEY_CURRENT_USER\Software\Classes\firezone-fd0020211111 (Deep link association)Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{e9245bc1-b8c1-44ca-ab1d-c6aad4f13b9c} (IP address and DNS server for our tunnel interface)dev.firezone.client/token$HOME/.local/share/applications (.desktop file for deep links. This dir may not even exist by default on distros like Debian)(#2740)
If you can't test with resources that respond to ping, curl is fine too.
*.test-ipv6.com is a resource, and the tunnel is up, when you load test-ipv6.com in a web browser, then it will show the gateway's IPv6 address and score 10/10Given the client is signed out or not running, when you ping...
Given the client is signed in, when you ping...
Moved to network_roaming.md