public async Task SetUserWithConcurrencyStampMismatch_ReturnsConcurrencyFailure() { var stateManager = new Mock <IActorStateManager>(); var existingUser = new User { Id = Guid.NewGuid(), UserName = "******", NormalizedUserName = "******", ConcurrencyStamp = Guid.NewGuid().ToString() }; var newUser = new User { Id = existingUser.Id, UserName = "******", NormalizedUserName = "******", ConcurrencyStamp = Guid.NewGuid().ToString() }; stateManager.Setup(manager => manager .GetStateAsync <User>("User", It.IsAny <CancellationToken>())) .Returns(Task.FromResult(existingUser)); UserActor testDemoActor = await CreateUserActor(stateManager.Object, newUser.Id); IdentityResult result = await testDemoActor.SetUser(newUser); result.Succeeded.Should().BeFalse(); result.Errors.Should().HaveCount(1); IdentityError error = new IdentityErrorDescriber().ConcurrencyFailure(); IdentityError resultError = result.Errors.First(); resultError.Code.Should().Be(error.Code); resultError.Description.Should().Be(error.Description); }
public async Task CreateUser_ExpectSetStateAsync() { var stateManager = new Mock <IActorStateManager>(); var user = new User { Id = "user id", UserName = "******", NormalizedUserName = "******" }; stateManager.Setup(manager => manager.SetStateAsync("User", user, It.IsAny <CancellationToken>())).Verifiable(); UserActor testDemoActor = await CreateUserActor(stateManager.Object, user.Id); IdentityResult result = await testDemoActor.SetUser(user); result.Succeeded.Should().BeTrue(); stateManager.VerifyAll(); }
public async Task SetNewUser_ExpectConcurrencyStampChange() { var stateManager = new Mock <IActorStateManager>(); string concurrencyStamp = Guid.NewGuid().ToString(); var user = new User { Id = Guid.NewGuid(), UserName = "******", NormalizedUserName = "******", ConcurrencyStamp = concurrencyStamp }; stateManager.Setup(manager => manager.SetStateAsync("User", user, It.IsAny <CancellationToken>())).Verifiable(); UserActor testDemoActor = await CreateUserActor(stateManager.Object, user.Id); IdentityResult result = await testDemoActor.SetUser(user); result.Succeeded.Should().BeTrue(); user.Should().NotBe(concurrencyStamp); stateManager.VerifyAll(); }
public async Task SetUserWithInvalidId_ThrowsException() { var stateManager = new Mock <IActorStateManager>(); var user = new User { Id = "user id", UserName = "******", NormalizedUserName = "******" }; stateManager.Setup(manager => manager.GetStateAsync <User>("User", It.IsAny <CancellationToken>())) .Returns(Task.FromResult(user)); UserActor testDemoActor = await CreateUserActor(stateManager.Object, user.Id); await Invoking(async() => await testDemoActor.SetUser(new User { Id = " ", UserName = "******", NormalizedUserName = "******" })) .Should() .ThrowAsync <ArgumentOutOfRangeException>(); stateManager.VerifyAll(); }