fn goal_state_test()

in proxy_agent/src/host_clients/goal_state.rs [141:182]


    fn goal_state_test() {
        let goal_state_str = r#"<?xml version="1.0" encoding="utf-8"?>
        <GoalState xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="goalstate10.xsd">
          <Version>2015-04-05</Version>
          <Incarnation>16</Incarnation>
          <Machine>
            <ExpectedState>Started</ExpectedState>
            <StopRolesDeadlineHint>300000</StopRolesDeadlineHint>
            <LBProbePorts>
              <Port>16001</Port>
            </LBProbePorts>
            <ExpectHealthReport>TRUE</ExpectHealthReport>
            <Package>http://168.63.129.16:80/machine/?comp=package&amp;incarnation=Win8-Win8_2.7.32211.3_221108-1339_GuestAgentPackage_NoWER.zip</Package>
            <PackageIncarnation>Win8-Win8_2.7.32211.3_221108-1339_GuestAgentPackage_NoWER.zip</PackageIncarnation>
          </Machine>
          <Container>
            <ContainerId>374188df-b0a2-456a-a7b2-83f28b18d36f</ContainerId>
            <RoleInstanceList>
              <RoleInstance>
                <InstanceId>7d2798bb72a0413d9a60b355277df726.TenantAdminApi.Worker_IN_0</InstanceId>
                <State>Started</State>
                <Configuration>
                  <HostingEnvironmentConfig>http://168.63.129.16:80/machine/374188df-b0a2-456a-a7b2-83f28b18d36f/7d2798bb72a0413d9a60b355277df726.TenantAdminApi.Worker%5FIN%5F0?comp=config&amp;type=hostingEnvironmentConfig&amp;incarnation=16</HostingEnvironmentConfig>
                  <SharedConfig>http://168.63.129.16:80/machine/374188df-b0a2-456a-a7b2-83f28b18d36f/7d2798bb72a0413d9a60b355277df726.TenantAdminApi.Worker%5FIN%5F0?comp=config&amp;type=sharedConfig&amp;incarnation=16</SharedConfig>
                  <ExtensionsConfig>http://168.63.129.16:80/machine/374188df-b0a2-456a-a7b2-83f28b18d36f/7d2798bb72a0413d9a60b355277df726.TenantAdminApi.Worker%5FIN%5F0?comp=config&amp;type=extensionsConfig&amp;incarnation=16</ExtensionsConfig>
                  <FullConfig>http://168.63.129.16:80/machine/374188df-b0a2-456a-a7b2-83f28b18d36f/7d2798bb72a0413d9a60b355277df726.TenantAdminApi.Worker%5FIN%5F0?comp=config&amp;type=fullConfig&amp;incarnation=16</FullConfig>
                  <Certificates>http://168.63.129.16:80/machine/374188df-b0a2-456a-a7b2-83f28b18d36f/7d2798bb72a0413d9a60b355277df726.TenantAdminApi.Worker%5FIN%5F0?comp=certificates&amp;incarnation=16</Certificates>
                  <ConfigName>7d2798bb72a0413d9a60b355277df726.132.7d2798bb72a0413d9a60b355277df726.78.TenantAdminApi.Worker_IN_0.1.xml</ConfigName>
                </Configuration>
              </RoleInstance>
            </RoleInstanceList>
          </Container>
        </GoalState>"#;

        let goal_state = serde_xml_rs::from_str::<GoalState>(goal_state_str).unwrap();
        assert_eq!(
            "374188df-b0a2-456a-a7b2-83f28b18d36f",
            goal_state.get_container_id(),
            "ContainerId mismatch"
        );
        assert_eq!("http://168.63.129.16:80/machine/374188df-b0a2-456a-a7b2-83f28b18d36f/7d2798bb72a0413d9a60b355277df726.TenantAdminApi.Worker%5FIN%5F0?comp=config&type=sharedConfig&incarnation=16", goal_state.get_shared_config_uri(), "SharedConfig mismatch");
    }