Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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]);
        }
Esempio n. 4
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);
        }