summaryrefslogtreecommitdiffhomepage
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2024-01-04Fix code not following new linting rules in testing frameworkLinus Färnstrand6-9/+10
2024-01-04Add workspace level linting to test workspaceLinus Färnstrand4-0/+15
2024-01-04Remove legacy docs from BUILD_OS_IMAGE.mdDavid Lönnhager1-88/+0
2024-01-04Mention 'sudo' group in BUILD_OS_IMAGE.mdDavid Lönnhager1-2/+3
2024-01-03Allow app to use custom socks5 and shadwosocks proxiesJonathan1-8/+5
This PR has a couple of different purposes - Allow users to use socks5 local proxies with the CLI without having to be root nor use split-tunneling. This only works for OpenVPN. - Unify the types used by different proxy parts of the codebase, such as the Access Methods as well as some already existing OpenVPN proxy code. This PR changes the firewall on all desktop platforms as well as changes the routing table slightly on MacOS and Windows. On Linux the firewall code is modified to apply the appropriate firewall marks to all packages that go to a remote endpoint corresponding to the remote part of a local socks5 proxy. The firewall marks will allow the routing to be done without having to modify the routing table. On MacOS and Windows the routing table is modified to allow packages to go to that same endpoint to pass outside the VPN tunnel, it will additionally punch a hole in the firewall. The PR also migrates the settings file from version 7 to version 8 in order to properly and neatly unify Proxy related types. Finally it provides some slight extensions to the gRPC interface in order to allow for control over the custom proxy settings.
2024-01-02Fix clippy lintsMarkus Pettersson4-25/+21
2023-12-21Remove `GetCurrentLocation`.Sebastian Holmin3-8/+5
Make the daemon send two tunnel state updates, one with out IP being empty, and another with it being filled when am.i.mullvad.net responds. Update CLI for this change. Other front ends are left out.
2023-12-15[Clippy] Fix complex typesMarkus Pettersson1-16/+17
2023-12-15[Clippy] Fix unused `async`Markus Pettersson6-7/+8
2023-12-15Add missing system deps to `test/Dockerfile`Markus Pettersson1-0/+3
Add some missing system libraries for compiling the test framework. These are dependencies which the base `mullvad/mullvadvpn-app-build` container does not include.
2023-12-14Add documentation on the configuration format used by `test-manager`Markus Pettersson2-1/+74
2023-12-14Add documentation on how to add new VM images to Github actionsMarkus Pettersson1-0/+14
2023-12-14Improve test framework documentionMarkus Pettersson3-88/+153
- Try to simplify the steps involved in creating a new test runner - Move `BUILD_OS_IMAGE` to `docs/`.
2023-12-12Fix `stop_app` RPC for macosMarkus Pettersson1-1/+1
2023-12-12Override `CARGO_TARGET_DIR`Markus Pettersson1-0/+1
2023-12-08Use app build container for building test runnerMarkus Pettersson2-8/+6
2023-12-07Refactor `start_packet_monitor_for_interface`Markus Pettersson1-35/+31
Flatten the inner loop of `start_packet_monitor_for_interface` by using `tokio::select!` instead of composing `futures::select`
2023-12-07RefactoringMarkus Pettersson2-23/+35
- Import qualified `network_monitor` - Add `obtain_guest_ip` - Fix docs
2023-12-07Refactor `test_upgrade_app` to use `Pinger` for leak testingMarkus Pettersson2-54/+9
2023-12-07Add ping monitoring to `helpers.rs`Markus Pettersson2-46/+131
2023-12-07Add regression test checking idempotency of app installationMarkus Pettersson1-2/+96
Installing the app twice (or more times) should have the same observable effect as installing it once. If the app is upgraded and the user is in a connected state before starting the upgrade, no traffic should leak during the installation process and the app should start up in a connected state preserving the relay constraints.
2023-12-06Remove superseded RPC for restarting the Mullvad system serviceMarkus Pettersson6-126/+73
The function `set_mullvad_daemon_service_state(on: bool) -> Result<(), test_rpc::Error>`, which would conditionally start or stop the Mullvad daemon in the test runner, has been superseded by two separate functions which accomplish the same thing: `start_mullvad_daemon` & `stop_mullvad_daemon`.
2023-12-06Add `test_connecting_state_when_corrupted_state_cache`Markus Pettersson3-12/+53
Add regression test which checks that the daemon successfully recovers from a corrupt target state cache. If the target state cache is corrupt, the daemon will default to the `Connecting` target state on startup.
2023-12-06Implement RPC for reading & writing to app cache fileMarkus Pettersson8-54/+251
- Implement RPC for writing to a file in a test runner / guest VM. - Implement RPC for getting app cache directory - Implement RPC for restarting the app in a test runner / guest vm - Implement RPC for starting the app in a test runner / guest vm - Implement RPC for stopping the app in a test runner / guest vm - Implement `find_cache_traces` on Window & macOS
2023-11-22Remove relay selection logic from multihop and udp2tcp tests (same as ↵David Lönnhager3-83/+49
test_bridge)
2023-11-22Obtain tunnel interface from management interface in testsDavid Lönnhager11-257/+233
2023-11-16Let relay selector pick entry & exit nodes in `test_bridge`Markus Pettersson2-68/+45
We have seen `test_bridge` fail due to high latency if slow + far-away servers were selected. Hopefully delegating the task of picking appropriate entry & exit relays will help mitigate this.
2023-11-16test-framework: Prefer types from `mullvad-types`Markus Pettersson5-64/+101
Prefer types from `mullvad-types` over equivavelent types defined in `mullvad-management-interface`.
2023-11-08Use app bundled `ca.crt` in end-to-end testingMarkus Pettersson1-119/+33
2023-10-31Update e2e testsDavid Lönnhager6-92/+61
2023-10-31Replace UpdateRelaySettings with SetRelaySettingsDavid Lönnhager5-22/+22
2023-10-30Print whether packages are downloadedDavid Lönnhager1-4/+6
2023-10-24Ignore irrelevant files in build-runner-image.shDavid Lönnhager2-5/+6
2023-10-24Reset all relay constraints in testsDavid Lönnhager2-2/+11
2023-10-24Prefer `mullvad_types` types over generated tonic typesMarkus Pettersson2-36/+29
2023-10-24Document & simplify `reset_relay_settings`Markus Pettersson1-18/+18
2023-10-24Refactor move `reboot` to `helpers.rs`Markus Pettersson2-15/+18
2023-10-24Remove superflous location constraints from multiple test casesMarkus Pettersson1-19/+0
2023-10-24Upload e2e-test report matrixMarkus Pettersson1-3/+0
Upload e2e-test report matrix as an `.html` file and submit it to github actions job summary: https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
2023-10-24Set up dummy interface on macOSDavid Lönnhager1-2/+36
2023-10-24Make WireGuard interface temporary during test runDavid Lönnhager1-18/+45
2023-10-24Truncate log files in tests and ignore old logsDavid Lönnhager1-5/+32
2023-10-24Keep UI runner when clearing cacheDavid Lönnhager1-1/+1
2023-10-24Fully abort all tasks before leaving a testDavid Lönnhager3-79/+119
2023-10-21Remove references to talpid-windows-net in e2e testsDavid Lönnhager3-9/+9
2023-10-20Relax relay constraints in `test_quantum_resistant_multihop_udp2tcp_tunnel`Markus Pettersson1-24/+25
Loosen up relay constraints in `test_quantum_resistant_multihop_udp2tcp_tunnel`, which makes the test more resilient to changes in the testing environment.
2023-10-20Add desktop end-to-end testsDavid Lönnhager65-0/+15638
Co-authored-by: Jonathan <jonathan@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
2018-08-15Add workspacesAndrej Mihajlov17-1711/+0
2018-08-14Implement IPv6 enable/disable in GUIJanito Vaqueiro Ferreira Filho1-0/+1
2018-08-08Refine testsAndrej Mihajlov1-66/+77