コード例 #1
0
            protected PackageHasSignatureValidator CreateTarget(bool requireRepositorySignature = true)
            {
                var endpoint = ValidatorTestUtility.CreateCatalogEndpoint();
                var config   = ValidatorTestUtility.CreateValidatorConfig(requireRepositorySignature: requireRepositorySignature);

                return(new PackageHasSignatureValidator(endpoint, config, _logger.Object));
            }
コード例 #2
0
 public async Task PassesIfEqual(
     RegistrationLeafValidator validator,
     PackageRegistrationIndexMetadata v2,
     PackageRegistrationIndexMetadata v3)
 {
     await validator.CompareLeafAsync(ValidatorTestUtility.GetFakeValidationContext(), v2, v3);
 }
コード例 #3
0
            protected PackageIsRepositorySignedValidator CreateTarget(bool requireRepositorySignature = true)
            {
                var endpoint = ValidatorTestUtility.CreateFlatContainerEndpoint();
                var logger   = Mock.Of <ILogger <PackageIsRepositorySignedValidator> >();
                var config   = ValidatorTestUtility.CreateValidatorConfig(requireRepositorySignature: requireRepositorySignature);

                return(new PackageIsRepositorySignedValidator(endpoint, config, logger));
            }
コード例 #4
0
            protected SearchHasVersionValidator CreateTarget()
            {
                var endpoint = ValidatorTestUtility.CreateSearchEndpoint();
                var logger   = Mock.Of <ILogger <SearchHasVersionValidator> >();
                var config   = ValidatorTestUtility.CreateValidatorConfig();

                return(new SearchHasVersionValidator(endpoint, config, logger));
            }
コード例 #5
0
 public async Task FailsIfUnequal(
     RegistrationLeafValidator validator,
     PackageRegistrationIndexMetadata v2,
     PackageRegistrationIndexMetadata v3)
 {
     await Assert.ThrowsAnyAsync <MetadataInconsistencyException>(
         () => validator.CompareLeafAsync(ValidatorTestUtility.GetFakeValidationContext(), v2, v3));
 }
コード例 #6
0
        protected override RegistrationDeprecationValidator CreateValidator(
            ILogger <RegistrationDeprecationValidator> logger)
        {
            var endpoint = ValidatorTestUtility.CreateRegistrationEndpoint();
            var config   = new ValidatorConfiguration("https://nuget.test/packages", requireRepositorySignature: false);

            return(new RegistrationDeprecationValidator(endpoint, config, logger));
        }
        private static CatalogAggregateValidator CreateValidator(
            ValidationContext context,
            bool requirePackageSignature)
        {
            var config           = ValidatorTestUtility.CreateValidatorConfig(requirePackageSignature: requirePackageSignature);
            var loggerFactory    = CreateLoggerFactory();
            var validatorFactory = new ValidatorFactory(config, loggerFactory);

            return(new CatalogAggregateValidator(validatorFactory, config));
        }
コード例 #8
0
        private static IEnumerable <object[]> ValidatorTestData <T>(Func <IRegistrationLeafValidatorTestData, IEnumerable <Tuple <T, T> > > getPairs)
        {
            foreach (var testData in ValidatorTestUtility.GetImplementations <IRegistrationLeafValidatorTestData>())
            {
                var validator = testData.CreateValidator();

                foreach (var pair in getPairs(testData))
                {
                    yield return(new object[]
                    {
                        validator,
                        pair.Item1,
                        pair.Item2
                    });
                }
            }
        }
コード例 #9
0
            public FactsBase()
            {
                _mockServer = new MockServerHttpClientHandler();

                // Mock a catalog entry and leaf for the package we are validating.
                _catalogEntries = new[]
                {
                    new CatalogIndexEntry(
                        new Uri("https://nuget.test/catalog/leaf.json"),
                        CatalogConstants.NuGetPackageDetails,
                        Guid.NewGuid().ToString(),
                        DateTime.UtcNow,
                        PackageIdentity)
                };

                ValidatorTestUtility.AddCatalogLeafToMockServer(_mockServer, new Uri("/catalog/leaf.json", UriKind.Relative), new CatalogLeaf
                {
                    Created    = PackageCreationTime,
                    LastEdited = PackageCreationTime
                });
            }
コード例 #10
0
 public Constructor()
 {
     _endpoint      = ValidatorTestUtility.CreateFlatContainerEndpoint();
     _configuration = new ValidatorConfiguration(packageBaseAddress: "a", requireRepositorySignature: true);
 }
コード例 #11
0
 protected void AddCatalogLeaf(string path, CatalogLeaf leaf)
 {
     ValidatorTestUtility.AddCatalogLeafToMockServer(_mockServer, new Uri(path, UriKind.Relative), leaf);
 }
コード例 #12
0
                public async Task SpecialCasesReturnAsExpected(
                    RegistrationLeafValidator validator,
                    PackageRegistrationIndexMetadata v2,
                    PackageRegistrationIndexMetadata v3,
                    bool shouldPass)
                {
                    var compareTask = Task.Run(async() => await validator.CompareLeafAsync(ValidatorTestUtility.GetFakeValidationContext(), v2, v3));

                    if (shouldPass)
                    {
                        await compareTask;
                    }
                    else
                    {
                        await Assert.ThrowsAnyAsync <MetadataInconsistencyException>(
                            () => compareTask);
                    }
                }
コード例 #13
0
 public async Task Skips(
     RegistrationLeafValidator validator,
     PackageRegistrationLeafMetadata v2,
     PackageRegistrationLeafMetadata v3)
 {
     Assert.Equal(ShouldRunTestResult.No, await validator.ShouldRunLeafAsync(ValidatorTestUtility.GetFakeValidationContext(), v2, v3));
 }
コード例 #14
0
 public async Task Runs(
     RegistrationIndexValidator validator,
     PackageRegistrationIndexMetadata v2,
     PackageRegistrationIndexMetadata v3)
 {
     Assert.Equal(ShouldRunTestResult.Yes, await validator.ShouldRunIndexAsync(ValidatorTestUtility.GetFakeValidationContext(), v2, v3));
 }