Beispiel #1
0
        public void ExtractDeployOptions_WithNullOrEmptyProperty_ShouldNotThrowException(string property)
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[] { property }
            };

            // Act
            Action action = () => buildOptions.ExtractDeployOptions();

            // Assert
            action.ShouldNotThrow();
        }
Beispiel #2
0
        public void ExtractDeployOptions_WithIncorrectObjectTypesProperty_ShouldThrowException(string property)
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[] { property }
            };

            // Act
            Action action = () => buildOptions.ExtractDeployOptions();

            // Assert
            action.ShouldThrow <ArgumentException>();
        }
Beispiel #3
0
        public void ExtractDeployOptions_WithIntegerProperty_ShouldParse()
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[] { "CommandTimeout=200" }
            };

            // Act
            var deployOptions = buildOptions.ExtractDeployOptions();

            // Assert
            deployOptions.CommandTimeout.ShouldBe(200);
        }
Beispiel #4
0
        public void ExtractDeployOptions_WithWronglyFormattedOrhUnknownProperty_ShouldThrowException(string property, Type exceptionType)
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[] { property }
            };

            // Act
            Action action = () => buildOptions.ExtractDeployOptions();

            // Assert
            action.ShouldThrow(exceptionType);
        }
Beispiel #5
0
        public void ExtractDeployOptions_WithIncorrectBooleanProperty_ShouldThrowException()
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[] { "CreateNewDatabase=WrongValue" }
            };

            // Act
            Action action = () => buildOptions.ExtractDeployOptions();

            // Assert
            action.ShouldThrow <ArgumentException>();
        }
Beispiel #6
0
        public void ExtractDeployOptions_WithIncorrectIntegerProperty_ShouldThrowException()
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[] { "CommandTimeout=WrongValue" }
            };

            // Act
            Action action = () => buildOptions.ExtractDeployOptions();

            // Assert
            action.ShouldThrow <ArgumentException>();
        }
Beispiel #7
0
        public void ExtractDeployOptions_WithIncorrectDacAzureDatabaseSpecificationProperty_ShouldThrowException(string propertyValue, string exceptionMessage)
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[] { $"DatabaseSpecification={propertyValue}" }
            };

            // Act
            Action action = () => buildOptions.ExtractDeployOptions();

            // Assert
            action.ShouldThrow <ArgumentException>().Message.ShouldStartWith(exceptionMessage);
        }
Beispiel #8
0
        public void ExtractDeployOptions_WithDacAzureDatabaseSpecificationProperty_ShouldParse()
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[] { $"DatabaseSpecification={DacAzureEdition.DataWarehouse},20,S3" }
            };

            // Act
            var deployOptions = buildOptions.ExtractDeployOptions();

            // Assert
            deployOptions.DatabaseSpecification.ShouldNotBeNull();
            deployOptions.DatabaseSpecification.Edition.ShouldBe(DacAzureEdition.DataWarehouse);
            deployOptions.DatabaseSpecification.MaximumSize.ShouldBe(20);
            deployOptions.DatabaseSpecification.ServiceObjective.ShouldBe("S3");
        }
Beispiel #9
0
        public void ExtractDeployOptions_WithBooleanProperties_ShouldParse()
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[]
                {
                    "CreateNewDatabase=True",
                    "IgnoreAuthorizer=True"
                }
            };

            // Act
            var deployOptions = buildOptions.ExtractDeployOptions();

            // Assert
            deployOptions.CreateNewDatabase.ShouldBeTrue();
            deployOptions.IgnoreAuthorizer.ShouldBeTrue();
        }
Beispiel #10
0
        public void ExtractDeployOptions_WithObjectTypesProperties_ShouldParse()
        {
            // Arrange
            var buildOptions = new BuildOptions {
                DeployProperty = new[]
                {
                    $"ExcludeObjectTypes={ObjectType.Audits},{ObjectType.Endpoints},{ObjectType.Queues}",
                    $"DoNotDropObjectTypes={ObjectType.Certificates},{ObjectType.Contracts}"
                }
            };

            // Act
            var deployOptions = buildOptions.ExtractDeployOptions();

            // Assert
            deployOptions.ExcludeObjectTypes.Length.ShouldBe(3);
            deployOptions.ExcludeObjectTypes.ShouldContain(ObjectType.Audits);
            deployOptions.ExcludeObjectTypes.ShouldContain(ObjectType.Endpoints);
            deployOptions.ExcludeObjectTypes.ShouldContain(ObjectType.Queues);

            deployOptions.DoNotDropObjectTypes.Length.ShouldBe(2);
            deployOptions.DoNotDropObjectTypes.ShouldContain(ObjectType.Certificates);
            deployOptions.DoNotDropObjectTypes.ShouldContain(ObjectType.Contracts);
        }