public void ThrowsIfNameIsNullOrEmpty() { var repository = new InMemoryRepository(); var service = new ChatService(new Mock<ICache>().Object, repository,new Mock<ICryptoService>().Object); Assert.Throws<InvalidOperationException>(() => service.AddUser(null, clientId: null, userAgent: null, password: null)); Assert.Throws<InvalidOperationException>(() => service.AddUser(String.Empty, clientId: null, userAgent: null, password: null)); }
public void ThrowsIfPasswordIsTooShort() { var repository = new InMemoryRepository(); var service = new ChatService(new Mock<ICache>().Object, repository,new Mock<ICryptoService>().Object); Assert.Throws<InvalidOperationException>(() => service.AddUser("SomeUser", clientId: null, userAgent: null, password: "******")); }
public void UnicodeNameIsValid() { // Fix issue #370 var repository = new InMemoryRepository(); var service = new ChatService(new Mock<ICache>().Object, repository,new Mock<ICryptoService>().Object); var user = service.AddUser("ТарасБуга", clientId: null, userAgent: null, password: "******"); Assert.Equal("ТарасБуга", user.Name); }
public void ThrowsIfNameInUse() { var repository = new InMemoryRepository(); repository.Add(new ChatUser() { Name = "taken" }); var service = new ChatService(new Mock<ICache>().Object, repository,new Mock<ICryptoService>().Object); Assert.Throws<InvalidOperationException>(() => service.AddUser("taken", clientId: null, userAgent: null, password: null)); }
public void AddsUserToRepository() { var crypto = new Mock<ICryptoService>(); crypto.Setup(c => c.CreateSalt()).Returns("salted"); var repository = new InMemoryRepository(); var service = new ChatService(new Mock<ICache>().Object, repository,crypto.Object); service.AddUser("SomeUser", clientId: null, userAgent: null, password: "******"); var user = repository.GetUserByName("SomeUser"); Assert.NotNull(user); Assert.Equal("SomeUser", user.Name); Assert.Equal("salted", user.Salt); Assert.Equal("8f5793009fe15c2227e3528d0507413a83dff10635d3a6acf1ba3229a03380d8", user.HashedPassword); }
public void ThrowsIfPasswordIsTooShort() { var repository = new InMemoryRepository(); var service = new ChatService(repository); Assert.Throws<InvalidOperationException>(() => service.AddUser("SomeUser", clientId: null, password: "******")); }
public void ThrowsIfNameIsNullOrEmpty() { var repository = new InMemoryRepository(); var service = new ChatService(repository); Assert.Throws<InvalidOperationException>(() => service.AddUser(null, clientId: null, password: null)); Assert.Throws<InvalidOperationException>(() => service.AddUser(String.Empty, clientId: null, password: null)); }
public void ThrowsIfNameIsInValid() { var repository = new InMemoryRepository(); var service = new ChatService(repository); Assert.Throws<InvalidOperationException>(() => service.AddUser("some in valid name", clientId: null, password: null)); }
public void ThrowsIfNameInUse() { var repository = new InMemoryRepository(); repository.Add(new ChatUser() { Name = "taken" }); var service = new ChatService(repository); Assert.Throws<InvalidOperationException>(() => service.AddUser("taken", clientId: null, password: null)); }
public void AddsUserToRepository() { var repository = new InMemoryRepository(); var service = new ChatService(repository); service.AddUser("SomeUser", clientId: null, password: "******"); var user = repository.GetUserByName("SomeUser"); Assert.NotNull(user); Assert.Equal("SomeUser", user.Name); Assert.Equal("password".ToSha256(), user.HashedPassword); }
public void AddsNumberToUserNameIfTaken() { var repository = new InMemoryRepository(); repository.Add(new ChatUser { Name = "david", Id = "1" }); var service = new ChatService(repository, null); service.AddUser("david", "idenity", null); var user = repository.GetUserByIdentity("idenity"); Assert.NotNull(user); Assert.Equal("david1", user.Name); Assert.Equal("idenity", user.Identity); Assert.Null(user.Email); Assert.Null(user.Hash); }
public void AddsAuthUserToRepository() { var repository = new InMemoryRepository(); var service = new ChatService(repository, null); service.AddUser("SomeUser", "identity", "email"); var user = repository.GetUserByIdentity("identity"); Assert.NotNull(user); Assert.Equal("SomeUser", user.Name); Assert.Equal("identity", user.Identity); Assert.Equal("email", user.Email); Assert.Equal("0c83f57c786a0b4a39efab23731c7ebc", user.Hash); }