summaryrefslogtreecommitdiffhomepage
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2024-03-08Add wrapped strings to error messagesSebastian Holmin1-8/+8
2024-03-08Add MTU detection integration test for Linux and WindowsSebastian Holmin12-136/+360
Add dependency `scopeguard` for cleaning up nftables ruleset.
2024-03-08Add `.container` to `.gitignore`Sebastian Holmin1-0/+1
2024-03-05Fix shellcheck warnings and notesJoakim Hulthe1-1/+1
2024-03-05Upgrade mio to avoid RUSTSEC-2024-0019Linus Färnstrand1-2/+2
2024-02-27Fix `clippy` lint 'suspicious_open_options'Markus Pettersson1-0/+2
2024-02-27Replace err_derive with thiserrorJoakim Hulthe18-232/+168
`err_derive` is unmaintained and will probably stop working with rust edition 2024. `thiserror` is almost a drop-in replacement. This commit simply replaces all occurences of `derive(err_derive::Error)` with `derive(thiserror::Error)` and fixes the attributes, but the Error and Display impls should be identical.
2024-02-20Move `relay_updater` to `mullvad-daemon`Markus Pettersson1-13/+0
Move `mullvad-relay-selector::relay_updater` to the `mullvad-daemon`. The implications of this is that `mullvad-relay-selector` can drop the dependency on both `mullvad-api` and `tokio`, which brings down the total amount of dependencies when running a simple `Cargo check` from 250+ down to a mere 75. :-)
2024-02-19Fix redundant importsDavid Lönnhager1-1/+1
2024-02-16Refactor API access methodsDavid Lönnhager1-4/+1
2024-02-16Run `import-settings` UI tests in test frameworkMarkus Pettersson1-0/+11
2024-02-15Enable access method GUI test in e2e testingMarkus Pettersson4-19/+111
Since `test_custom_access_methods_ui` may fail after messing with the test runner environment, we want to fail fast and abort the entire test run if the test fails before managing to clean up.
2024-02-15Fix unhelpful error messageMarkus Pettersson1-3/+4
2024-02-15Add integration tests for API access methodsMarkus Pettersson4-4/+108
Add Shadowsocks & SOCKS5 (remote) access method tests. Simply try to access the Mullvad API using these custom access methods.
2024-02-15Fix off-by-one error when choosing access method candidatesMarkus Pettersson2-14/+15
2024-02-15Update `test/Cargo.lock`Markus Pettersson1-0/+29
2024-02-08Bump `curve25519-dalek` to `4.1.2`Markus Pettersson1-2/+2
2024-02-08Bump `x25519-dalek` to `2.0.1`Markus Pettersson1-2/+2
2024-02-08Add local SOCKS bridge testDavid Lönnhager1-1/+105
2024-02-08Add test for remote custom SOCKS5 bridgeDavid Lönnhager1-3/+98
2024-02-08Add instructions to enable `w32tm` in new testrunnersMarkus Pettersson1-0/+9
Add instructions on how to create a Windows service which ensures that the time service is enabled to prevent the VM clock from getting out of sync.
2024-02-07Add RPCs for running TCP forwarder on test runnerDavid Lönnhager7-4/+247
2024-02-07Move testing SOCKS server to own crateDavid Lönnhager6-31/+77
2024-02-07Add SOCKS5 server to test-managerDavid Lönnhager4-0/+50
2024-02-06Simplify how settings are reset in testsDavid Lönnhager3-76/+9
2024-02-02Fix `shellcheck` lints of our various bash scriptsSebastian Holmin2-20/+24
The following lints have been fixed: SC2046,SC2086,SC2068,SC2148,SC2007,SC2004,SC2006, SC2164,SC2145,SC1091,SC2034,SC2155.
2024-02-01Set serial baud rate to zero on macOSLinus Färnstrand2-2/+12
2024-02-01Don't pin serialport to a fork. Use upgraded upstreamLinus Färnstrand2-54/+32
The fix we needed is now part of serialport 4.3.0. Avoiding git commits is good in general
2024-01-18Print if lockdown mode is enabled when disconnected for `mullvad status`Sebastian Holmin3-5/+5
Add `locked_down` field to disconnected tunnel state.
2024-01-18Upgrade h2 to fix RUSTSEC-2024-0003Linus Färnstrand1-3/+3
2024-01-17Ignore PQ setting in tests where it's irrelevantDavid Lönnhager1-1/+1
2024-01-17Make test_installation_idempotency succeed when there is no accountDavid Lönnhager1-4/+9
2024-01-17Return specific error when connect_and_wait fails due to entering the error ↵David Lönnhager2-4/+8
state
2024-01-17Make changelog link static in testDavid Lönnhager1-1/+1
2024-01-16Add rust-version to all Cargo.tomlLinus Färnstrand5-0/+5
2024-01-15Use type safe Mullvad protobuf client over generated ditoMarkus Pettersson15-369/+287
Re-write some code in the test framework to prefer the type safe wrapper around the Mullvad app gRPC client instead of its auto-generated dito. `ManagementServiceClient` is automatically generated from the protobuf definitions found in `management_interface.proto`, and contains some very crude types. The `MullvadProxyClient` is a type-safe wrapper around `ManagementServiceClient` which performs conversions & validation of the data types from the gRPC server (the daemon) to their respective mappings in the `talpid-*` and `mullvad-*` crates. These types are more ergonomic to work with, and since we already have the conversions in place we should prefer those.
2024-01-12Remove legacy provisioning for linuxDavid Lönnhager3-24/+4
2024-01-12Add e2e test for containers on LinuxDavid Lönnhager2-0/+68
2024-01-12Add podman and docker to ssh-setup.shDavid Lönnhager1-2/+8
2024-01-11Update Cargo.lock with changed versionLinus Färnstrand1-1/+1
2024-01-11Add package metadata to crates in testing frameworkLinus Färnstrand5-7/+27
Such as authors, repository, licence etc. And have all crates inherit from the workspace
2024-01-11Synchronize `mullvad-api` and `mullvad-daemon` when the `api-override`Markus Pettersson1-3/+3
feature is enabled Move the logic for using overridden API endpoints for API calls from `mullvad-api::rest` to `mullvad_daemon::api`. This is in line with how the interaction between the two crates work for a normal release build, i.e. when the `api-override` feature is disabled. This commit also removes references to `force_direct_connection` in the Android code. The flag does not exist in the `mullvad-*` rust crates anymore, so it would be erroneous to try to serialize/deserialize the value from the Android client.
2024-01-09Fix versions in test framework lock fileDavid Lönnhager1-3/+3
2024-01-09Exit immediately if ssh-setup.sh failsDavid Lönnhager2-3/+15
2024-01-09Remove version and publish cargo metadataLinus Färnstrand3-3/+0
Since Rust 1.75.0 the `version` field is optional. The version defaults to "0.0.0" if it's not specified, and `publish` defaults to false if no version has been given. So by not specifying a version we get both `version = "0.0.0" and `publish = false` "for free"
2024-01-08Add 'skipped' status to test summaryDavid Lönnhager3-29/+69
2024-01-08Add 'target_os' attribute to test macroDavid Lönnhager13-37/+75
2024-01-08Remove `ApiEndpointUpdateHandler`Markus Pettersson1-4/+1
Previously, the `mullvad-api` would tell the `mullvad-daemon` that it wanted a new API endpoint by calling a certain callback (`ApiEndpointUpdateCallback`), which would asynchronously resolve a new API endpoint and tell the daemon to punch an appropriate hole in the firewall for that particular endpoint before the `mullvad-api` crate would consume it. The logic of the callback can be moved inside `AccessModeSelector`, which simplifies the contract between `mullvad-daemon` and `mullvad-api` somewhat.
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