Exemple #1
0
        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);
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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();
        }