Пример #1
0
            public void ThrowsIfNewPasswordIsNull()
            {
                var repository = new InMemoryRepository();
                var user       = new ChatUser
                {
                    Name           = "Test",
                    Salt           = "salt",
                    HashedPassword = "******".ToSha256("salt")
                };

                repository.Add(user);
                var service = new ChatService(repository, new Mock <ICryptoService>().Object);

                Assert.Throws <InvalidOperationException>(() => service.ChangeUserPassword(user, "password", null));
            }
Пример #2
0
            public void UpatesUserPassword()
            {
                var repository = new InMemoryRepository();
                var user       = new ChatUser
                {
                    Name           = "Test",
                    Salt           = "pepper",
                    HashedPassword = "******".ToSha256("pepper")
                };

                repository.Add(user);
                var service = new ChatService(repository, new Mock <ICryptoService>().Object);

                service.ChangeUserPassword(user, "password", "password2");

                Assert.Equal("password2".ToSha256("pepper"), user.HashedPassword);
            }
Пример #3
0
            public void EnsuresSaltedPassword()
            {
                var crypto = new Mock <ICryptoService>();

                crypto.Setup(c => c.CreateSalt()).Returns("salt");
                var repository = new InMemoryRepository();
                var user       = new ChatUser
                {
                    Name           = "Test",
                    Salt           = null,
                    HashedPassword = "******".ToSha256(null)
                };

                repository.Add(user);
                var service = new ChatService(repository, crypto.Object);

                service.ChangeUserPassword(user, "password", "password");

                Assert.Equal("salt", user.Salt);
                Assert.Equal("password".ToSha256("salt"), user.HashedPassword);
            }