public ValidationOutcomeProcessor(
            IValidationStorageService validationStorageService,
            IPackageValidationEnqueuer validationEnqueuer,
            IStatusProcessor <T> validatedPackageProcessor,
            IValidationFileService packageFileService,
            IOptionsSnapshot <ValidationConfiguration> validationConfigurationAccessor,
            IMessageService <T> messageService,
            ITelemetryService telemetryService,
            ILogger <ValidationOutcomeProcessor <T> > logger)
        {
            _validationStorageService = validationStorageService ?? throw new ArgumentNullException(nameof(validationStorageService));
            _validationEnqueuer       = validationEnqueuer ?? throw new ArgumentNullException(nameof(validationEnqueuer));
            _packageStateProcessor    = validatedPackageProcessor ?? throw new ArgumentNullException(nameof(validatedPackageProcessor));
            _packageFileService       = packageFileService ?? throw new ArgumentNullException(nameof(packageFileService));
            if (validationConfigurationAccessor == null)
            {
                throw new ArgumentNullException(nameof(validationConfigurationAccessor));
            }
            _validationConfiguration = validationConfigurationAccessor.Value
                                       ?? throw new ArgumentException($"The {nameof(validationConfigurationAccessor)}.Value property cannot be null",
                                                                      nameof(validationConfigurationAccessor));
            _messageService   = messageService ?? throw new ArgumentNullException(nameof(messageService));
            _telemetryService = telemetryService ?? throw new ArgumentNullException(nameof(telemetryService));
            _logger           = logger ?? throw new ArgumentNullException(nameof(logger));

            _validationConfigurationsByName = _validationConfiguration.Validations.ToDictionary(v => v.Name);
        }
Пример #2
0
 public SymbolsValidatorMessageHandler(
     ISymbolsValidatorService symbolValidatorService,
     IValidatorStateService validatorStateService,
     IPackageValidationEnqueuer validationEnqueuer,
     IFeatureFlagService featureFlagService,
     ILogger <SymbolsValidatorMessageHandler> logger)
 {
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
     _symbolValidatorService = symbolValidatorService ?? throw new ArgumentNullException(nameof(symbolValidatorService));
     _validatorStateService  = validatorStateService ?? throw new ArgumentNullException(nameof(validatorStateService));
     _validationEnqueuer     = validationEnqueuer ?? throw new ArgumentNullException(nameof(validationEnqueuer));
     _featureFlagService     = featureFlagService ?? throw new ArgumentNullException(nameof(featureFlagService));
 }
Пример #3
0
 /// <summary>
 /// Instantiate's a new package signatures validator.
 /// </summary>
 /// <param name="httpClient">The HTTP client used to download packages.</param>
 /// <param name="validatorStateService">The service used to retrieve and persist this validator's state.</param>
 /// <param name="packageSigningStateService">The service used to retrieve and persist package signing state.</param>
 /// <param name="logger">The logger that should be used.</param>
 public SignatureValidationMessageHandler(
     IFileDownloader packageDownloader,
     IValidatorStateService validatorStateService,
     ISignatureValidator signatureValidator,
     IPackageValidationEnqueuer validationEnqueuer,
     IFeatureFlagService featureFlagService,
     ILogger <SignatureValidationMessageHandler> logger)
 {
     _packageDownloader     = packageDownloader ?? throw new ArgumentNullException(nameof(packageDownloader));
     _validatorStateService = validatorStateService ?? throw new ArgumentNullException(nameof(validatorStateService));
     _signatureValidator    = signatureValidator ?? throw new ArgumentNullException(nameof(signatureValidator));
     _validationEnqueuer    = validationEnqueuer ?? throw new ArgumentNullException(nameof(validationEnqueuer));
     _featureFlagService    = featureFlagService ?? throw new ArgumentNullException(nameof(featureFlagService));
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
        public AsynchronousPackageValidationInitiator(
            IPackageValidationEnqueuer enqueuer,
            IAppConfiguration appConfiguration,
            IDiagnosticsService diagnosticsService)
        {
            _enqueuer         = enqueuer ?? throw new ArgumentNullException(nameof(enqueuer));
            _appConfiguration = appConfiguration ?? throw new ArgumentNullException(nameof(appConfiguration));

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(IDiagnosticsService));
            }

            _diagnosticsSource = diagnosticsService.SafeGetSource(nameof(AsynchronousPackageValidationInitiator));
        }
        public CertificateValidationMessageHandler(
            ICertificateStore certificateStore,
            ICertificateValidationService certificateValidationService,
            ICertificateVerifier certificateVerifier,
            IPackageValidationEnqueuer validationEnqueuer,
            IFeatureFlagService featureFlagService,
            ILogger <CertificateValidationMessageHandler> logger,
            int maximumValidationFailures = CertificateValidationService.DefaultMaximumValidationFailures)
        {
            _certificateStore             = certificateStore ?? throw new ArgumentNullException(nameof(certificateStore));
            _certificateValidationService = certificateValidationService ?? throw new ArgumentNullException(nameof(certificateValidationService));
            _certificateVerifier          = certificateVerifier ?? throw new ArgumentNullException(nameof(certificateVerifier));
            _validationEnqueuer           = validationEnqueuer ?? throw new ArgumentNullException(nameof(validationEnqueuer));
            _featureFlagService           = featureFlagService ?? throw new ArgumentNullException(nameof(featureFlagService));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            _maximumValidationFailures = maximumValidationFailures;
        }
