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); }
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); }