in src/proxy/src/config_parser.rs [157:205]
fn test_parse_config_fips_disabled() {
let config_string = r#"fips = no
foreground = quiet
socket = l:SO_REUSEADDR=yes
socket = a:SO_BINDTODEVICE=lo
pid = /var/run/efs/fs-12341234.home.ec2-user.efs.21036+/stunnel.pid
port = 8081
initial_partition_ip = 127.0.0.1:2049
[efs]
accept = 127.0.0.1:21036
connect = fs-12341234.efs.us-east-1.amazonaws.com:2049
sslVersion = TLSv1.2
renegotiation = no
TIMEOUTbusy = 20
TIMEOUTclose = 0
TIMEOUTidle = 70
delay = yes
verify = 2
CAfile = /etc/amazon/efs/efs-utils.crt
cert = /var/run/efs/fs-12341234.home.ec2-user.efs.21036+/certificate.pem
key = /etc/amazon/efs/privateKey.pem
checkHost = fs-12341234.efs.us-east-1.amazonaws.com
"#;
let result_config = ProxyConfig::from_str(config_string).unwrap();
let expected_proxy_config = ProxyConfig {
fips: false,
pid_file_path: String::from(
"/var/run/efs/fs-12341234.home.ec2-user.efs.21036+/stunnel.pid",
),
debug: DEFAULT_LOG_LEVEL.to_string(),
output: None,
nested_config: EfsConfig {
listen_addr: String::from("127.0.0.1:21036"),
mount_target_addr: String::from("fs-12341234.efs.us-east-1.amazonaws.com:2049"),
ca_file: String::from("/etc/amazon/efs/efs-utils.crt"),
client_cert_pem_file: String::from(
"/var/run/efs/fs-12341234.home.ec2-user.efs.21036+/certificate.pem",
),
client_private_key_pem_file: String::from("/etc/amazon/efs/privateKey.pem"),
expected_server_hostname_tls: String::from(
"fs-12341234.efs.us-east-1.amazonaws.com",
),
},
};
assert_eq!(result_config, expected_proxy_config);
}