public static async Task SignInAsync_SuccessfulSignInWithNullContext_RaisesLoginSuccessEvent() { int eventCount = 0; UserLoginSuccessEvent raisedEvent = null; void EventCallback(UserLoginSuccessEvent evt) { eventCount++; raisedEvent = evt; } const string userId = "UserId"; const string username = "******"; using var loginService = new LoginServiceBuilder() .WithEventServiceCallback <UserLoginSuccessEvent>(EventCallback) .WithSignInResult(IdentitySignInResult.Success) .WithFindUserResult(ApplicationUserBuilder .Create() .WithUserId(userId) .WithUsername(username) .Build()) .Build(); await loginService.SignInAsync("user", "pass", new Uri("~/", UriKind.Relative)); eventCount.Should().Be(1); Assert.NotNull(raisedEvent); raisedEvent.ClientId.Should().BeNull(); raisedEvent.DisplayName.Should().Be(username); raisedEvent.Message.Should().BeNull(); raisedEvent.SubjectId.Should().Be(userId); raisedEvent.Username.Should().Be(username); }
public static async Task SignInAsync_FailedSignInWithNullContext_RaisesLoginFailureEvent() { const string username = "******"; int eventCount = 0; UserLoginFailureEvent raisedEvent = null; void EventCallback(UserLoginFailureEvent evt) { eventCount++; raisedEvent = evt; } using var loginService = new LoginServiceBuilder() .WithFindUserResult(ApplicationUserBuilder.Create().WithUsername(username).Build()) .WithEventServiceCallback <UserLoginFailureEvent>(EventCallback) .WithSignInResult(IdentitySignInResult.Failed) .Build(); await loginService.SignInAsync(username, "pass", null); eventCount.Should().Be(1); Assert.NotNull(raisedEvent); raisedEvent.ClientId.Should().BeNull(); raisedEvent.Message.Should().Be(LoginService.ValidateUserMessage); raisedEvent.Username.Should().Be(username); }
public static async Task SignInAsync_MissingCredentials_ReturnsExpectedResult(string username, string password) { using var loginService = new LoginServiceBuilder().Build(); var result = await loginService.SignInAsync(username, password, null); Assert.NotNull(result); result.IsSuccess.Should().BeFalse(); }
public async Task AddLoginSuccessfully() { var loginRepository = new LoginRepositoryBuilder().Build(); var loginService = new LoginServiceBuilder(loginRepository).Build(); var result = await loginService.Add(_loginDto); Assert.True(result.Success); }
public async Task LoginThatNotExists() { var loginRepository = new LoginRepositoryBuilder().Build(); var loginService = new LoginServiceBuilder(loginRepository).Build(); var result = await loginService.Authenticate(_loginDto); Assert.False(result.Success); }
public async Task DontAddLoginWithDuplicateEmail() { var loginRepository = new LoginRepositoryBuilder().Build(); var loginService = new LoginServiceBuilder(loginRepository).Build(); await loginService.Add(_loginDto); // Try to insert with same login var result = await loginService.Add(_loginDto); Assert.False(result.Success); }
public async Task LoginWithInvalidPassword() { var loginRepository = new LoginRepositoryBuilder().Build(); var loginService = new LoginServiceBuilder(loginRepository).Build(); await loginService.Add(_loginDto); var loginWithWrongPassword = new LoginDto(_loginDto.Email, "invalidPassword"); var result = await loginService.Authenticate(loginWithWrongPassword); Assert.False(result.Success); }
public static async Task SignInAsync_FailedSignIn_NullContext_ReturnsExpectedResult() { using var loginService = new LoginServiceBuilder() .WithSignInResult(IdentitySignInResult.Failed) .Build(); var result = await loginService.SignInAsync("user", "pass", null); Assert.NotNull(result); result.IsSuccess.Should().BeFalse(); result.Value.Should().BeNull(); }
public async Task AuthenticateLoginSuccessfully() { var loginRepository = new LoginRepositoryBuilder().Build(); var loginService = new LoginServiceBuilder(loginRepository).Build(); await loginService.Add(_loginDto); var result = await loginService.Authenticate(_loginDto); System.Console.WriteLine("Success: {0}", result.Success); Assert.True(result.Success); }
public static async Task SignInAsync_SuccessfulSignIn_WithContext_ReturnsExpectedResult() { using var loginService = new LoginServiceBuilder() .WithAuthorizationContextResult(new AuthorizationRequest()) .WithSignInResult(IdentitySignInResult.Success) .Build(); var result = await loginService.SignInAsync("user", "pass", null); Assert.NotNull(result); result.IsSuccess.Should().BeTrue(); result.Value.IsTrustedReturnUrl.Should().BeTrue(); result.Value.LoginHint.Should().BeNull(); }
public static async Task SignInAsync_FailedSignIn_WithContext_ReturnsExpectedResult() { const string loginHint = "Hint"; var authorizationRequest = new AuthorizationRequest { LoginHint = loginHint }; using var loginService = new LoginServiceBuilder() .WithAuthorizationContextResult(authorizationRequest) .WithSignInResult(IdentitySignInResult.Failed) .Build(); var result = await loginService.SignInAsync("user", "pass", null); Assert.NotNull(result); result.IsSuccess.Should().BeFalse(); result.Value.Should().BeNull(); }