in proxy_agent/src/host_clients/goal_state.rs [185:232]
fn shared_config_test() {
let shared_config_str = r#"<?xml version="1.0" encoding="utf-8"?>
<SharedConfig version="1.0.0.0" goalStateIncarnation="16">
<Deployment name="7d2798bb72a0413d9a60b355277df726" guid="{25a2c1a1-2986-4d1c-bd37-6abe8571218d}" incarnation="132" isNonCancellableTopologyChangeEnabled="false">
<Service name="TenantAdminApi.Cloud" guid="{00000000-0000-0000-0000-000000000000}" />
<ServiceInstance name="7d2798bb72a0413d9a60b355277df726.78" guid="{2733116f-69db-411d-91a0-a1f55849ba23}" />
</Deployment>
<Incarnation number="1" instance="TenantAdminApi.Worker_IN_0" guid="{b0b40fde-461e-461b-a451-af58347321a9}" />
<Role guid="{953935f8-9317-74e0-4236-7854486dd013}" name="TenantAdminApi.Worker" settleTimeSeconds="0" />
<LoadBalancerSettings timeoutSeconds="32" waitLoadBalancerProbeCount="8">
<Probes>
<Probe name="DataAPI.Worker" />
<Probe name="EE594D782E1C6640A88F13C68ACE44E2" />
<Probe name="7DFC3BF5C3491DDCE7AE643C84D4D28D" />
</Probes>
</LoadBalancerSettings>
<OutputEndpoints />
<Instances>
<Instance id="TenantAdminApi.Worker_IN_0" address="10.1.64.6">
<FaultDomains randomId="0" updateId="0" updateCount="1" />
<InputEndpoints>
<Endpoint name="HttpsEndpoint" address="10.1.64.6:443" protocol="https" certificateId="sha1:0553937140F34E9E22A9032E7CA0EE478D3E5662" enableClientCertNegotiation="false" hostName="dodce-a-01-api-interfaces-byoip" isPublic="true" loadBalancedPublicAddress="52.127.68.35:443" enableDirectServerReturn="false" isDirectAddress="false" disableStealthMode="false">
<LocalPorts>
<LocalPortRange from="443" to="443" />
</LocalPorts>
</Endpoint>
</InputEndpoints>
</Instance>
</Instances>
</SharedConfig>"#;
let shared_config = serde_xml_rs::from_str::<SharedConfig>(shared_config_str).unwrap();
assert_eq!(
"7d2798bb72a0413d9a60b355277df726",
shared_config.get_deployment_name(),
"deployment_name mismatch"
);
assert_eq!(
"TenantAdminApi.Worker",
shared_config.get_role_name(),
"role_name mismatch"
);
assert_eq!(
"TenantAdminApi.Worker_IN_0",
shared_config.get_role_instance_name(),
"role_instance_name mismatch"
);
}