private bool TestAuthenticate(string ldapServer, string userName, string pwd)
        {
            _viewModel.AddToProgress(DateTime.Now,
                $@"Authenthicate",
                "BEGIN",
                true,
                $@">User:'******'" + Environment.NewLine + $">LDAP:'{ldapServer}'");


            var utility = new LdapUtility(ldapServer, userName, pwd);

            COMException exception;
            var isAuthenticated = utility.Authenticate(out exception);

            var progress = _viewModel.AddToProgress(DateTime.Now,
                $@"Authenthicate",
                $"Authenticated: {isAuthenticated}",
                isAuthenticated,
                $@">User:'******'" + Environment.NewLine + $">LDAP:'{ldapServer}'");
            //
            if (!isAuthenticated)
            {
                progress.Note += $"\n{exception.Message}";
                if (exception.InnerException != null)
                {
                    progress.Note += $"\n{exception.InnerException.Message}";
                }
                _viewModel.Refresh();
                MessageBoxResult msgBoxResult = MessageBox.Show("Are you typing the wrong UserName/Password?",
                    "Confirmation",
                    MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (msgBoxResult == MessageBoxResult.Yes)
                {
                    progress.Note += "[typing the wrong UserName/Password]";
                    _viewModel.Refresh();
                }
            }
            return isAuthenticated;
        }
 public void Find_Not_Existence_User()
 {
     var utility = new LdapUtility(validPathByIP, validUserName, validPassword);
     var userInfo = utility.FindUser(inValidUserName);
     Assert.IsNull(userInfo);
 }
 public void Authenticate_Unauthorized_BecauseOf_Wrong_Password()
 {
     var utility = new LdapUtility(validPathByIP, validUserName, inValidPassword);
     var isAuthenticated = utility.Authenticate();
     Assert.IsFalse(isAuthenticated);
 }
 public void Authenticate_Authorized_Use_FullyDNS()
 {
     var utility = new LdapUtility(validPathByFullyDNS, validUserName, validPassword);
     var isAuthenticated = utility.Authenticate();
     Assert.IsTrue(isAuthenticated);
 }
        private bool CheckIfUserExist(string ldapServer, string userName, string pwd)
        {
            try
            {
                _viewModel.AddToProgress(DateTime.Now,
                $@"FindUser",
                "BEGIN",
                true,
                $@">User:'******'"+Environment.NewLine+$">LDAP:'{ldapServer}'");
                var utility = new LdapUtility(ldapServer, userName, pwd);
                var userInfo = utility.FindUser(userName);
                _viewModel.AddToProgress(DateTime.Now,
                    $@"FindUser",
                    $"Found user: {userInfo != null}",
                    userInfo != null,
                    $@">User:'******'" + Environment.NewLine + $">LDAP:'{ldapServer}'");
                return userInfo != null;
            }
            catch (Exception ex)
            {
                _viewModel.AddToProgress(DateTime.Now,
                    $@"FindUser",
                    "ERR",
                    true,
                    $@">User:'******'" + Environment.NewLine + $">LDAP:'{ldapServer}'"+Environment.NewLine+$"{ex.Message}");
                return false;
            }

        }