public void Validate_GivenLongerThan8Chars_ReturnsTrue()
        {
            var testTarget       = new DefaultPasswordValidator();
            var password         = MakePassword(7) + "A";
            var validationResult = testTarget.Validate(password);

            Assert.True(validationResult);
        }
        public void Validate_GivenUpperCase_ReturnTrue()
        {
            var testTarget       = new DefaultPasswordValidator();
            var password         = "******"; // at least one upper case
            var validationResult = testTarget.Validate(password);

            Assert.True(validationResult);
        }
        public void Validate_GivenNoUpperCase_ReturnFalse()
        {
            var testTarget       = new DefaultPasswordValidator();
            var password         = MakePassword(8); // all lower case
            var validationResult = testTarget.Validate(password);

            Assert.False(validationResult);
        }
        public void Validate_GivenShorterThan8Chars_ReturnsFalse()
        {
            var testTarget       = new DefaultPasswordValidator();
            var password         = MakePassword(7);
            var validationResult = testTarget.Validate(password);

            Assert.False(validationResult);
        }
Example #5
0
        public void Validate_GivenOneUpperCase_ReturnsTrue()
        {
            //Given
            var testTarget = new DefaultPasswordValidator();
            var password   = MakeString(8) + "A"; // at least one upper case
            //When
            var validationResult = testTarget.Validate(password);

            //Then
            Assert.True(validationResult);
        }
Example #6
0
        public void Validate_GivenNoUpperCase_ReturnsFalse()
        {
            //Given
            var testTarget = new DefaultPasswordValidator();
            var password   = MakeString(8); // all lower case
            //When
            var validationResult = testTarget.Validate(password);

            //Then
            Assert.False(validationResult);
        }
Example #7
0
        public void Validate_GivenShorterThan8Characters_ReturnsFalse()
        {
            //Given
            var testTarget = new DefaultPasswordValidator();
            var password   = MakeString(6) + "A";
            //When
            var validationResult = testTarget.Validate(password);

            //Then
            Assert.False(validationResult);
        }
Example #8
0
        public void Validate_GivenLongerThan8Chars_ReturnsTrue()
        {
            //Given
            var testTarget = new DefaultPasswordValidator();
            var password   = MakeString(7) + "A";
            //When
            var validationResult = testTarget.Validate(password);


            //Then
            Assert.True(validationResult);
        }
Example #9
0
    public void ItValidatesPasswords()
    {
        var validator = new DefaultPasswordValidator();

        Assert.IsTrue(validator.IsValid("LetMeIn98"));
        Assert.IsTrue(validator.IsValid("LetMeIn98@&*"));
        Assert.IsTrue(validator.IsValid("Let Me In 98"));

        Assert.IsFalse(validator.IsValid("Let98"));
        Assert.IsFalse(validator.IsValid(" LetMeIn98 "));
        Assert.IsFalse(validator.IsValid("LetMeIn98\t"));
        Assert.IsFalse(validator.IsValid("LetMeInForReal"));
        Assert.IsFalse(validator.IsValid("letmeinforreal"));
    }
Example #10
0
 protected override bool CheckAccessCore(OperationContext operationContext)
 {
     //Extract the Athorizationm Header,a nd parse out the credentials converting to base64 string
     var authHeader = WebOperationContext.Current.IncomingRequest.Headers["Authorization"];
     if ((authHeader != null) && (authHeader != string.Empty))
     {
         var svcCredentials = System.Text.ASCIIEncoding.ASCII
            .GetString(Convert.FromBase64String(authHeader.Substring(6)))
            .Split(':');
         return DefaultPasswordValidator.ValidateCridentials(svcCredentials[0], svcCredentials[1]);
     }
     else
     {
         //No authorization header was provided, so challenge the client to provide before proceeding:
         WebOperationContext.Current.OutgoingResponse.Headers.Add("WWW-Authenticate: Basic realm=\"UpdaterService\"");
         //Throw an exception with the associated HTTP status code equivalent to HTTP status 401
         throw new FaultException("Please provide a username and password");
     }
 }
        public void VerifyPassword_EmptyPasswordWithValidatorFunction_CorrectResult()
        {
            string password = "";

            var repo            = new MockRepository(MockBehavior.Default);
            var reopositoryMock = repo.Create <IPasswordCheckerRepository>();

            reopositoryMock.Setup(lw => lw.Create(password));

            var validator = new DefaultPasswordValidator();

            var validationMock = repo.Create <IValidator <string> >();

            validationMock.Setup(lm => lm.IsValid(password)).Returns(validator.IsValid(password));

            var service = new PasswordCheckerService(reopositoryMock.Object, validationMock.Object);

            service.VerifyPassword(password);

            repo.Verify();
        }