1515
1616namespace NuGet . Services . Validation . Orchestrator . Tests
1717{
18- public class StrictStorageFacts : ValidationSetProcessorFactsBase
18+ public class StrictMockValidationSetProcessorFacts : ValidationSetProcessorFactsBase
1919 {
20- public StrictStorageFacts ( )
20+ public StrictMockValidationSetProcessorFacts ( )
2121 : base ( validationStorageMockBehavior : MockBehavior . Strict )
2222 {
2323 }
@@ -39,14 +39,14 @@ public async Task FailsUnknownValidations()
3939 }
4040 }
4141
42- public class DefaultMockFacts : ValidationSetProcessorFactsBase
42+ public class DefaultMockValidationSetProcessorFacts : ValidationSetProcessorFactsBase
4343 {
4444 [ Theory ]
45- [ InlineData ( ValidationStatus . NotStarted , false ) ]
46- [ InlineData ( ValidationStatus . Incomplete , true ) ]
47- [ InlineData ( ValidationStatus . Succeeded , true ) ]
48- [ InlineData ( ValidationStatus . Failed , true ) ]
49- public async Task StartsNotStartedValidations ( ValidationStatus startStatus , bool expectStorageUpdate )
45+ [ InlineData ( ValidationStatus . NotStarted , false , false ) ]
46+ [ InlineData ( ValidationStatus . Incomplete , true , false ) ]
47+ [ InlineData ( ValidationStatus . Succeeded , true , true ) ]
48+ [ InlineData ( ValidationStatus . Failed , true , true ) ]
49+ public async Task StartsNotStartedValidations ( ValidationStatus startStatus , bool expectStorageUpdate , bool expectCleanup )
5050 {
5151 UseDefaultValidatorProvider ( ) ;
5252 const string validationName = "validation1" ;
@@ -96,6 +96,19 @@ public async Task StartsNotStartedValidations(ValidationStatus startStatus, bool
9696 TelemetryServiceMock . Verify (
9797 ts => ts . TrackValidatorStarted ( It . IsAny < string > ( ) ) , Times . Never ) ;
9898 }
99+
100+ if ( expectCleanup )
101+ {
102+ validator . Verify (
103+ x => x . CleanUpAsync ( It . IsAny < IValidationRequest > ( ) ) ,
104+ Times . Once ) ;
105+ }
106+ else
107+ {
108+ validator . Verify (
109+ x => x . CleanUpAsync ( It . IsAny < IValidationRequest > ( ) ) ,
110+ Times . Never ) ;
111+ }
99112 }
100113
101114 [ Fact ]
@@ -123,8 +136,12 @@ public async Task DoesNotStartValidationWithUnmetPrerequisites()
123136 var processor = CreateProcessor ( ) ;
124137 await processor . ProcessValidationsAsync ( ValidationSet , Package ) ;
125138
126- validator2
127- . Verify ( v => v . StartAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Never ( ) ) ;
139+ validator1 . Verify ( v => v . StartAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Never ) ;
140+ validator1 . Verify ( v => v . GetResultAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Once ) ;
141+ validator1 . Verify ( v => v . CleanUpAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Never ) ;
142+ validator2 . Verify ( v => v . StartAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Never ) ;
143+ validator2 . Verify ( v => v . GetResultAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Never ) ;
144+ validator2 . Verify ( v => v . CleanUpAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Never ) ;
128145 }
129146
130147 [ Fact ]
@@ -185,19 +202,23 @@ public async Task HandlesIncompleteValidationsStatusChanges(ValidationStatus tar
185202 vs => vs . UpdateValidationStatusAsync ( validation , It . Is < IValidationResult > ( r => r . Status == targetStatus ) ) , Times . Once ( ) ) ;
186203 ValidationStorageMock . Verify (
187204 vs => vs . UpdateValidationStatusAsync ( It . IsAny < PackageValidation > ( ) , It . IsAny < ValidationResult > ( ) ) , Times . Once ( ) ) ;
205+ validator . Verify (
206+ x => x . CleanUpAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Once ) ;
188207 }
189208 else
190209 {
191210 ValidationStorageMock . Verify (
192211 vs => vs . UpdateValidationStatusAsync ( It . IsAny < PackageValidation > ( ) , It . IsAny < ValidationResult > ( ) ) , Times . Never ( ) ) ;
212+ validator . Verify (
213+ x => x . CleanUpAsync ( It . IsAny < IValidationRequest > ( ) ) , Times . Never ) ;
193214 }
194215 Assert . Equal ( targetStatus , validation . ValidationStatus ) ;
195216 }
196217
197218 [ Theory ]
198219 [ InlineData ( ValidationStatus . Failed ) ]
199220 [ InlineData ( ValidationStatus . Succeeded ) ]
200- public async Task PersistsValidationIssuesOnStart ( ValidationStatus targetStatus )
221+ public async Task HandlesTerminalStatusOnStart ( ValidationStatus targetStatus )
201222 {
202223 UseDefaultValidatorProvider ( ) ;
203224 var validator = AddValidation ( "validation1" , TimeSpan . FromDays ( 1 ) , validationStatus : ValidationStatus . NotStarted ) ;
@@ -228,12 +249,15 @@ public async Task PersistsValidationIssuesOnStart(ValidationStatus targetStatus)
228249 validation ,
229250 It . Is < IValidationResult > ( r => r . Status == targetStatus && r . Issues . Any ( ) ) ) ,
230251 Times . Once ( ) ) ;
252+ validator . Verify (
253+ x => x . CleanUpAsync ( It . Is < IValidationRequest > ( y => y != null ) ) ,
254+ Times . Once ) ;
231255 }
232256
233257 [ Theory ]
234258 [ InlineData ( ValidationStatus . Failed ) ]
235259 [ InlineData ( ValidationStatus . Succeeded ) ]
236- public async Task PersistsValidationIssuesOnUpdate ( ValidationStatus targetStatus )
260+ public async Task HandlesTerminalStatusOnUpdate ( ValidationStatus targetStatus )
237261 {
238262 UseDefaultValidatorProvider ( ) ;
239263 var validator = AddValidation ( "validation1" , TimeSpan . FromDays ( 1 ) , validationStatus : ValidationStatus . Incomplete ) ;
@@ -263,6 +287,9 @@ public async Task PersistsValidationIssuesOnUpdate(ValidationStatus targetStatus
263287 validation ,
264288 It . Is < IValidationResult > ( r => r . Status == targetStatus && r . Issues . Any ( ) ) ) ,
265289 Times . Once ( ) ) ;
290+ validator . Verify (
291+ x => x . CleanUpAsync ( It . Is < IValidationRequest > ( y => y != null ) ) ,
292+ Times . Once ) ;
266293 }
267294
268295 [ Fact ]
0 commit comments