From c260beab52f6dd1235862146d60159d1f4f54161 Mon Sep 17 00:00:00 2001 From: Suhas Joshi Date: Fri, 13 Mar 2015 12:37:03 -0700 Subject: [PATCH] If condition to NOP --- src/Microsoft.AspNet.Identity/UserManager.cs | 6 ++++++ .../UserManagerTest.cs | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/Microsoft.AspNet.Identity/UserManager.cs b/src/Microsoft.AspNet.Identity/UserManager.cs index 65dfccdd09..9a5c3c1a32 100644 --- a/src/Microsoft.AspNet.Identity/UserManager.cs +++ b/src/Microsoft.AspNet.Identity/UserManager.cs @@ -1784,6 +1784,12 @@ namespace Microsoft.AspNet.Identity { throw new ArgumentNullException("user"); } + + if (await GetAccessFailedCountAsync(user) == 0) + { + return IdentityResult.Success; + } + await store.ResetAccessFailedCountAsync(user, CancellationToken); return await LogResultAsync(await UpdateUserAsync(user), user); } diff --git a/test/Microsoft.AspNet.Identity.Test/UserManagerTest.cs b/test/Microsoft.AspNet.Identity.Test/UserManagerTest.cs index b1f95cb7c6..827e5e89e5 100644 --- a/test/Microsoft.AspNet.Identity.Test/UserManagerTest.cs +++ b/test/Microsoft.AspNet.Identity.Test/UserManagerTest.cs @@ -627,6 +627,20 @@ namespace Microsoft.AspNet.Identity.Test BadPasswordValidator.ErrorMessage); } + [Fact] + public async Task ResetTokenCallNoopForTokenValueZero() + { + var user = new IdentityUser() { UserName = Guid.NewGuid().ToString()}; + var store = new Mock>(); + store.Setup(x => x.ResetAccessFailedCountAsync(user, It.IsAny())).Returns(() => + { + throw new Exception(); + }); + var manager = MockHelpers.TestUserManager(store.Object); + + IdentityResultAssert.IsSuccess(await manager.ResetAccessFailedCountAsync(user)); + } + [Fact] public async Task ManagerPublicNullChecks() {