in sdk/keyvault/azure_security_keyvault_certificates/src/resource.rs [213:277]
fn test_deconstruct() {
deconstruct(&"file:///tmp".parse().unwrap(), true).expect_err("cannot-be-base url");
deconstruct(&"https://vault.azure.net/".parse().unwrap(), true)
.expect_err("missing collection");
deconstruct(
&"https://vault.azure.net/collection/".parse().unwrap(),
true,
)
.expect_err("invalid collection");
deconstruct(
&"https://vault.azure.net/certificates/".parse().unwrap(),
true,
)
.expect_err("missing name");
let url: Url = "https://vault.azure.net/certificates/name".parse().unwrap();
assert_eq!(
deconstruct(&url, true).unwrap(),
ResourceId {
source_id: url.to_string(),
vault_url: "https://vault.azure.net".into(),
name: "name".into(),
version: None
}
);
let url: Url = "https://vault.azure.net/certificates/name/version"
.parse()
.unwrap();
assert_eq!(
deconstruct(&url, true).unwrap(),
ResourceId {
source_id: url.to_string(),
vault_url: "https://vault.azure.net".into(),
name: "name".into(),
version: Some("version".into()),
}
);
let url: Url = "https://vault.azure.net:443/certificates/name/version"
.parse()
.unwrap();
assert_eq!(
deconstruct(&url, true).unwrap(),
ResourceId {
source_id: url.to_string(),
vault_url: "https://vault.azure.net".into(),
name: "name".into(),
version: Some("version".into()),
}
);
let url: Url = "https://vault.azure.net:8443/certificates/name/version"
.parse()
.unwrap();
assert_eq!(
deconstruct(&url, true).unwrap(),
ResourceId {
source_id: url.to_string(),
vault_url: "https://vault.azure.net:8443".into(),
name: "name".into(),
version: Some("version".into()),
}
);
}