public Facts(ITestOutputHelper output)
            {
                _packageKey = 23;

                _validatorType     = "ExampleValidator";
                _packageValidation = new PackageValidation
                {
                    Type                    = _validatorType,
                    ValidationStatus        = ValidationStatus.Incomplete,
                    Started                 = new DateTime(2017, 1, 1, 8, 30, 0, DateTimeKind.Utc),
                    PackageValidationIssues = new List <PackageValidationIssue>(),
                    PackageValidationSet    = new PackageValidationSet(),
                };
                _nupkgUrl = "https://example/nuget.versioning.4.3.0.nupkg";

                _entitiesContext = new Mock <IValidationEntitiesContext>();
                _entitiesContext
                .Setup(x => x.PackageValidationSets)
                .Returns(DbSetMockFactory.Create <PackageValidationSet>());

                _packageFileService = new Mock <IValidationPackageFileService>();

                _validatorProvider = new Mock <IValidatorProvider>();

                _telemetryService = new Mock <ITelemetryService>();

                _loggerFactory = new LoggerFactory();
                _loggerFactory.AddXunit(output);

                InitializeTarget();
            }
Exemple #2
0
        public static ILogger <T> GetLogger <T>(this ITestOutputHelper output)
        {
            var factory = new LoggerFactory();

            factory.AddXunit(output);
            return(factory.CreateLogger <T>());
        }
Exemple #3
0
        /// <summary>
        ///     Creates an <see cref="ILoggerFactory" /> instance that is configured for xUnit output.
        /// </summary>
        /// <param name="output">The test output.</param>
        /// <param name="config">Optional logging configuration.</param>
        /// <returns>The logger factory.</returns>
        /// <exception cref="ArgumentNullException">The <paramref name="output" /> is <c>null</c>.</exception>
        public static ILoggerFactory Create(
            ITestOutputHelper output, LoggingConfig?config = null)
        {
            output = output ?? throw new ArgumentNullException(nameof(output));

            var factory = new LoggerFactory();

            factory.AddXunit(output, config);

            return(factory);
        }
Exemple #4
0
        public SignatureValidatorIntegrationTests(CertificateIntegrationTestFixture fixture, ITestOutputHelper output)
        {
            _fixture = fixture ?? throw new ArgumentNullException(nameof(fixture));
            _output  = output ?? throw new ArgumentNullException(nameof(output));

            _validationEntitiesContext = new Mock <IValidationEntitiesContext>();
            _validationEntitiesContext
            .Setup(x => x.PackageSigningStates)
            .Returns(DbSetMockFactory.Create <PackageSigningState>());
            _validationEntitiesContext
            .Setup(x => x.ParentCertificates)
            .Returns(DbSetMockFactory.Create <ParentCertificate>());
            _validationEntitiesContext
            .Setup(x => x.EndCertificates)
            .Returns(DbSetMockFactory.Create <EndCertificate>());
            _validationEntitiesContext
            .Setup(x => x.CertificateChainLinks)
            .Returns(DbSetMockFactory.Create <CertificateChainLink>());
            _validationEntitiesContext
            .Setup(x => x.PackageSignatures)
            .Returns(DbSetMockFactory.Create <PackageSignature>());
            _validationEntitiesContext
            .Setup(x => x.TrustedTimestamps)
            .Returns(DbSetMockFactory.Create <TrustedTimestamp>());

            var loggerFactory = new LoggerFactory();

            loggerFactory.AddXunit(output);

            _packageSigningStateService = new PackageSigningStateService(
                _validationEntitiesContext.Object,
                loggerFactory.CreateLogger <PackageSigningStateService>());

            _certificateStore = new Mock <ICertificateStore>();

            _signaturePartsExtractor = new SignaturePartsExtractor(
                _certificateStore.Object,
                _validationEntitiesContext.Object,
                loggerFactory.CreateLogger <SignaturePartsExtractor>());

            _packageFileService = new Mock <IProcessorPackageFileService>();
            _nupkgUri           = new Uri("https://example-storage/TestProcessor/b777135f-1aac-4ec2-a3eb-1f64fe1880d5/nuget.versioning.4.3.0.nupkg");
            _packageFileService
            .Setup(x => x.GetReadAndDeleteUriAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>()))
            .ReturnsAsync(() => _nupkgUri);
            _packageFileService
            .Setup(x => x.SaveAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <Stream>()))
            .Returns(Task.CompletedTask)
            .Callback <string, string, Guid, Stream>((_, __, ___, s) =>
            {
                using (var memoryStream = new MemoryStream())
                {
                    s.Position = 0;
                    s.CopyTo(memoryStream);
                    _savedPackageBytes = memoryStream.ToArray();
                }
            });

            _corePackageService = new Mock <ICorePackageService>();

            // These dependencies are concrete.
            _minimalPackageSignatureVerifier = PackageSignatureVerifierFactory.CreateMinimal();
            _fullPackageSignatureVerifier    = PackageSignatureVerifierFactory.CreateFull();

            _telemetryClient  = new Mock <ITelemetryClient>();
            _telemetryService = new TelemetryService(_telemetryClient.Object);

            _logger = new RecordingLogger <SignatureValidator>(loggerFactory.CreateLogger <SignatureValidator>());

            // Initialize data.
            _packageKey = 23;
            _message    = new SignatureValidationMessage(
                "SomePackageId",
                "1.2.3",
                new Uri("https://example/validation/somepackageid.1.2.3.nupkg"),
                new Guid("8eb5affc-2d0e-4315-9b79-5a194d39ebd1"));
            _token = CancellationToken.None;

            // Initialize the subject of testing.
            _target = new SignatureValidator(
                _packageSigningStateService,
                _minimalPackageSignatureVerifier,
                _fullPackageSignatureVerifier,
                _signaturePartsExtractor,
                _packageFileService.Object,
                _corePackageService.Object,
                _telemetryService,
                _logger);
        }