public void Validate_AzureLandscapeIsFullyConfigured_Success()
        {
            // Arrange
            var azureLandscapeConfiguration = CreateLandscapeConfiguration();

            // Act
            var azureLandscapeValidationStep = new AzureLandscapeValidationStep(azureLandscapeConfiguration, NullLogger <AzureLandscapeValidationStep> .Instance);
            var validationResult             = azureLandscapeValidationStep.Run();

            // Assert
            PromitorAssert.ValidationIsSuccessful(validationResult);
        }
        public void Validate_NoSubscriptionIsConfigured_Fails()
        {
            // Arrange
            var azureLandscapeConfiguration = CreateLandscapeConfiguration();

            azureLandscapeConfiguration.Value.Subscriptions = null;

            // Act
            var azureLandscapeValidationStep = new AzureLandscapeValidationStep(azureLandscapeConfiguration, NullLogger <AzureLandscapeValidationStep> .Instance);
            var validationResult             = azureLandscapeValidationStep.Run();

            // Assert
            PromitorAssert.ValidationFailed(validationResult);
        }
        public void Validate_AzureCloudIsUnspecifiedIsConfigured_Fails()
        {
            // Arrange
            var azureLandscapeConfiguration = CreateLandscapeConfiguration();

            azureLandscapeConfiguration.Value.Cloud = AzureCloud.Unspecified;

            // Act
            var azureLandscapeValidationStep = new AzureLandscapeValidationStep(azureLandscapeConfiguration, NullLogger <AzureLandscapeValidationStep> .Instance);
            var validationResult             = azureLandscapeValidationStep.Run();

            // Assert
            PromitorAssert.ValidationFailed(validationResult);
        }
        public void Validate_InvalidTenantIdIsConfigured_Fails(string tenantId)
        {
            // Arrange
            var azureLandscapeConfiguration = CreateLandscapeConfiguration();

            azureLandscapeConfiguration.Value.TenantId = tenantId;

            // Act
            var azureLandscapeValidationStep = new AzureLandscapeValidationStep(azureLandscapeConfiguration, NullLogger <AzureLandscapeValidationStep> .Instance);
            var validationResult             = azureLandscapeValidationStep.Run();

            // Assert
            PromitorAssert.ValidationFailed(validationResult);
        }
        public void Validate_DuplicateSubscriptionsAreConfigured_Fails()
        {
            // Arrange
            var subscriptionId = Guid.NewGuid().ToString();
            var azureLandscapeConfiguration = CreateLandscapeConfiguration();

            azureLandscapeConfiguration.Value.Subscriptions = new List <string> {
                subscriptionId, subscriptionId
            };

            // Act
            var azureLandscapeValidationStep = new AzureLandscapeValidationStep(azureLandscapeConfiguration, NullLogger <AzureLandscapeValidationStep> .Instance);
            var validationResult             = azureLandscapeValidationStep.Run();

            // Assert
            PromitorAssert.ValidationFailed(validationResult);
        }