public async Task <IActionResult> Post(IList <IFormFile> files) { if (files == null || !EnumerableExtensions.Any(files)) { return(BadRequest()); } StringValues authorisationHeader = Request.Headers["Authorization"]; string email = GetEmailFromAuthorizationHeader(authorisationHeader); var request = await CreateSaveAssetRegisterFileRequest(files); await _backgroundProcessor.QueueBackgroundTask( async() => { await _importAssetsUseCase.ExecuteAsync(request, _backgroundProcessor.GetCancellationToken()).ConfigureAwait(false); await _assetRegisterUploadProcessedNotifier.SendUploadProcessedNotification( new UploadProcessedNotification { Email = email, UploadSuccessfullyProcessed = true }, _backgroundProcessor.GetCancellationToken()); } ); return(Ok()); }
public async Task GivenOneTask_WhenTaskIsQueued_ThenTaskIsExecuted(int count) { //arrange //act for (int i = 0; i < count; i++) { await _classUnderTest.QueueBackgroundTask(async() => await _mockImportAssetsUseCase.Object.ExecuteAsync(new ImportAssetsRequest(), CancellationToken.None)); } await Task.Delay(500); //assert _mockImportAssetsUseCase.Verify(v => v.ExecuteAsync(It.IsAny <ImportAssetsRequest>(), It.IsAny <CancellationToken>()), Times.Exactly(count)); }