/// <summary> /// Runs <see cref="IValidator"/>s from the <see cref="IAggregateValidator"/>s against a package. /// </summary> /// <returns>A <see cref="PackageValidationResult"/> generated from the results of the <see cref="IValidator"/>s.</returns> public async Task <PackageValidationResult> ValidateAsync(PackageValidatorContext context, CollectorHttpClient client, CancellationToken cancellationToken) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (client == null) { throw new ArgumentNullException(nameof(client)); } cancellationToken.ThrowIfCancellationRequested(); var package = new PackageIdentity(context.Package.Id, NuGetVersion.Parse(context.Package.Version)); var deletionAuditEntries = await DeletionAuditEntry.GetAsync( _auditingStorageFactory, cancellationToken, package, logger : _logger); var validationContext = new ValidationContext( package, context.CatalogEntries, deletionAuditEntries, _feedToSource, client, cancellationToken, _contextLogger); var results = await Task.WhenAll(AggregateValidators.Select(endpoint => endpoint.ValidateAsync(validationContext)).ToList()); return(new PackageValidationResult(validationContext, results)); }
/// <summary> /// Runs <see cref="IValidator"/>s from the <see cref="IAggregateValidator"/>s against a package. /// </summary> /// <returns>A <see cref="PackageValidationResult"/> generated from the results of the <see cref="IValidator"/>s.</returns> public async Task <PackageValidationResult> ValidateAsync(PackageValidatorContext context, CollectorHttpClient client, CancellationToken cancellationToken) { var package = new PackageIdentity(context.Package.Id, NuGetVersion.Parse(context.Package.Version)); var deletionAuditEntries = await DeletionAuditEntry.GetAsync( _auditingStorageFactory, cancellationToken, package, logger : _logger); var validationContext = new ValidationContext(package, context.CatalogEntries, deletionAuditEntries, client, cancellationToken); var results = await Task.WhenAll(AggregateValidators.Select(endpoint => endpoint.ValidateAsync(validationContext)).ToList()); return(new PackageValidationResult(validationContext, results)); }