public void ExtractDeployOptions_WithNullOrEmptyProperty_ShouldNotThrowException(string property) { // Arrange var buildOptions = new BuildOptions { DeployProperty = new[] { property } }; // Act Action action = () => buildOptions.ExtractDeployOptions(); // Assert action.ShouldNotThrow(); }
public void ExtractDeployOptions_WithIncorrectObjectTypesProperty_ShouldThrowException(string property) { // Arrange var buildOptions = new BuildOptions { DeployProperty = new[] { property } }; // Act Action action = () => buildOptions.ExtractDeployOptions(); // Assert action.ShouldThrow <ArgumentException>(); }
public void ExtractDeployOptions_WithIntegerProperty_ShouldParse() { // Arrange var buildOptions = new BuildOptions { DeployProperty = new[] { "CommandTimeout=200" } }; // Act var deployOptions = buildOptions.ExtractDeployOptions(); // Assert deployOptions.CommandTimeout.ShouldBe(200); }
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); }
public void ExtractDeployOptions_WithIncorrectBooleanProperty_ShouldThrowException() { // Arrange var buildOptions = new BuildOptions { DeployProperty = new[] { "CreateNewDatabase=WrongValue" } }; // Act Action action = () => buildOptions.ExtractDeployOptions(); // Assert action.ShouldThrow <ArgumentException>(); }
public void ExtractDeployOptions_WithIncorrectIntegerProperty_ShouldThrowException() { // Arrange var buildOptions = new BuildOptions { DeployProperty = new[] { "CommandTimeout=WrongValue" } }; // Act Action action = () => buildOptions.ExtractDeployOptions(); // Assert action.ShouldThrow <ArgumentException>(); }
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); }
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"); }
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(); }
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); }