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

Commit 792f5a3

Browse files
authored
Merge pull request #281 from NuGet/dev
[ReleasePrep][2017.12.06] RI of dev into master
2 parents c9421f2 + 8109d55 commit 792f5a3

3 files changed

Lines changed: 54 additions & 10 deletions

File tree

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

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,7 @@ private async Task MoveFileToPublicStorageAndMarkPackageAsAvailable(PackageValid
138138

139139
private bool AllValidationsSucceeded(PackageValidationSet packageValidationSet)
140140
{
141-
var completeValidations = new HashSet<string>(packageValidationSet
142-
.PackageValidations
143-
.Where(v => v.ValidationStatus == ValidationStatus.Succeeded)
144-
.Select(v => v.Type));
145-
var requiredValidations = _validationConfiguration
146-
.Validations
147-
.Select(v => v.Name);
148-
149-
return completeValidations.IsSupersetOf(requiredValidations);
141+
return packageValidationSet.PackageValidations.All(pv => pv.ValidationStatus == ValidationStatus.Succeeded);
150142
}
151143

152144
private IEnumerable<PackageValidation> GetFailedValidations(PackageValidationSet packageValidationSet)

src/Validation.PackageSigning.ExtractAndValidateSignature/Validation.PackageSigning.ExtractAndValidateSignature.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
<Version>1.1.2</Version>
9797
</PackageReference>
9898
<PackageReference Include="NuGet.Packaging">
99-
<Version>4.6.0-preview1-4690</Version>
99+
<Version>4.6.0-preview2-4699</Version>
100100
</PackageReference>
101101
<PackageReference Include="NuGet.Services.Configuration">
102102
<Version>2.5.0</Version>

tests/NuGet.Services.Validation.Orchestrator.Tests/ValidationOutcomeProcessorFacts.cs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,58 @@ public async Task DoesNotTakeDownAvailablePackages()
227227
.Verify(ps => ps.UpdatePackageStatusAsync(Package, PackageStatus.FailedValidation, It.IsAny<bool>()), Times.Never());
228228
}
229229

230+
[Theory]
231+
[InlineData(2, 1, 0, ValidationStatus.Incomplete, PackageStatus.Validating)]
232+
[InlineData(2, 1, 1, ValidationStatus.Incomplete, PackageStatus.Available)]
233+
[InlineData(3, 2, 0, ValidationStatus.Incomplete, PackageStatus.Validating)]
234+
[InlineData(3, 2, 1, ValidationStatus.Incomplete, PackageStatus.Validating)]
235+
[InlineData(3, 2, 2, ValidationStatus.Incomplete, PackageStatus.Available)]
236+
[InlineData(2, 1, 0, ValidationStatus.Failed, PackageStatus.FailedValidation)]
237+
[InlineData(3, 2, 0, ValidationStatus.Failed, PackageStatus.FailedValidation)]
238+
[InlineData(3, 2, 1, ValidationStatus.Failed, PackageStatus.FailedValidation)]
239+
public async Task PrefersDbOverConfigurationForDeterminingSuccess(
240+
int numConfiguredValidators,
241+
int numDbValidators,
242+
int numSucceededValidators,
243+
ValidationStatus notSucceededStatus,
244+
PackageStatus expectedStatus)
245+
{
246+
for (int cfgValidatorIndex = 0; cfgValidatorIndex < numConfiguredValidators; ++cfgValidatorIndex)
247+
{
248+
Configuration.Validations.Add(new ValidationConfigurationItem
249+
{
250+
Name = "validation" + cfgValidatorIndex,
251+
FailAfter = TimeSpan.FromDays(1),
252+
RequiredValidations = new List<string> { }
253+
});
254+
}
255+
256+
for (int dbValidatorIndex = 0; dbValidatorIndex < numDbValidators; ++dbValidatorIndex)
257+
{
258+
ValidationSet.PackageValidations.Add(new PackageValidation
259+
{
260+
Type = "validation" + dbValidatorIndex,
261+
ValidationStatus = dbValidatorIndex < numSucceededValidators ? ValidationStatus.Succeeded : notSucceededStatus
262+
});
263+
}
264+
265+
var processor = CreateProcessor();
266+
await processor.ProcessValidationOutcomeAsync(ValidationSet, Package);
267+
268+
if (expectedStatus != PackageStatus.Validating)
269+
{
270+
PackageServiceMock
271+
.Verify(ps => ps.UpdatePackageStatusAsync(Package, expectedStatus, true), Times.Once());
272+
PackageServiceMock
273+
.Verify(ps => ps.UpdatePackageStatusAsync(It.IsAny<Package>(), It.IsAny<PackageStatus>(), It.IsAny<bool>()), Times.Once());
274+
}
275+
else
276+
{
277+
PackageServiceMock
278+
.Verify(ps => ps.UpdatePackageStatusAsync(It.IsAny<Package>(), It.IsAny<PackageStatus>(), It.IsAny<bool>()), Times.Never());
279+
}
280+
}
281+
230282
public ValidationOutcomeProcessorFacts()
231283
{
232284
PackageServiceMock = new Mock<ICorePackageService>();

0 commit comments

Comments
 (0)