mirror of
https://github.com/kristoferssolo/tls-pq-bench.git
synced 2026-03-22 00:36:21 +00:00
test(server): add unit tests for args parsing and TLS config
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -923,6 +923,7 @@ name = "server"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64",
|
"base64",
|
||||||
|
"claims",
|
||||||
"clap",
|
"clap",
|
||||||
"common",
|
"common",
|
||||||
"miette",
|
"miette",
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ tokio.workspace = true
|
|||||||
tracing-subscriber.workspace = true
|
tracing-subscriber.workspace = true
|
||||||
tracing.workspace = true
|
tracing.workspace = true
|
||||||
uuid.workspace = true
|
uuid.workspace = true
|
||||||
|
claims.workspace = true
|
||||||
|
|
||||||
[lints]
|
[lints]
|
||||||
workspace = true
|
workspace = true
|
||||||
|
|||||||
@@ -183,3 +183,63 @@ async fn main() -> miette::Result<()> {
|
|||||||
|
|
||||||
Ok(run_server(args, tls_config).await?)
|
Ok(run_server(args, tls_config).await?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
use claims::assert_ok;
|
||||||
|
use common::cert::CaCertificate;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn default_args() {
|
||||||
|
let args = Args::parse_from(["server"]);
|
||||||
|
assert_eq!(args.mode, KeyExchangeMode::X25519);
|
||||||
|
assert_eq!(args.listen.to_string(), "127.0.0.1:4433");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn custom_args() {
|
||||||
|
let args = Args::parse_from([
|
||||||
|
"server",
|
||||||
|
"--mode",
|
||||||
|
"x25519mlkem768",
|
||||||
|
"--listen",
|
||||||
|
"0.0.0.0:8080",
|
||||||
|
]);
|
||||||
|
assert_eq!(args.mode, KeyExchangeMode::X25519Mlkem768);
|
||||||
|
assert_eq!(args.listen.to_string(), "0.0.0.0:8080");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn tls_config_x25519() {
|
||||||
|
let ca = assert_ok!(CaCertificate::generate(), "generate CA");
|
||||||
|
let server_cert = assert_ok!(ca.sign_server_cert("localhost"), "sign cert");
|
||||||
|
let config = assert_ok!(
|
||||||
|
build_tls_config(KeyExchangeMode::X25519, &server_cert),
|
||||||
|
"build config"
|
||||||
|
);
|
||||||
|
assert!(Arc::strong_count(&config) >= 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn tls_config_mlkem() {
|
||||||
|
let ca = assert_ok!(CaCertificate::generate(), "generate CA");
|
||||||
|
let server_cert = assert_ok!(ca.sign_server_cert("localhost"), "sign cert");
|
||||||
|
let config = assert_ok!(
|
||||||
|
build_tls_config(KeyExchangeMode::X25519Mlkem768, &server_cert),
|
||||||
|
"build config"
|
||||||
|
);
|
||||||
|
assert!(Arc::strong_count(&config) >= 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn tls_config_certificates() {
|
||||||
|
let ca = assert_ok!(CaCertificate::generate(), "generate CA");
|
||||||
|
let server_cert = assert_ok!(ca.sign_server_cert("localhost"), "sign cert");
|
||||||
|
let config = assert_ok!(
|
||||||
|
build_tls_config(KeyExchangeMode::X25519, &server_cert),
|
||||||
|
"build config"
|
||||||
|
);
|
||||||
|
assert!(Arc::strong_count(&config) >= 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user