summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test-manager/src/tests/tunnel.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/test-manager/src/tests/tunnel.rs b/test/test-manager/src/tests/tunnel.rs
index 4f5d1d7cbb..5e7e1eb383 100644
--- a/test/test-manager/src/tests/tunnel.rs
+++ b/test/test-manager/src/tests/tunnel.rs
@@ -581,6 +581,42 @@ pub async fn test_quantum_resistant_multihop_shadowsocks_tunnel(
Ok(())
}
+/// Test QUIC, PQ, and WireGuard combined.
+///
+/// # Limitations
+///
+/// This is not testing any of the individual components, just whether the daemon can connect when
+/// all of these features are combined.
+#[test_function]
+pub async fn test_quantum_resistant_multihop_quic_tunnel(
+ _: TestContext,
+ rpc: ServiceClient,
+ mut mullvad_client: MullvadProxyClient,
+) -> anyhow::Result<()> {
+ mullvad_client
+ // TODO: Why is this needed, exactly?
+ .set_quantum_resistant_tunnel(wireguard::QuantumResistantState::On)
+ .await
+ .context("Failed to enable PQ tunnels")?;
+
+ let query = RelayQueryBuilder::wireguard()
+ .quantum_resistant()
+ .multihop()
+ .quic()
+ .build();
+
+ apply_settings_from_relay_query(&mut mullvad_client, query).await?;
+
+ connect_and_wait(&mut mullvad_client).await?;
+
+ assert!(
+ helpers::using_mullvad_exit(&rpc).await,
+ "Expected Mullvad exit IP"
+ );
+
+ Ok(())
+}
+
/// Try to connect to an OpenVPN relay via a remote, passwordless SOCKS5 server.
/// * No outgoing traffic to the bridge/entry relay is observed from the SUT.
/// * The conncheck reports an unexpected exit relay.