Пример #6
0
 public ValidationOutcomeProcessor(
     ICorePackageService galleryPackageService,
     ICorePackageFileService packageFileService,
     IPackageValidationEnqueuer validationEnqueuer,
     IOptionsSnapshot <ValidationConfiguration> validationConfigurationAccessor,
     ILogger <ValidationOutcomeProcessor> logger)
 {
     _galleryPackageService = galleryPackageService ?? throw new ArgumentNullException(nameof(galleryPackageService));
     _packageFileService    = packageFileService ?? throw new ArgumentNullException(nameof(packageFileService));
     _validationEnqueuer    = validationEnqueuer ?? throw new ArgumentNullException(nameof(validationEnqueuer));
     if (validationConfigurationAccessor == null)
     {
         throw new ArgumentNullException(nameof(validationConfigurationAccessor));
     }
     _validationConfiguration = validationConfigurationAccessor.Value
                                ?? throw new ArgumentException($"The {nameof(validationConfigurationAccessor)}.Value property cannot be null",
                                                               nameof(validationConfigurationAccessor));
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Пример #7
0
        public BaseValidationMessageHandler(
            IOptionsSnapshot <ValidationConfiguration> validationConfigsAccessor,
            IEntityService <TEntity> entityService,
            IValidationSetProvider <TEntity> validationSetProvider,
            IValidationSetProcessor validationSetProcessor,
            IValidationOutcomeProcessor <TEntity> validationOutcomeProcessor,
            ILeaseService leaseService,
            IPackageValidationEnqueuer validationEnqueuer,
            IFeatureFlagService featureFlagService,
            ITelemetryService telemetryService,
            ILogger logger)
        {
            if (validationConfigsAccessor == null)
            {
                throw new ArgumentNullException(nameof(validationConfigsAccessor));
            }

            if (validationConfigsAccessor.Value == null)
            {
                throw new ArgumentException(
                          $"The {nameof(IOptionsSnapshot<ValidationConfiguration>)}.{nameof(IOptionsSnapshot<ValidationConfiguration>.Value)} property cannot be null",
                          nameof(validationConfigsAccessor));
            }

            if (validationConfigsAccessor.Value.MissingPackageRetryCount < 1)
            {
                throw new ArgumentOutOfRangeException(
                          nameof(validationConfigsAccessor),
                          $"{nameof(ValidationConfiguration)}.{nameof(ValidationConfiguration.MissingPackageRetryCount)} must be at least 1");
            }

            _configs                    = validationConfigsAccessor.Value;
            _entityService              = entityService ?? throw new ArgumentNullException(nameof(entityService));
            _validationSetProvider      = validationSetProvider ?? throw new ArgumentNullException(nameof(validationSetProvider));
            _validationSetProcessor     = validationSetProcessor ?? throw new ArgumentNullException(nameof(validationSetProcessor));
            _validationOutcomeProcessor = validationOutcomeProcessor ?? throw new ArgumentNullException(nameof(validationOutcomeProcessor));
            _leaseService               = leaseService ?? throw new ArgumentNullException(nameof(leaseService));
            _validationEnqueuer         = validationEnqueuer ?? throw new ArgumentNullException(nameof(leaseService));
            _featureFlagService         = featureFlagService ?? throw new ArgumentNullException(nameof(featureFlagService));
            _telemetryService           = telemetryService ?? throw new ArgumentNullException(nameof(telemetryService));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));
        }
Пример #8
0
 public RevalidationStarter(
     IRevalidationJobStateService jobState,
     IPackageRevalidationStateService packageState,
     ISingletonService singletonService,
     IRevalidationThrottler throttler,
     IHealthService healthService,
     IRevalidationQueue revalidationQueue,
     IPackageValidationEnqueuer validationEnqueuer,
     ITelemetryService telemetryService,
     ILogger <RevalidationStarter> logger)
 {
     _jobState           = jobState ?? throw new ArgumentNullException(nameof(jobState));
     _packageState       = packageState ?? throw new ArgumentNullException(nameof(packageState));
     _singletonService   = singletonService ?? throw new ArgumentNullException(nameof(singletonService));
     _throttler          = throttler ?? throw new ArgumentNullException(nameof(throttler));
     _healthService      = healthService ?? throw new ArgumentNullException(nameof(healthService));
     _revalidationQueue  = revalidationQueue ?? throw new ArgumentNullException(nameof(revalidationQueue));
     _validationEnqueuer = validationEnqueuer ?? throw new ArgumentNullException(nameof(validationEnqueuer));
     _telemetryService   = telemetryService ?? throw new ArgumentNullException(nameof(telemetryService));
     _logger             = logger ?? throw new ArgumentNullException(nameof(logger));
 }
 public PackageValidationMessageHandler(
     IOptionsSnapshot <ValidationConfiguration> validationConfigsAccessor,
     IEntityService <Package> entityService,
     IValidationSetProvider <Package> validationSetProvider,
     IValidationSetProcessor validationSetProcessor,
     IValidationOutcomeProcessor <Package> validationOutcomeProcessor,
     ILeaseService leaseService,
     IPackageValidationEnqueuer validationEnqueuer,
     IFeatureFlagService featureFlagService,
     ITelemetryService telemetryService,
     ILogger <PackageValidationMessageHandler> logger) : base(
         validationConfigsAccessor,
         entityService,
         validationSetProvider,
         validationSetProcessor,
         validationOutcomeProcessor,
         leaseService,
         validationEnqueuer,
         featureFlagService,
         telemetryService,
         logger)
 {
 }