public void SetPropertyInvalidFormat()
        {
            // Arrange
            var packageDeployer = new PackageDeployer(_console);

            // Act
            Should.Throw <ArgumentException>(() => packageDeployer.SetDeployProperty("AllowDropBlockingAssemblies=ARandomString"));
        }
        public void SetProperty_SqlCommandVariableValues_ShouldThrowException()
        {
            // Arrange
            var packageDeployer = new PackageDeployer(_console);

            // Assert
            Should.Throw <ArgumentException>(() => packageDeployer.SetDeployProperty("SqlCommandVariableValues=var1,var2"));
        }
        public void SetPropertyExcludeObjectTypes()
        {
            // Arrange
            var packageDeployer = new PackageDeployer(_console);

            // Act
            packageDeployer.SetDeployProperty("ExcludeObjectTypes=Contracts,Endpoints");

            // Assert
            packageDeployer.DeployOptions.ExcludeObjectTypes.ShouldBe(new ObjectType[] { ObjectType.Contracts, ObjectType.Endpoints });
        }
        public void SetPropertyDoNotDropObjectTypes()
        {
            // Arrange
            var packageDeployer = new PackageDeployer(_console);

            // Act
            packageDeployer.SetDeployProperty("DoNotDropObjectTypes=Aggregates,Assemblies");

            // Assert
            packageDeployer.DeployOptions.DoNotDropObjectTypes.ShouldBe(new ObjectType[] { ObjectType.Aggregates, ObjectType.Assemblies });
        }
        public void SetPropertyDatabaseSpecificationInvalidEdition()
        {
            // Arrange
            var packageDeployer = new PackageDeployer(_console);
            var packagePath     = BuildSimpleModel();

            // Act
            Should.Throw <ArgumentException>(() => packageDeployer.SetDeployProperty("DatabaseSpecification=MyFancyEdition;1024;P15"));

            // Assert
            packageDeployer.DeployOptions.DatabaseSpecification.Edition.ShouldBe(DacAzureEdition.Default);
            packageDeployer.DeployOptions.DatabaseSpecification.MaximumSize.ShouldBe(default);
        public void SetPropertyDatabaseSpecification()
        {
            // Arrange
            var packageDeployer = new PackageDeployer(_console);

            // Act
            packageDeployer.SetDeployProperty("DatabaseSpecification=Hyperscale,1024,P15");

            // Assert
            packageDeployer.DeployOptions.DatabaseSpecification.Edition.ShouldBe(DacAzureEdition.Hyperscale);
            packageDeployer.DeployOptions.DatabaseSpecification.MaximumSize.ShouldBe(1024);
            packageDeployer.DeployOptions.DatabaseSpecification.ServiceObjective.ShouldBe("P15");
        }