public UpdateUserClaimsOperationFixture(ITestOutputHelper outputHelper)
 {
     _resourceOwnerRepositoryStub = new Mock <IResourceOwnerRepository>();
     _updateUserClaimsOperation   = new UpdateUserClaimsOperation(
         _resourceOwnerRepositoryStub.Object,
         new TestOutputLogger("test", outputHelper));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseAuthenticateController"/> class.
 /// </summary>
 /// <param name="dataProtectionProvider">The data protection provider.</param>
 /// <param name="urlHelperFactory">The URL helper factory.</param>
 /// <param name="actionContextAccessor">The action context accessor.</param>
 /// <param name="eventPublisher">The event publisher.</param>
 /// <param name="authenticationService">The authentication service.</param>
 /// <param name="authenticationSchemeProvider">The authentication scheme provider.</param>
 /// <param name="twoFactorAuthenticationHandler">The two factor authentication handler.</param>
 /// <param name="authorizationCodeStore">The authorization code store.</param>
 /// <param name="consentRepository">The consent repository.</param>
 /// <param name="scopeRepository">The scope repository.</param>
 /// <param name="tokenStore">The token store.</param>
 /// <param name="resourceOwnerRepository">The resource owner repository.</param>
 /// <param name="confirmationCodeStore">The confirmation code store.</param>
 /// <param name="clientStore">The client store.</param>
 /// <param name="jwksStore"></param>
 /// <param name="subjectBuilder"></param>
 /// <param name="accountFilters">The account filters.</param>
 /// <param name="logger">The controller logger.</param>
 /// <param name="runtimeSettings">The runtime settings.</param>
 protected BaseAuthenticateController(
     IDataProtectionProvider dataProtectionProvider,
     IUrlHelperFactory urlHelperFactory,
     IActionContextAccessor actionContextAccessor,
     IEventPublisher eventPublisher,
     IAuthenticationService authenticationService,
     IAuthenticationSchemeProvider authenticationSchemeProvider,
     ITwoFactorAuthenticationHandler twoFactorAuthenticationHandler,
     IAuthorizationCodeStore authorizationCodeStore,
     IConsentRepository consentRepository,
     IScopeRepository scopeRepository,
     ITokenStore tokenStore,
     IResourceOwnerRepository resourceOwnerRepository,
     IConfirmationCodeStore confirmationCodeStore,
     IClientStore clientStore,
     IJwksStore jwksStore,
     ISubjectBuilder subjectBuilder,
     IEnumerable <IAccountFilter> accountFilters,
     ILogger logger,
     RuntimeSettings runtimeSettings)
     : base(authenticationService)
 {
     _generateAndSendCode = new GenerateAndSendCodeAction(
         resourceOwnerRepository,
         confirmationCodeStore,
         twoFactorAuthenticationHandler,
         logger);
     _validateConfirmationCode = new ValidateConfirmationCodeAction(confirmationCodeStore);
     _authenticateHelper       = new AuthenticateHelper(
         authorizationCodeStore,
         tokenStore,
         scopeRepository,
         consentRepository,
         clientStore,
         jwksStore,
         eventPublisher,
         logger);
     _authenticateResourceOwnerOpenId = new AuthenticateResourceOwnerOpenIdAction(
         authorizationCodeStore,
         tokenStore,
         scopeRepository,
         consentRepository,
         clientStore,
         jwksStore,
         eventPublisher,
         logger);
     DataProtector   = dataProtectionProvider.CreateProtector("Request");
     _urlHelper      = urlHelperFactory.GetUrlHelper(actionContextAccessor.ActionContext !);
     _eventPublisher = eventPublisher;
     _authenticationSchemeProvider = authenticationSchemeProvider;
     _addUser = new AddUserOperation(
         runtimeSettings,
         resourceOwnerRepository,
         accountFilters,
         subjectBuilder,
         eventPublisher);
     _getUserOperation               = new GetUserOperation(resourceOwnerRepository, logger);
     _updateUserClaimsOperation      = new UpdateUserClaimsOperation(resourceOwnerRepository, logger);
     _runtimeSettings                = runtimeSettings;
     _twoFactorAuthenticationHandler = twoFactorAuthenticationHandler;
     _resourceOwnerRepository        = resourceOwnerRepository;
     _confirmationCodeStore          = confirmationCodeStore;
     _logger = logger;
 }