test(gateway): cover visible iface alias help
The MVP test guide relies on --iface being both accepted and discoverable from lanparty-gateway --help. The parser test already covered acceptance, but it did not protect the rendered help text. Render the Clap long help in a unit test and assert that the visible alias is advertised. This keeps the handoff guide and binary self-documentation aligned. Test Plan: - cargo fmt --check - cargo test -p lanparty-gateway iface_alias - cargo run -p lanparty-gateway -- --help - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings - git diff --check - git diff --cached --check Refs: MVP gateway test handoff
This commit is contained in:
@@ -1045,6 +1045,7 @@ mod tests {
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
use bytes::Bytes;
|
use bytes::Bytes;
|
||||||
|
use clap::CommandFactory;
|
||||||
use lanparty_net::DEFAULT_RELAY_PORT;
|
use lanparty_net::DEFAULT_RELAY_PORT;
|
||||||
use quinn::{ServerConfig, TransportConfig, crypto::rustls::QuicServerConfig};
|
use quinn::{ServerConfig, TransportConfig, crypto::rustls::QuicServerConfig};
|
||||||
use rustls::pki_types::{PrivateKeyDer, PrivatePkcs8KeyDer};
|
use rustls::pki_types::{PrivateKeyDer, PrivatePkcs8KeyDer};
|
||||||
@@ -1121,6 +1122,19 @@ mod tests {
|
|||||||
assert_eq!(args.interface, "eth0");
|
assert_eq!(args.interface, "eth0");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn shows_iface_alias_in_help() {
|
||||||
|
let mut command = GatewayArgs::command();
|
||||||
|
let mut help = Vec::new();
|
||||||
|
command.write_long_help(&mut help).unwrap();
|
||||||
|
let help = String::from_utf8(help).unwrap();
|
||||||
|
|
||||||
|
assert!(
|
||||||
|
help.contains("[aliases: --iface]"),
|
||||||
|
"gateway help should advertise --iface alias:\n{help}"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn connects_to_relay_control_stream_as_gateway() {
|
async fn connects_to_relay_control_stream_as_gateway() {
|
||||||
let (server_config, certificate) = test_server_config();
|
let (server_config, certificate) = test_server_config();
|
||||||
|
|||||||
Reference in New Issue
Block a user