Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit adfbaeb

Browse files
committed
Add initial integration with IProcessor in orchestrator (#353)
Progress on NuGet/Engineering#1190
1 parent 1a0c11d commit adfbaeb

15 files changed

Lines changed: 109 additions & 49 deletions
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3+
4+
using System.Threading.Tasks;
5+
6+
namespace NuGet.Services.Validation.Orchestrator
7+
{
8+
public abstract class BaseValidator
9+
{
10+
public virtual Task CleanUpAsync(IValidationRequest request)
11+
{
12+
return Task.CompletedTask;
13+
}
14+
}
15+
}

src/NuGet.Services.Validation.Orchestrator/NuGet.Services.Validation.Orchestrator.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
<Reference Include="System.Xml" />
4444
</ItemGroup>
4545
<ItemGroup>
46+
<Compile Include="BaseValidator.cs" />
4647
<Compile Include="ConfigurationValidator.cs" />
4748
<Compile Include="ContainerBuilderExtensions.cs" />
4849
<Compile Include="CoreMessageServiceConfiguration.cs" />
@@ -102,7 +103,7 @@
102103
</ItemGroup>
103104
<ItemGroup>
104105
<PackageReference Include="NuGet.Services.Validation.Issues">
105-
<Version>2.15.0</Version>
106+
<Version>2.17.0</Version>
106107
</PackageReference>
107108
</ItemGroup>
108109
<ItemGroup>

src/NuGet.Services.Validation.Orchestrator/PackageCertificates/PackageCertificatesValidator.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
namespace NuGet.Services.Validation.PackageCertificates
1414
{
15-
public class PackageCertificatesValidator : IValidator
15+
public class PackageCertificatesValidator : BaseValidator, IValidator
1616
{
1717
private static readonly TimeSpan DefaultCertificateRevalidationThresholdTime = TimeSpan.FromDays(1);
1818

@@ -117,14 +117,14 @@ private async Task<ValidatorStatus> GetStatusAsync(IValidationRequest request)
117117
}
118118
}
119119

120-
public async Task<IValidationResult> StartValidationAsync(IValidationRequest request)
120+
public async Task<IValidationResult> StartAsync(IValidationRequest request)
121121
{
122-
var validatorStatus = await StartValidationInternalAsync(request);
122+
var validatorStatus = await StartInternalAsync(request);
123123

124124
return validatorStatus.ToValidationResult();
125125
}
126126

127-
private async Task<ValidatorStatus> StartValidationInternalAsync(IValidationRequest request)
127+
private async Task<ValidatorStatus> StartInternalAsync(IValidationRequest request)
128128
{
129129
var status = await _validatorStateService.GetStatusAsync(request);
130130

src/NuGet.Services.Validation.Orchestrator/PackageSigning/PackageSigningValidator.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
33

44
using System;
5-
using System.Linq;
65
using System.Threading.Tasks;
76
using Microsoft.Extensions.Logging;
87
using NuGet.Jobs.Validation.PackageSigning.Storage;
8+
using NuGet.Services.Validation.Orchestrator;
99

1010
namespace NuGet.Services.Validation.PackageSigning
1111
{
12-
public class PackageSigningValidator : IValidator
12+
public class PackageSigningValidator : BaseValidator, IValidator
1313
{
1414
private readonly IValidatorStateService _validatorStateService;
1515
private readonly IPackageSignatureVerificationEnqueuer _signatureVerificationEnqueuer;
@@ -32,14 +32,14 @@ public async Task<IValidationResult> GetResultAsync(IValidationRequest request)
3232
return validatorStatus.ToValidationResult();
3333
}
3434

35-
public async Task<IValidationResult> StartValidationAsync(IValidationRequest request)
35+
public async Task<IValidationResult> StartAsync(IValidationRequest request)
3636
{
37-
var validatorStatus = await StartValidationInternalAsync(request);
37+
var validatorStatus = await StartInternalAsync(request);
3838

3939
return validatorStatus.ToValidationResult();
4040
}
4141

42-
private async Task<ValidatorStatus> StartValidationInternalAsync(IValidationRequest request)
42+
private async Task<ValidatorStatus> StartInternalAsync(IValidationRequest request)
4343
{
4444
// Check that this is the first validation for this specific request.
4545
var validatorStatus = await _validatorStateService.GetStatusAsync(request);

src/NuGet.Services.Validation.Orchestrator/ValidationSetProcessor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ private async Task<bool> ProcessNotStartedValidations(PackageValidationSet valid
179179
validationSet.ValidationTrackingId,
180180
packageValidation.Key,
181181
validationRequest.NupkgUrl);
182-
validationResult = await validator.StartValidationAsync(validationRequest);
182+
validationResult = await validator.StartAsync(validationRequest);
183183
_logger.LogInformation("Got validationStatus = {ValidationStatus} for validation {ValidationType} for {PackageId} {PackageVersion}, validation set {ValidationSetId}, {ValidationId}",
184184
validationResult.Status,
185185
packageValidation.Type,

src/NuGet.Services.Validation.Orchestrator/Vcs/VcsValidator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
namespace NuGet.Services.Validation.Vcs
1717
{
18-
public class VcsValidator : IValidator
18+
public class VcsValidator : BaseValidator, IValidator
1919
{
2020
private const string ValidatorName = Jobs.Validation.Common.Validators.Vcs.VcsValidator.ValidatorName;
2121

@@ -107,7 +107,7 @@ public async Task<IValidationResult> GetResultAsync(IValidationRequest request)
107107
}
108108
}
109109

110-
public async Task<IValidationResult> StartValidationAsync(IValidationRequest request)
110+
public async Task<IValidationResult> StartAsync(IValidationRequest request)
111111
{
112112
if (ShouldSkip(request))
113113
{

src/PackageHash/PackageHash.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
<Version>1.1.2</Version>
8080
</PackageReference>
8181
<PackageReference Include="NuGet.Services.Cursor">
82-
<Version>2.15.0</Version>
82+
<Version>2.17.0</Version>
8383
</PackageReference>
8484
</ItemGroup>
8585
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

src/Validation.Common.Job/Validation.Common.Job.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,16 @@
7070
<Version>4.7.0-preview1-4886</Version>
7171
</PackageReference>
7272
<PackageReference Include="NuGet.Services.Configuration">
73-
<Version>2.15.0</Version>
73+
<Version>2.17.0</Version>
7474
</PackageReference>
7575
<PackageReference Include="NuGet.Services.Logging">
76-
<Version>2.15.0</Version>
76+
<Version>2.17.0</Version>
7777
</PackageReference>
7878
<PackageReference Include="NuGet.Services.Storage">
79-
<Version>2.15.0</Version>
79+
<Version>2.17.0</Version>
8080
</PackageReference>
8181
<PackageReference Include="NuGet.Services.Validation">
82-
<Version>2.15.0</Version>
82+
<Version>2.17.0</Version>
8383
</PackageReference>
8484
<PackageReference Include="NuGetGallery.Core">
8585
<Version>4.4.4-dev-23300</Version>

tests/NuGet.Services.Validation.Orchestrator.Tests/NuGet.Services.Validation.Orchestrator.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
<Version>4.7.145</Version>
7070
</PackageReference>
7171
<PackageReference Include="NuGet.Services.Validation.Issues">
72-
<Version>2.15.0</Version>
72+
<Version>2.17.0</Version>
7373
</PackageReference>
7474
<PackageReference Include="System.Net.Http">
7575
<Version>4.3.3</Version>

tests/NuGet.Services.Validation.Orchestrator.Tests/PackageCertificates/PackageCertificatesValidatorFacts.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ public async Task ReturnsPersistedStatusIfAlreadyStarted(ValidationStatus status
555555
});
556556

557557
// Act & Assert
558-
var actual = await _target.StartValidationAsync(_validationRequest.Object);
558+
var actual = await _target.StartAsync(_validationRequest.Object);
559559

560560
_certificateVerifier.Verify(v => v.EnqueueVerificationAsync(It.IsAny<IValidationRequest>(), It.IsAny<EndCertificate>()), Times.Never);
561561
_validationContext.Verify(c => c.SaveChangesAsync(), Times.Never);
@@ -589,7 +589,7 @@ public async Task UnsignedPackagesAlwaysSucceed()
589589
packageSigningStates: new[] { packageSigningState });
590590

591591
// Act & Assert
592-
var actual = await _target.StartValidationAsync(_validationRequest.Object);
592+
var actual = await _target.StartAsync(_validationRequest.Object);
593593

594594
_certificateVerifier.Verify(v => v.EnqueueVerificationAsync(It.IsAny<IValidationRequest>(), It.IsAny<EndCertificate>()), Times.Never);
595595
_validationContext.Verify(c => c.SaveChangesAsync(), Times.Once);
@@ -668,7 +668,7 @@ public async Task ReturnsSucceededIfAllCertificatesAlreadyValidated()
668668
endCertificates: new[] { signatureCertificate, timestampCertificate });
669669

670670
// Act & Assert
671-
var actual = await _target.StartValidationAsync(_validationRequest.Object);
671+
var actual = await _target.StartAsync(_validationRequest.Object);
672672

673673
_certificateVerifier.Verify(v => v.EnqueueVerificationAsync(It.IsAny<IValidationRequest>(), It.IsAny<EndCertificate>()), Times.Never);
674674
_validationContext.Verify(c => c.SaveChangesAsync(), Times.Once);
@@ -745,7 +745,7 @@ public async Task ReturnsIncompleteIfThereAreCertificatesToValidate()
745745
packageSignatures: new[] { packageSignature },
746746
endCertificates: new[] { signatureCertificate, timestampCertificate });
747747

748-
var actual = await _target.StartValidationAsync(_validationRequest.Object);
748+
var actual = await _target.StartAsync(_validationRequest.Object);
749749

750750
_certificateVerifier.Verify(v => v.EnqueueVerificationAsync(It.IsAny<IValidationRequest>(), It.IsAny<EndCertificate>()), Times.Exactly(2));
751751
_validationContext.Verify(c => c.SaveChangesAsync(), Times.Once);
@@ -825,7 +825,7 @@ public async Task CertificateRevokedAfterPackageWasSignedDoesntInvalidateSignatu
825825
endCertificates: new[] { signatureCertificate, timestampCertificate });
826826

827827
// Act & Assert (NOTE: the "Revoked" certificate must NOT be verified!)
828-
var actual = await _target.StartValidationAsync(_validationRequest.Object);
828+
var actual = await _target.StartAsync(_validationRequest.Object);
829829

830830
_certificateVerifier.Verify(v => v.EnqueueVerificationAsync(It.IsAny<IValidationRequest>(), It.IsAny<EndCertificate>()), Times.Once);
831831
_validationContext.Verify(c => c.SaveChangesAsync(), Times.Once);
@@ -903,7 +903,7 @@ public async Task InvalidCertificatesAlwaysInvalidateSignature()
903903
packageSignatures: new[] { packageSignature },
904904
endCertificates: new[] { signatureCertificate, timestampCertificate });
905905

906-
var actual = await _target.StartValidationAsync(_validationRequest.Object);
906+
var actual = await _target.StartAsync(_validationRequest.Object);
907907

908908
_certificateVerifier.Verify(v => v.EnqueueVerificationAsync(It.IsAny<IValidationRequest>(), It.IsAny<EndCertificate>()), Times.Never);
909909
_validationContext.Verify(c => c.SaveChangesAsync(), Times.Once);
@@ -1065,7 +1065,7 @@ public async Task OnRevalidationAllNonRevokedCertificatesAreVerified(
10651065
endCertificates: new[] { signatureCertificate, timestampCertificate });
10661066

10671067
// Act & Assert (NOTE: revoked certificates are NOT verified again but invalid certificates are)
1068-
var actual = await _target.StartValidationAsync(_validationRequest.Object);
1068+
var actual = await _target.StartAsync(_validationRequest.Object);
10691069

10701070
_certificateVerifier.Verify(v => v.EnqueueVerificationAsync(It.IsAny<IValidationRequest>(), It.IsAny<EndCertificate>()), Times.Exactly(expectedCertificateValidations));
10711071
_validationContext.Verify(c => c.SaveChangesAsync(), Times.Once);
@@ -1130,7 +1130,7 @@ public async Task RevokedSignaturesAreInvalidated()
11301130
endCertificates: new[] { certificate });
11311131

11321132
// Act & Assert
1133-
var actual = await _target.StartValidationAsync(_validationRequest.Object);
1133+
var actual = await _target.StartAsync(_validationRequest.Object);
11341134

11351135
_certificateVerifier.Verify(v => v.EnqueueVerificationAsync(It.IsAny<IValidationRequest>(), It.IsAny<EndCertificate>()), Times.Never);
11361136
_validationContext.Verify(c => c.SaveChangesAsync(), Times.Once);

0 commit comments

Comments
 (0)