#![allow(clippy::duplicate_mod)]
use std::env;
use std::io::Write;
use std::sync::Arc;
use super::*;
mod common;
use common::{
do_handshake, make_client_config_with_versions, make_pair_for_arc_configs, make_server_config,
transfer, KeyType,
};
#[test]
fn exercise_key_log_file_for_client() {
serialized(|| {
let server_config = Arc::new(make_server_config(KeyType::Rsa2048));
env::set_var("SSLKEYLOGFILE", "./sslkeylogfile.txt");
for version in rustls::ALL_VERSIONS {
let mut client_config = make_client_config_with_versions(KeyType::Rsa2048, &[version]);
client_config.key_log = Arc::new(rustls::KeyLogFile::new());
let (mut client, mut server) =
make_pair_for_arc_configs(&Arc::new(client_config), &server_config);
assert_eq!(5, client.writer().write(b"hello").unwrap());
do_handshake(&mut client, &mut server);
transfer(&mut client, &mut server);
server.process_new_packets().unwrap();
}
})
}
#[test]
fn exercise_key_log_file_for_server() {
serialized(|| {
let mut server_config = make_server_config(KeyType::Rsa2048);
env::set_var("SSLKEYLOGFILE", "./sslkeylogfile.txt");
server_config.key_log = Arc::new(rustls::KeyLogFile::new());
let server_config = Arc::new(server_config);
for version in rustls::ALL_VERSIONS {
let client_config = make_client_config_with_versions(KeyType::Rsa2048, &[version]);
let (mut client, mut server) =
make_pair_for_arc_configs(&Arc::new(client_config), &server_config);
assert_eq!(5, client.writer().write(b"hello").unwrap());
do_handshake(&mut client, &mut server);
transfer(&mut client, &mut server);
server.process_new_packets().unwrap();
}
})
}