in crates/zbus/src/address/mod.rs [330:406]
fn stringify_dbus_addresses() {
assert_eq!(
Address::from(Transport::Unix(Unix::new(UnixSocket::File("/tmp/dbus-foo".into())))).to_string(),
"unix:path=/tmp/dbus-foo",
);
assert_eq!(
Address::from(Transport::Unix(Unix::new(UnixSocket::Dir("/tmp/dbus-foo".into())))).to_string(),
"unix:dir=/tmp/dbus-foo",
);
assert_eq!(
Address::from(Transport::Unix(Unix::new(UnixSocket::TmpDir("/tmp/dbus-foo".into())))).to_string(),
"unix:tmpdir=/tmp/dbus-foo"
);
// FIXME: figure out how to handle abstract on Windows
#[cfg(target_os = "linux")]
assert_eq!(
Address::from(Transport::Unix(Unix::new(UnixSocket::Abstract("/tmp/dbus-foo".into())))).to_string(),
"unix:abstract=/tmp/dbus-foo"
);
assert_eq!(
Address::from(Transport::Tcp(Tcp::new("localhost", 4142))).to_string(),
"tcp:host=localhost,port=4142"
);
assert_eq!(
Address::from(Transport::Tcp(
Tcp::new("localhost", 4142).set_family(Some(TcpTransportFamily::Ipv4))
))
.to_string(),
"tcp:host=localhost,port=4142,family=ipv4"
);
assert_eq!(
Address::from(Transport::Tcp(
Tcp::new("localhost", 4142).set_family(Some(TcpTransportFamily::Ipv6))
))
.to_string(),
"tcp:host=localhost,port=4142,family=ipv6"
);
assert_eq!(
Address::from(Transport::Tcp(
Tcp::new("localhost", 4142)
.set_family(Some(TcpTransportFamily::Ipv6))
.set_nonce_file(Some(b"/a/file/path to file 1234".to_vec()))
))
.to_string(),
"nonce-tcp:noncefile=/a/file/path%20to%20file%201234,host=localhost,port=4142,family=ipv6"
);
#[cfg(windows)]
assert_eq!(
Address::from(Transport::Autolaunch(Autolaunch::new())).to_string(),
"autolaunch:"
);
#[cfg(windows)]
assert_eq!(
Address::from(Transport::Autolaunch(
Autolaunch::new().set_scope(Some(AutolaunchScope::Other("*my_cool_scope*".to_string())))
))
.to_string(),
"autolaunch:scope=*my_cool_scope*"
);
#[cfg(target_os = "macos")]
assert_eq!(
Address::from(Transport::Launchd(Launchd::new("my_cool_key"))).to_string(),
"launchd:env=my_cool_key"
);
#[cfg(all(feature = "vsock", not(feature = "tokio")))]
{
let guid = crate::Guid::generate();
assert_eq!(
Address::from(Transport::Vsock(super::transport::Vsock::new(98, 2934)))
.set_guid(guid.clone())
.unwrap()
.to_string(),
format!("vsock:cid=98,port=2934,guid={guid}"),
);
}
}