Exemple #1
0
        public PackageValidatorTests()
        {
            _validationResults   = new List <ValidationResult>();
            _aggregateValidator  = new DummyAggregateValidator(_validationResults);
            _aggregateValidators = new[] { _aggregateValidator };

            _sourceRepositories = new ValidationSourceRepositories(
                Mock.Of <SourceRepository>(),
                Mock.Of <SourceRepository>());
        }
        internal static ValidationContextStub Create(
            PackageIdentity package = null,
            IEnumerable <CatalogIndexEntry> entries = null,
            IEnumerable <DeletionAuditEntry> deletionAuditEntries = null,
            Dictionary <FeedType, SourceRepository> feedToSource  = null,
            CollectorHttpClient client         = null,
            HttpClientHandler clientHandler    = null,
            CancellationToken?token            = null,
            ILogger <ValidationContext> logger = null,
            IPackageTimestampMetadataResource timestampMetadataResource = null,
            IPackageRegistrationMetadataResource v2Resource             = null,
            IPackageRegistrationMetadataResource v3Resource             = null)
        {
            if (feedToSource == null)
            {
                feedToSource = new Dictionary <FeedType, SourceRepository>();

                var v2Repository = new Mock <SourceRepository>();
                var v3Repository = new Mock <SourceRepository>();

                feedToSource.Add(FeedType.HttpV2, v2Repository.Object);
                feedToSource.Add(FeedType.HttpV3, v3Repository.Object);

                v2Repository.Setup(x => x.GetResource <IPackageTimestampMetadataResource>())
                .Returns(timestampMetadataResource ?? Mock.Of <IPackageTimestampMetadataResource>());

                v2Repository.Setup(x => x.GetResource <IPackageRegistrationMetadataResource>())
                .Returns(v2Resource ?? Mock.Of <IPackageRegistrationMetadataResource>());

                v3Repository.Setup(x => x.GetResource <IPackageRegistrationMetadataResource>())
                .Returns(v3Resource ?? Mock.Of <IPackageRegistrationMetadataResource>());

                v3Repository.Setup(x => x.GetResource <HttpSourceResource>())
                .Returns(new HttpSourceResource(new HttpSource(
                                                    new PackageSource("https://example/v3/index.json"),
                                                    () => Task.FromResult <HttpHandlerResource>(new HttpHandlerResourceV3(
                                                                                                    clientHandler ?? new HttpClientHandler(),
                                                                                                    clientHandler ?? Mock.Of <HttpMessageHandler>())),
                                                    NullThrottle.Instance)));
            }

            var sourceRepositories = new ValidationSourceRepositories(
                feedToSource[FeedType.HttpV2],
                feedToSource[FeedType.HttpV3]);

            return(new ValidationContextStub(
                       package ?? _packageIdentity,
                       entries ?? Enumerable.Empty <CatalogIndexEntry>(),
                       deletionAuditEntries ?? Enumerable.Empty <DeletionAuditEntry>(),
                       sourceRepositories,
                       client ?? new CollectorHttpClient(clientHandler),
                       token ?? CancellationToken.None,
                       logger ?? Mock.Of <ILogger <ValidationContext> >()));
        }
 private ValidationContextStub(
     PackageIdentity package,
     IEnumerable <CatalogIndexEntry> entries,
     IEnumerable <DeletionAuditEntry> deletionAuditEntries,
     ValidationSourceRepositories sourceRepositories,
     CollectorHttpClient client,
     CancellationToken token,
     ILogger <ValidationContext> logger)
     : base(package, entries, deletionAuditEntries, sourceRepositories, client, token, logger)
 {
 }
Exemple #4
0
        public void Constructor_WhenFeedToSourceIsNull_Throws()
        {
            const ValidationSourceRepositories sourceRepositories = null;

            var exception = Assert.Throws <ArgumentNullException>(
                () => new PackageValidator(
                    _aggregateValidators,
                    _storageFactory,
                    sourceRepositories,
                    _logger,
                    _contextLogger));

            Assert.Equal("sourceRepositories", exception.ParamName);
        }
Exemple #5
0
        public void Constructor_WhenFeedToSourceIsNull_Throws()
        {
            ValidationSourceRepositories sourceRepositories = null;

            var exception = Assert.Throws <ArgumentNullException>(
                () => new ValidationContext(
                    _packageIdentity,
                    Enumerable.Empty <CatalogIndexEntry>(),
                    Enumerable.Empty <DeletionAuditEntry>(),
                    sourceRepositories,
                    new CollectorHttpClient(),
                    CancellationToken.None,
                    Mock.Of <ILogger <ValidationContext> >()));

            Assert.Equal("sourceRepositories", exception.ParamName);
        }
Exemple #6
0
        private static ValidationContext CreateContext(
            PackageIdentity package = null,
            IEnumerable <CatalogIndexEntry> entries = null,
            IEnumerable <DeletionAuditEntry> deletionAuditEntries = null,
            Dictionary <FeedType, SourceRepository> feedToSource  = null,
            CollectorHttpClient client         = null,
            CancellationToken?token            = null,
            ILogger <ValidationContext> logger = null,
            IPackageTimestampMetadataResource timestampMetadataResource = null,
            IPackageRegistrationMetadataResource v2Resource             = null,
            IPackageRegistrationMetadataResource v3Resource             = null)
        {
            if (feedToSource == null)
            {
                feedToSource = new Dictionary <FeedType, SourceRepository>();

                var v2Repository = new Mock <SourceRepository>();
                var v3Repository = new Mock <SourceRepository>();

                feedToSource.Add(FeedType.HttpV2, v2Repository.Object);
                feedToSource.Add(FeedType.HttpV3, v3Repository.Object);

                v2Repository.Setup(x => x.GetResource <IPackageTimestampMetadataResource>())
                .Returns(timestampMetadataResource ?? Mock.Of <IPackageTimestampMetadataResource>());

                v2Repository.Setup(x => x.GetResource <IPackageRegistrationMetadataResource>())
                .Returns(v2Resource ?? Mock.Of <IPackageRegistrationMetadataResource>());

                v3Repository.Setup(x => x.GetResource <IPackageRegistrationMetadataResource>())
                .Returns(v3Resource ?? Mock.Of <IPackageRegistrationMetadataResource>());
            }

            var sourceRepositories = new ValidationSourceRepositories(
                feedToSource[FeedType.HttpV2],
                feedToSource[FeedType.HttpV3]);

            return(new ValidationContext(
                       package ?? _packageIdentity,
                       entries ?? Enumerable.Empty <CatalogIndexEntry>(),
                       deletionAuditEntries ?? Enumerable.Empty <DeletionAuditEntry>(),
                       sourceRepositories,
                       client ?? new CollectorHttpClient(),
                       token ?? CancellationToken.None,
                       logger ?? Mock.Of <ILogger <ValidationContext> >()));
        }