@@ -264,6 +264,59 @@ public async Task WillReturnConflictIfFileExistsInContainer()
264264 symbolPackageFileService . Verify ( x => x . SavePackageFileAsync ( package , It . IsAny < Stream > ( ) , It . IsAny < bool > ( ) ) , Times . Once ) ;
265265 }
266266
267+ [ Fact ]
268+ public async Task WillDeleteFailedValidationSnupkg ( )
269+ {
270+ // Arrange
271+ var symbolPackageService = new Mock < ISymbolPackageService > ( ) ;
272+ symbolPackageService
273+ . Setup ( x => x . CreateSymbolPackage ( It . IsAny < Package > ( ) , It . IsAny < PackageStreamMetadata > ( ) ) )
274+ . Returns ( ( Package package1 , PackageStreamMetadata streamMetadata ) =>
275+ {
276+ var symbolPackage = new SymbolPackage ( )
277+ {
278+ Package = package1 ,
279+ PackageKey = package1 . Key ,
280+ Created = DateTime . UtcNow ,
281+ StatusKey = PackageStatus . Validating
282+ } ;
283+
284+ return symbolPackage ;
285+ } )
286+ . Verifiable ( ) ;
287+
288+ var symbolPackageFileService = new Mock < ISymbolPackageFileService > ( ) ;
289+ symbolPackageFileService
290+ . Setup ( x => x . DoesValidationPackageFileExistAsync ( It . IsAny < Package > ( ) ) )
291+ . ReturnsAsync ( true )
292+ . Verifiable ( ) ;
293+ symbolPackageFileService
294+ . Setup ( x => x . DeleteValidationPackageFileAsync ( It . IsAny < string > ( ) , It . IsAny < string > ( ) ) )
295+ . Completes ( )
296+ . Verifiable ( ) ;
297+ symbolPackageFileService
298+ . Setup ( x => x . SaveValidationPackageFileAsync ( It . IsAny < Package > ( ) , It . IsAny < Stream > ( ) ) )
299+ . Completes ( )
300+ . Verifiable ( ) ;
301+
302+ var service = CreateService ( symbolPackageService : symbolPackageService , symbolPackageFileService : symbolPackageFileService ) ;
303+ var package = new Package ( ) { PackageRegistration = new PackageRegistration ( ) { Id = "theId" } , Version = "1.0.23" } ;
304+ package . SymbolPackages . Add ( new SymbolPackage ( )
305+ {
306+ StatusKey = PackageStatus . FailedValidation ,
307+ Key = 1232 ,
308+ Package = package
309+ } ) ;
310+
311+ // Act
312+ var result = await service . CreateAndUploadSymbolsPackage ( package , new MemoryStream ( ) ) ;
313+
314+ // Assert
315+ Assert . NotNull ( result ) ;
316+ Assert . Equal ( PackageCommitResult . Success , result ) ;
317+ symbolPackageFileService . VerifyAll ( ) ;
318+ }
319+
267320 [ Fact ]
268321 public async Task WillDeleteSavedFileAndThrowWhenDBWriteFails ( )
269322 {
0 commit comments