in src/client/mod.rs [884:1023]
fn client_test_config_from_map() {
let allow_http = "true".to_string();
let allow_invalid_certificates = "false".to_string();
let connect_timeout = "90 seconds".to_string();
let default_content_type = "object_store:fake_default_content_type".to_string();
let http1_only = "true".to_string();
let http2_only = "false".to_string();
let http2_keep_alive_interval = "90 seconds".to_string();
let http2_keep_alive_timeout = "91 seconds".to_string();
let http2_keep_alive_while_idle = "92 seconds".to_string();
let http2_max_frame_size = "1337".to_string();
let pool_idle_timeout = "93 seconds".to_string();
let pool_max_idle_per_host = "94".to_string();
let proxy_url = "https://fake_proxy_url".to_string();
let timeout = "95 seconds".to_string();
let user_agent = "object_store:fake_user_agent".to_string();
let options = HashMap::from([
("allow_http", allow_http.clone()),
(
"allow_invalid_certificates",
allow_invalid_certificates.clone(),
),
("connect_timeout", connect_timeout.clone()),
("default_content_type", default_content_type.clone()),
("http1_only", http1_only.clone()),
("http2_only", http2_only.clone()),
(
"http2_keep_alive_interval",
http2_keep_alive_interval.clone(),
),
("http2_keep_alive_timeout", http2_keep_alive_timeout.clone()),
(
"http2_keep_alive_while_idle",
http2_keep_alive_while_idle.clone(),
),
("http2_max_frame_size", http2_max_frame_size.clone()),
("pool_idle_timeout", pool_idle_timeout.clone()),
("pool_max_idle_per_host", pool_max_idle_per_host.clone()),
("proxy_url", proxy_url.clone()),
("timeout", timeout.clone()),
("user_agent", user_agent.clone()),
]);
let builder = options
.into_iter()
.fold(ClientOptions::new(), |builder, (key, value)| {
builder.with_config(key.parse().unwrap(), value)
});
assert_eq!(
builder
.get_config_value(&ClientConfigKey::AllowHttp)
.unwrap(),
allow_http
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::AllowInvalidCertificates)
.unwrap(),
allow_invalid_certificates
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::ConnectTimeout)
.unwrap(),
connect_timeout
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::DefaultContentType)
.unwrap(),
default_content_type
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::Http1Only)
.unwrap(),
http1_only
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::Http2Only)
.unwrap(),
http2_only
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::Http2KeepAliveInterval)
.unwrap(),
http2_keep_alive_interval
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::Http2KeepAliveTimeout)
.unwrap(),
http2_keep_alive_timeout
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::Http2KeepAliveWhileIdle)
.unwrap(),
http2_keep_alive_while_idle
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::Http2MaxFrameSize)
.unwrap(),
http2_max_frame_size
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::PoolIdleTimeout)
.unwrap(),
pool_idle_timeout
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::PoolMaxIdlePerHost)
.unwrap(),
pool_max_idle_per_host
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::ProxyUrl)
.unwrap(),
proxy_url
);
assert_eq!(
builder.get_config_value(&ClientConfigKey::Timeout).unwrap(),
timeout
);
assert_eq!(
builder
.get_config_value(&ClientConfigKey::UserAgent)
.unwrap(),
user_agent
);
}