public async Task WhenCreatingNewViewModeAndUserSettingsExistButResourceNoLongerExistsThenNoResourceIsLoadedFromUserSettings() { var expectedSelectedSubscription = new HierarchicalResource( new ResourceIdentifier(ResourceType.Subscription, "subId1", string.Empty, string.Empty), new List <HierarchicalResource>(), "subDisplayName1"); this.userSettings.SelectedSubscription = "subDisplayName1"; this.userSettings.SelectedResourceType = ResourceType.VirtualMachine.ToString(); this.userSettings.SelectedResource = "someDeletedVM"; this.smartDetectorConfigurationControlViewModel = new SmartDetectorConfigurationControlViewModel( this.azureResourceManagerClientMock.Object, this.tracerMock.Object, this.smartDetectorManifest, this.smartDetectorRunnerMock.Object, this.userSettings); // Wait for subscriptions & resources task await Task.Delay(TimeSpan.FromSeconds(1)); VerifyHierarchicalResource(expectedSelectedSubscription, this.smartDetectorConfigurationControlViewModel.SelectedSubscription); Assert.AreEqual(ResourceType.VirtualMachine.ToString(), this.smartDetectorConfigurationControlViewModel.SelectedResourceType); Assert.IsNull(this.smartDetectorConfigurationControlViewModel.SelectedResource); Assert.IsFalse(this.smartDetectorConfigurationControlViewModel.ShouldSelectResourcesAccordingToUserSettings); }
public void Setup() { this.smartDetectorRunnerMock = new Mock <IEmulationSmartDetectorRunner>(); this.azureResourceManagerClientMock = new Mock <IExtendedAzureResourceManagerClient>(); this.tracerMock = new Mock <ITracer>(); this.userSettings = new UserSettings(); this.smartDetectorManifest = new SmartDetectorManifest( "someId", "someName", "someDisplayName", Version.Parse("1.0"), "someAssemblyName", "someClassName", new List <ResourceType> { ResourceType.ResourceGroup, ResourceType.VirtualMachine }, new List <int> { 10, 60, 120 }, null, null); this.azureResourceManagerClientMock .Setup(x => x.GetAllSubscriptionsAsync(It.IsAny <CancellationToken>())) .ReturnsAsync(() => new List <AzureSubscription>() { new AzureSubscription("subId1", "subDisplayName1") }); this.azureResourceManagerClientMock .Setup(x => x.GetAllResourcesInSubscriptionAsync(It.IsAny <string>(), It.IsAny <IEnumerable <ResourceType> >(), It.IsAny <CancellationToken>())) .ReturnsAsync(() => new List <ResourceIdentifier>() { new ResourceIdentifier(ResourceType.VirtualMachine, "subId1", "someResourceGroup", "someVM") }); this.azureResourceManagerClientMock .Setup(x => x.GetAllResourceGroupsInSubscriptionAsync(It.IsAny <string>(), It.IsAny <CancellationToken>())) .ReturnsAsync(() => new List <ResourceIdentifier>() { new ResourceIdentifier(ResourceType.ResourceGroup, "subId1", "someResourceGroup", string.Empty) }); this.smartDetectorConfigurationControlViewModel = new SmartDetectorConfigurationControlViewModel( this.azureResourceManagerClientMock.Object, this.tracerMock.Object, this.smartDetectorManifest, this.smartDetectorRunnerMock.Object, this.userSettings); }
public async Task WhenSelectingSubscriptionForDetectorThatSupportsOnlyResourceGroupsThenTheReadResourcesTaskIsFiredAndFetchingOnlyResourceGroups() { // Update detector manifest to support only resource groups this.smartDetectorManifest = new SmartDetectorManifest( "someId", "someName", "someDescription", Version.Parse("1.0"), "someAssemblyName", "someClassName", new List <ResourceType> { ResourceType.ResourceGroup }, new List <int> { 10, 60, 120 }, null, null); this.smartDetectorConfigurationControlViewModel = new SmartDetectorConfigurationControlViewModel( this.azureResourceManagerClientMock.Object, this.tracerMock.Object, this.smartDetectorManifest, this.smartDetectorRunnerMock.Object, this.userSettings); var subscriptionToSelect = new HierarchicalResource( new ResourceIdentifier(ResourceType.Subscription, "subId1", string.Empty, string.Empty), new List <HierarchicalResource>(), "subDisplayName1"); this.smartDetectorConfigurationControlViewModel.SelectedSubscription = subscriptionToSelect; // Wait for resources task await Task.Delay(TimeSpan.FromSeconds(1)); var expectedFirstResourceIdentifier = new ResourceIdentifier(ResourceType.ResourceGroup, "subId1", "someResourceGroup", string.Empty); Assert.IsNotNull(this.smartDetectorConfigurationControlViewModel.ReadResourcesTask.Result); Assert.AreEqual(1, this.smartDetectorConfigurationControlViewModel.ReadResourcesTask.Result.Count); Assert.AreEqual(expectedFirstResourceIdentifier, this.smartDetectorConfigurationControlViewModel.ReadResourcesTask.Result[0]); }
public async Task WhenCreatingNewViewModeAndUserSettingsExistButSubscriptionNoLongetExistsThenNoResourcesWereLoadedFromUserSettings() { this.userSettings.SelectedSubscription = "deletedSubDisplayName"; this.userSettings.SelectedResourceType = ResourceType.VirtualMachine.ToString(); this.userSettings.SelectedResource = "someVM"; this.smartDetectorConfigurationControlViewModel = new SmartDetectorConfigurationControlViewModel( this.azureResourceManagerClientMock.Object, this.tracerMock.Object, this.smartDetectorManifest, this.smartDetectorRunnerMock.Object, this.userSettings); // Wait for subscriptions & resources task await Task.Delay(TimeSpan.FromSeconds(1)); Assert.IsNull(this.smartDetectorConfigurationControlViewModel.SelectedSubscription); Assert.AreEqual(ResourceType.VirtualMachine.ToString(), this.smartDetectorConfigurationControlViewModel.SelectedResourceType); Assert.IsNull(this.smartDetectorConfigurationControlViewModel.SelectedResource); Assert.IsFalse(this.smartDetectorConfigurationControlViewModel.ShouldSelectResourcesAccordingToUserSettings); }