public async Task ValidateAsync_WhenRequirePackageSignatureIsTrue_RequiresPackageSignatureFile( bool includePackageSignatureFile) { var storage = new MemoryStorage(_baseUri); var now = GetDateTime(); var storageContent = CreateStorageContent(now, includePackageSignatureFile); storage.Content.TryAdd(_packageDetailsUri, storageContent); using (var clientHandler = new MockServerHttpClientHandler()) using (CollectorHttpClient client = await CreateCollectorHttpClientStubAsync(clientHandler, storage)) { ValidationContext context = CreateContext(client, now); CatalogAggregateValidator validator = CreateValidator(context, requirePackageSignature: true); AggregateValidationResult result = await validator.ValidateAsync(context); Assert.Single(result.ValidationResults); var expectedResult = includePackageSignatureFile ? TestResult.Pass : TestResult.Fail; var actualResult = result.ValidationResults.Single(); Assert.Equal(expectedResult, actualResult.Result); if (includePackageSignatureFile) { Assert.Null(actualResult.Exception); } else { Assert.IsType <MissingPackageSignatureFileException>(actualResult.Exception); } } }
public async Task DoesntValidateSignatureIfDisabled() { var mock = Mock.Of <IDictionary <FeedType, SourceRepository> >(); var loggerFactory = Mock.Of <ILoggerFactory>(); var factory = new ValidatorFactory(mock, loggerFactory); var target = new CatalogAggregateValidator(factory, requireSignature: false); var result = await target.ValidateAsync(new ValidationContext()); Assert.Equal(0, result.ValidationResults.Count()); }
public async Task ValidatesSignature() { var feedToSource = new Mock <IDictionary <FeedType, SourceRepository> >(); var loggerFactory = Mock.Of <ILoggerFactory>(); var factory = new ValidatorFactory(feedToSource.Object, loggerFactory); feedToSource.Setup(x => x[It.IsAny <FeedType>()]).Returns(new Mock <SourceRepository>().Object); var target = new CatalogAggregateValidator(factory, requireSignature: true); var result = await target.ValidateAsync(new ValidationContext()); Assert.Equal(1, result.ValidationResults.Count()); }
public async Task ValidateAsync_WhenRequirePackageSignatureIsFalse_DoesNotRequirePackageSignatureFile( bool includePackageSignatureFile) { var storage = new MemoryStorage(_baseUri); var now = GetDateTime(); var storageContent = CreateStorageContent(now, includePackageSignatureFile); storage.Content.TryAdd(_packageDetailsUri, storageContent); using (var clientHandler = new MockServerHttpClientHandler()) using (CollectorHttpClient client = await CreateCollectorHttpClientStubAsync(clientHandler, storage)) { ValidationContext context = CreateContext(client, now); CatalogAggregateValidator validator = CreateValidator(context, requirePackageSignature: false); AggregateValidationResult result = await validator.ValidateAsync(context); Assert.Empty(result.ValidationResults); } }