31 lines
1.0 KiB
Rust
31 lines
1.0 KiB
Rust
#[test]
|
|
fn fleet_services_env_parser_is_lenient() {
|
|
let services = {
|
|
fn parse(spec: &str) -> Vec<api::FleetService> {
|
|
spec.split(',')
|
|
.filter_map(|pair| {
|
|
let pair = pair.trim();
|
|
if pair.is_empty() {
|
|
return None;
|
|
}
|
|
let (name, url) = pair.split_once('=')?;
|
|
let name = name.trim();
|
|
let url = url.trim();
|
|
if name.is_empty() || url.is_empty() {
|
|
return None;
|
|
}
|
|
Some(api::FleetService {
|
|
name: name.to_string(),
|
|
base_url: url.to_string(),
|
|
})
|
|
})
|
|
.collect()
|
|
}
|
|
parse(" gateway=http://x , ,runner=http://y,broken, =http://z ")
|
|
};
|
|
|
|
assert_eq!(services.len(), 2);
|
|
assert_eq!(services[0].name, "gateway");
|
|
assert_eq!(services[1].name, "runner");
|
|
}
|