test(client): unify fake and real backend testing via BackendPeer
Introduce a BackendPeer abstraction to transparently switch between fake and real IRTT backends. This simplifies test logic by removing manual skip checks and providing a consistent interface for server lifecycle management.
This commit is contained in:
4 files changed
+188
-78
No files matched your search
@@ -9,10 +9,9 @@ use irtt_client::{
|
||||
use irtt_proto::{echo_packet_len, ProtoError, TimestampFields};
|
||||
|
||||
use support::{
|
||||
config_for_params, default_params, params_for_modes, require_real_backend,
|
||||
run_one_probe_with_config, standard_timestamps, start_bad_hmac_echo_reply_server,
|
||||
start_hmac_close_server, start_hmac_required_open_drop_server, RealIrtServer,
|
||||
ServerObservation, TOKEN,
|
||||
config_for_params, default_params, params_for_modes, run_one_probe_with_config,
|
||||
standard_timestamps, start_bad_hmac_echo_reply_server, start_hmac_close_server,
|
||||
start_hmac_required_open_drop_server, BackendPeer, ServerObservation, TOKEN,
|
||||
};
|
||||
|
||||
#[test]
|
||||
@@ -297,14 +296,11 @@ fn assert_no_duplicate_late_or_warning(events: &[ClientEvent]) {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn real_hmac_correct_key_succeeds() {
|
||||
if !require_real_backend() {
|
||||
return;
|
||||
}
|
||||
fn backend_hmac_correct_key_succeeds() {
|
||||
let key = b"compat-secret".to_vec();
|
||||
let server = RealIrtServer::start(Some(&key)).unwrap();
|
||||
let params = default_params();
|
||||
let mut config = config_for_params(server.addr(), ¶ms);
|
||||
let peer = BackendPeer::start_open_echo(params.clone(), Some(key.clone()));
|
||||
let mut config = config_for_params(peer.addr(), ¶ms);
|
||||
config.hmac_key = Some(key);
|
||||
|
||||
let mut client = Client::connect(config).unwrap();
|
||||
@@ -322,13 +318,10 @@ fn real_hmac_correct_key_succeeds() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn real_hmac_wrong_key_fails() {
|
||||
if !require_real_backend() {
|
||||
return;
|
||||
}
|
||||
fn backend_hmac_wrong_key_fails() {
|
||||
let server_key = b"compat-secret".to_vec();
|
||||
let server = RealIrtServer::start(Some(&server_key)).unwrap();
|
||||
let mut config = config_for_params(server.addr(), &default_params());
|
||||
let peer = BackendPeer::start_hmac_required(server_key);
|
||||
let mut config = config_for_params(peer.addr(), &default_params());
|
||||
config.open_timeouts = vec![Duration::from_millis(200)];
|
||||
config.hmac_key = Some(b"wrong-secret".to_vec());
|
||||
|
||||
@@ -340,13 +333,10 @@ fn real_hmac_wrong_key_fails() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn real_hmac_missing_key_fails() {
|
||||
if !require_real_backend() {
|
||||
return;
|
||||
}
|
||||
fn backend_hmac_missing_key_fails() {
|
||||
let server_key = b"compat-secret".to_vec();
|
||||
let server = RealIrtServer::start(Some(&server_key)).unwrap();
|
||||
let mut config = config_for_params(server.addr(), &default_params());
|
||||
let peer = BackendPeer::start_hmac_required(server_key);
|
||||
let mut config = config_for_params(peer.addr(), &default_params());
|
||||
config.open_timeouts = vec![Duration::from_millis(200)];
|
||||
config.hmac_key = None;
|
||||
|
||||
|
||||
Reference in new issue
Block a user