### Question:
AuthenticationProcessEventAuditor extends AbstractAuthenticationEventAuditor { public void auditLoginFailure(LoginState loginState) { auditLoginFailure(loginState, findFailureReason(loginState)); } @Inject  AuthenticationProcessEventAuditor(AuditEventPublisher eventPublisher, AuditEventFactory eventFactory); void auditLoginSuccess(LoginState loginState); void auditLoginFailure(LoginState loginState); void auditLoginFailure(LoginState loginState, AuthenticationFailureReason failureReason); void auditLogout(SSOToken token);  }### Answer:
@Test public void shouldNotFailAuditLoginFailure() { auditor.auditLoginFailure(null, null); auditor.auditLoginFailure(emptyState, AuditConstants.AuthenticationFailureReason.LOGIN_FAILED); verify(eventPublisher, times(2)).tryPublish(anyString(), any(AuditEvent.class)); }