Example #1
0
        public void SelectMostPackedDedicatedHostTest()
        {
            const string expectedHostId = "/subscriptions/6e412d70-9128-48a7-97b4-04e5bd35cefc/resourceGroups/63296244-ce2c-46d8-bc36-3e558792fbee/providers/Microsoft.Compute/hostGroups/citrix-dhg/hosts/20887a6e-0866-4bae-82b7-880839d9e76b";
            var          loggerMock     = new Mock <ILogger <DedicatedHostSelector> >();
            var          dedicatedHostStateManagerMock = new Mock <IDedicatedHostStateManager>();
            var          dhmComputeClientMock          = new Mock <IDhmComputeClient>();
            var          config = new Config();

            config.HostSelectorVmSize = "Standard_D2s_v3";
            var dedicatedHostList =
                JsonConvert.DeserializeObject <List <DedicatedHost> >(
                    File.ReadAllText(@"TestData\dedicatedHostsInput2.json"));

            var dedicatedHostSelector = new DedicatedHostSelectorTest(
                loggerMock.Object,
                dedicatedHostStateManagerMock.Object,
                config,
                dhmComputeClientMock.Object);
            var actualHostId = dedicatedHostSelector.SelectMostPackedHost(dedicatedHostList);

            Assert.Equal(actualHostId.Id, expectedHostId);
        }
Example #2
0
        public async Task SelectDedicatedHostTest()
        {
            const string expectedHostId = "/subscriptions/6e412d70-9128-48a7-97b4-04e5bd35cefc/resourceGroups/63296244-ce2c-46d8-bc36-3e558792fbee/providers/Microsoft.Compute/hostGroups/citrix-dhg/hosts/20887a6e-0866-4bae-82b7-880839d9e76b";
            var          loggerMock     = new Mock <ILogger <DedicatedHostSelector> >();
            var          dedicatedHostStateManagerMock = new Mock <IDedicatedHostStateManager>();
            var          config = new Config();
            var          dhmComputeClientMock = new Mock <IDhmComputeClient>();

            dedicatedHostStateManagerMock.Setup(s => s.IsHostAtCapacity(It.IsAny <string>())).Returns(false);
            var dedicatedHostList =
                JsonConvert.DeserializeObject <List <DedicatedHost> >(
                    File.ReadAllText(@"TestData\dedicatedHostsInput1.json"));
            var mockDedicatedHostResponse1 = new AzureOperationResponse <DedicatedHost>
            {
                Body = dedicatedHostList.First(d => d.Name.Equals("dh1", StringComparison.InvariantCultureIgnoreCase))
            };
            var mockDedicatedHostResponse2 = new AzureOperationResponse <DedicatedHost>
            {
                Body = dedicatedHostList.First(d => d.Name.Equals("dh2", StringComparison.InvariantCultureIgnoreCase))
            };
            var computeManagementClientMock = new Mock <IComputeManagementClient>();

            computeManagementClientMock
            .Setup(
                s => s.DedicatedHosts.GetWithHttpMessagesAsync(
                    It.IsAny <string>(),
                    It.IsAny <string>(),
                    "dh1",
                    InstanceViewTypes.InstanceView,
                    null,
                    It.IsAny <CancellationToken>()))
            .ReturnsAsync(mockDedicatedHostResponse1);
            computeManagementClientMock
            .Setup(
                s => s.DedicatedHosts.GetWithHttpMessagesAsync(
                    It.IsAny <string>(),
                    It.IsAny <string>(),
                    "dh2",
                    InstanceViewTypes.InstanceView,
                    null,
                    It.IsAny <CancellationToken>()))
            .ReturnsAsync(mockDedicatedHostResponse2);
            dhmComputeClientMock.Setup(s =>
                                       s.GetComputeManagementClient(
                                           It.IsAny <string>(),
                                           It.IsAny <AzureCredentials>(),
                                           It.IsAny <AzureEnvironment>()))
            .ReturnsAsync(computeManagementClientMock.Object);

            var dedicatedHostSelector = new DedicatedHostSelectorTest(
                loggerMock.Object,
                dedicatedHostStateManagerMock.Object,
                config,
                dhmComputeClientMock.Object);
            var actualHostId = await dedicatedHostSelector.SelectDedicatedHost(
                Token,
                AzureEnvironment.AzureUSGovernment,
                TenantId,
                SubscriptionId,
                ResourceGroup,
                HostGroupName,
                VmSize);

            Assert.Equal(actualHostId, expectedHostId);
        }