예제 #1
0
        public async Task SucceedsIfNullPassword()
        {
            var client = new Mock <IPwnedPasswordsClient>();

            string input     = null;
            var    manager   = MockHelpers.TestUserManager <TestUser>();
            var    validator = new PwnedPasswordValidator <TestUser>(client.Object, Settings);

            IdentityResultAssert.IsSuccess(await validator.ValidateAsync(manager, null, input));
        }
예제 #2
0
        public async Task SucceedsIfZeroLengthPassword()
        {
            var client = new Mock <IPwnedPasswordsClient>();

            var input     = string.Empty;
            var manager   = MockHelpers.TestUserManager <TestUser>();
            var validator = new PwnedPasswordValidator <TestUser>(client.Object, Describer);

            IdentityResultAssert.IsSuccess(await validator.ValidateAsync(manager, null, input));
        }
예제 #3
0
        public async Task FailsIfZeroLengthPassword()
        {
            var service = new Mock <IPwnedPasswordService>();

            var input     = string.Empty;
            var manager   = MockHelpers.TestUserManager <TestUser>();
            var validator = new PwnedPasswordValidator <TestUser>(service.Object);

            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, null, input), _error);
        }
예제 #4
0
        public async Task SuccessIfServiceIndicatesPasswordIsNotPwned()
        {
            var service = new Mock <IPwnedPasswordService>();

            service.Setup(x => x.HasPasswordBeenPwned(It.IsAny <string>())).ReturnsAsync(false);

            var input     = "password";
            var manager   = MockHelpers.TestUserManager <TestUser>();
            var validator = new PwnedPasswordValidator <TestUser>(service.Object);

            IdentityResultAssert.IsSuccess(await validator.ValidateAsync(manager, null, input));
        }
        public async Task ValidateAsync_ShouldSucceed()
        {
            var client = new Mock <IPwnedPasswordClient>();

            client.Setup(x => x.HasPasswordBeenPwned(It.IsAny <string>()))
            .ReturnsAsync(false);
            var pwnedValidator = new PwnedPasswordValidator <TestUser>(client.Object);

            var identityResult = await pwnedValidator.ValidateAsync(_userManager, null, "password");

            Assert.IsTrue(identityResult.Succeeded);
        }
예제 #6
0
        public async Task SuccessIfclientIndicatesPasswordIsNotPwned()
        {
            var client = new Mock <IPwnedPasswordsClient>();

            client.Setup(x => x.HasPasswordBeenPwned(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(false);

            var input     = "password";
            var manager   = MockHelpers.TestUserManager <TestUser>();
            var validator = new PwnedPasswordValidator <TestUser>(client.Object, Describer);

            IdentityResultAssert.IsSuccess(await validator.ValidateAsync(manager, null, input));
        }
예제 #7
0
        public async Task FailsIfclientIndicatesPasswordIsPwned()
        {
            var client = new Mock <IPwnedPasswordsClient>();

            client.Setup(x => x.HasPasswordBeenPwned(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(true);

            var input     = "password";
            var manager   = MockHelpers.TestUserManager <TestUser>();
            var validator = new PwnedPasswordValidator <TestUser>(client.Object, Settings);

            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, null, input), _error);
        }
        public async Task ValidateAsync_ShouldFail()
        {
            var client = new Mock <IPwnedPasswordClient>();

            client.Setup(x => x.HasPasswordBeenPwned(It.IsAny <string>()))
            .ReturnsAsync(true);
            var pwnedValidator = new PwnedPasswordValidator <TestUser>(client.Object);

            var identityResult = await pwnedValidator.ValidateAsync(_userManager, null, "password");

            Assert.IsFalse(identityResult.Succeeded);
            Assert.AreEqual(identityResult.Errors.First().Code, ErrorCodes.PwnedPassword);
        }
예제 #9
0
        public async Task ReturnsMessageFromOverriddenDescriber()
        {
            var client = new Mock <IPwnedPasswordsClient>();

            client.Setup(x => x.HasPasswordBeenPwned(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(true);

            var input     = "password";
            var manager   = MockHelpers.TestUserManager <TestUser>();
            var validator = new PwnedPasswordValidator <TestUser>(client.Object, new OverriddenErrorDescriber());

            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, null, input),
                                           OverriddenErrorDescriber.OverriddenDescription);
        }