in libazureinit/src/media.rs [443:513]
fn test_get_ovf_env_missing_type() {
let ovf_body = r#"
<Environment xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
xmlns:wa="http://schemas.microsoft.com/windowsazure"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wa:ProvisioningSection>
<wa:Version>1.0</wa:Version>
<LinuxProvisioningConfigurationSet
xmlns="http://schemas.microsoft.com/windowsazure"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ConfigurationSetType>LinuxProvisioningConfiguration</ConfigurationSetType>
<UserName>myusername</UserName>
<UserPassword></UserPassword>
<DisableSshPasswordAuthentication>false</DisableSshPasswordAuthentication>
<HostName>myhostname</HostName>
</LinuxProvisioningConfigurationSet>
</wa:ProvisioningSection>
<wa:PlatformSettingsSection>
<wa:Version>1.0</wa:Version>
<PlatformSettings xmlns="http://schemas.microsoft.com/windowsazure"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<KmsServerHostname>kms.core.windows.net</KmsServerHostname>
<ProvisionGuestAgent>true</ProvisionGuestAgent>
<GuestAgentPackageName i:nil="true"/>
<RetainWindowsPEPassInUnattend>true</RetainWindowsPEPassInUnattend>
<RetainOfflineServicingPassInUnattend>true</RetainOfflineServicingPassInUnattend>
<PreprovisionedVm>false</PreprovisionedVm>
<EnableTrustedImageIdentifier>false</EnableTrustedImageIdentifier>
</PlatformSettings>
</wa:PlatformSettingsSection>
</Environment>"#;
let environment: Environment = parse_ovf_env(ovf_body).unwrap();
assert_eq!(
environment
.provisioning_section
.linux_prov_conf_set
.username,
"myusername"
);
assert_eq!(
environment
.provisioning_section
.linux_prov_conf_set
.password,
""
);
assert_eq!(
environment
.provisioning_section
.linux_prov_conf_set
.hostname,
"myhostname"
);
assert_eq!(
environment
.platform_settings_section
.platform_settings
.preprovisioned_vm,
false
);
assert_eq!(
environment
.platform_settings_section
.platform_settings
.preprovisioned_vm_type,
"None"
);
}