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 async Task RaiseAsync(Event evt) { if (evt.Name.Contains("Login")) { if (evt.EventType == EventTypes.Success) { UserLoginSuccessEvent successEvent = evt as UserLoginSuccessEvent; UserAudit user = UserAudit.CreateAuditEvent(successEvent.SubjectId.ToString(), successEvent.Username, successEvent.DisplayName, successEvent.Name, successEvent.Id.ToString(), evt.EventType.ToString(), evt.RemoteIpAddress); await _context.UserAuditEvents.AddAsync(user); await _context.SaveChangesAsync(); } else { UserLoginFailureEvent failEvent = evt as UserLoginFailureEvent; UserAudit user = UserAudit.CreateAuditEvent(failEvent.Username.ToString(), failEvent.Id.ToString(), failEvent.Name, failEvent.EventType.ToString(), evt.RemoteIpAddress); await _context.UserAuditEvents.AddAsync(user); await _context.SaveChangesAsync(); } } else if (evt.Name.Contains("Logout")) { UserLogoutSuccessEvent failEvent = evt as UserLogoutSuccessEvent; UserAudit user = UserAudit.CreateAuditEvent(failEvent.SubjectId.ToString(), failEvent.DisplayName, failEvent.DisplayName, failEvent.Name, failEvent.Id.ToString(), evt.EventType.ToString(), evt.RemoteIpAddress); await _context.UserAuditEvents.AddAsync(user); await _context.SaveChangesAsync(); } }
public void Create_WhenUserLoginFailureEvent_WillReturnUserLoginFailureAdapter() { // Arrange var evt = new UserLoginFailureEvent(string.Empty, string.Empty); var sut = new AdapterFactory(); // Act var adapter = sut.Create(evt); // Assert Assert.IsType <UserLoginFailureEventAdapter>(adapter); }
public UserLoginFailureEventAdapter(UserLoginFailureEvent evt) { this.evt = evt ?? throw new ArgumentNullException(nameof(evt)); }