private static void VerifyNU3008(SignatureValidatorResult result) { var issue = Assert.Single(result.Issues); Assert.Equal(ValidationIssueCode.ClientSigningVerificationFailure, issue.IssueCode); var typedIssue = Assert.IsType <ClientSigningVerificationFailure>(issue); Assert.Equal("NU3008", typedIssue.ClientCode); Assert.Equal("The package integrity check failed.", typedIssue.ClientMessage); }
public async Task SetsNupkgUrlIfValidationSucceeds() { // Arrange _validatorResult = new SignatureValidatorResult(ValidationStatus.Succeeded, _outputNupkgUri); // Act var success = await _target.HandleAsync(_message); // Assert Assert.True(success, "The handler should have succeeded processing the message."); Assert.Equal(_outputNupkgUri.AbsoluteUri, _validation.NupkgUrl); }
private void VerifyPackageSigningStatus(SignatureValidatorResult result, ValidationStatus validationStatus, PackageSigningStatus packageSigningStatus) { Assert.Equal(validationStatus, result.State); var state = _validationEntitiesContext .Object .PackageSigningStates .Where(x => x.PackageKey == _packageKey) .SingleOrDefault(); Assert.Equal(state.PackageId, _message.PackageId); Assert.Equal(state.PackageNormalizedVersion, _message.PackageVersion); Assert.Equal(state.SigningStatus, packageSigningStatus); }
public HandleAsync() { _message = new SignatureValidationMessage( "NuGet.Versioning", "4.3.0", TestPackageUri, new Guid("18e83aca-953a-4484-a698-a8fb8619e0bd")); _outputNupkgUri = new Uri("https://example/processor/18e83aca-953a-4484-a698-a8fb8619e0bd/nuget.versioning.4.3.0.nupkg"); _validation = new ValidatorStatus { PackageKey = 42, State = ValidationStatus.Incomplete, }; _validationIssue = new Mock <IValidationIssue>(); _validatorResult = new SignatureValidatorResult(ValidationStatus.Succeeded, nupkgUri: null); _packageDownloader = new Mock <IFileDownloader>(); _validatorStateService = new Mock <IValidatorStateService>(); _signatureValidator = new Mock <ISignatureValidator>(); _validationEnqueuer = new Mock <IPackageValidationEnqueuer>(); _featureFlagService = new Mock <IFeatureFlagService>(); _logger = new Mock <ILogger <SignatureValidationMessageHandler> >(); _packageDownloader .Setup(x => x.DownloadAsync(_message.NupkgUri, It.IsAny <CancellationToken>())) .ReturnsAsync(() => FileDownloadResult.Ok(TestResources.GetResourceStream(TestResources.UnsignedPackage))); _validatorStateService .Setup(x => x.GetStatusAsync(It.IsAny <Guid>())) .ReturnsAsync(() => _validation); _signatureValidator .Setup(x => x.ValidateAsync( It.IsAny <int>(), It.IsAny <Stream>(), It.IsAny <SignatureValidationMessage>(), It.IsAny <CancellationToken>())) .ReturnsAsync(() => _validatorResult); _featureFlagService.SetReturnsDefault(true); _target = new SignatureValidationMessageHandler( _packageDownloader.Object, _validatorStateService.Object, _signatureValidator.Object, _validationEnqueuer.Object, _featureFlagService.Object, _logger.Object); }
private void Validate( SignatureValidatorResult result, ValidationStatus validationStatus, PackageSigningStatus packageSigningStatus, Uri nupkgUri = null, bool?shouldExtract = null) { Assert.Equal(validationStatus, result.State); Assert.Equal(nupkgUri, result.NupkgUri); _packageSigningStateService.Verify( x => x.SetPackageSigningState( _packageKey, _message.PackageId, _message.PackageVersion, packageSigningStatus), Times.Once); _packageSigningStateService.Verify( x => x.SetPackageSigningState( It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <PackageSigningStatus>()), Times.Once); if ((shouldExtract.HasValue && shouldExtract.Value) || (validationStatus == ValidationStatus.Succeeded && packageSigningStatus == PackageSigningStatus.Valid)) { _signaturePartsExtractor.Verify( x => x.ExtractAsync(_packageKey, It.Is <PrimarySignature>(y => y != null), It.IsAny <CancellationToken>()), Times.Once); _signaturePartsExtractor.Verify( x => x.ExtractAsync(It.IsAny <int>(), It.IsAny <PrimarySignature>(), It.IsAny <CancellationToken>()), Times.Once); } else { _signaturePartsExtractor.Verify( x => x.ExtractAsync(It.IsAny <int>(), It.IsAny <PrimarySignature>(), It.IsAny <CancellationToken>()), Times.Never); } _corePackageService.VerifyAll(); }