Galen.CI.Azure.Sql.Sharding.App.Arguments.DeployArgs.Validate C# (CSharp) Method

Validate() public method

public Validate ( ) : void
return void
        public void Validate()
        {
            if (string.IsNullOrWhiteSpace(ConnectionString))
            {
                throw new ValidationArgException("Connection string is required for deployment.");
            }

            if (UseWindowsLogin && !HasLoginName)
            {
                throw new ValidationArgException("Login name is required when UseWindowsLogin is specified.");
            }

            if (HasLoginPassword && !HasLoginName)
            {
                throw new ValidationArgException("Login name is required when LoginPassword is specified.");
            }

            if (HasLoginName && !UseWindowsLogin && !HasLoginPassword)
            {
                throw new ValidationArgException("LoginPassword is required when creating a login and not using Windows login.");
            }

            if (UseWindowsLogin && HasLoginPassword)
            {
                throw new ValidationArgException("LoginPassword cannot be specified when using Windows login.");
            }

            if (HasDatabaseUserName && !HasLoginName)
            {
                throw new ValidationArgException("LoginName is required when creating database user.");
            }
        }
    }

Usage Example

        public void CorrectlyAcceptsValidArguments()
        {
            var sut = new DeployArgs
            {
                ConnectionString = @"Server = (localdb)\mssqllocaldb; Initial Catalog = SomeTestDb; Integrated Security = true; Application Name = Galen.CI.Azure.Sql.Sharding.App.Tests; "
            };

            // should not throw exception
            // connection string by itself is valid
            sut.Validate();

            // should not throw exception
            // connection string w/both a login name and password is valid when not using Windows login
            sut.LoginName = "MySqlLogin";
            sut.LoginPassword = "******";
            sut.Validate();

            // should not throw exception
            // connection string w/login name and no password is valid when using Windows login
            sut.LoginPassword = null;
            sut.UseWindowsLogin = true;
            sut.Validate();

            // should not throw exception
            // connection string w/database user name is valid when login name is provided with no password and using Windows login
            sut.DatabaseUserName = "******";
            sut.Validate();

            // should not throw exception
            // connection string w/database user name is valid when login name and password are provided and not using Windows login
            sut.LoginPassword = "******";
            sut.UseWindowsLogin = false;
            sut.Validate();
        }
All Usage Examples Of Galen.CI.Azure.Sql.Sharding.App.Arguments.DeployArgs::Validate
DeployArgs