public Task <Either <ActionResult, Unit> > CancelImport(ReleaseFileImportInfo import) { return(_userService .CheckCanCancelFileImport(import) .OnSuccessVoid(async() => { await _queueService.AddMessageAsync("imports-cancelling", new CancelImportMessage { ReleaseId = import.ReleaseId, DataFileName = import.DataFileName }); })); }
public async void CancelFileImportButNotAllowed() { var mocks = Mocks(); var cancelRequest = new ReleaseFileImportInfo { ReleaseId = Guid.NewGuid(), DataFileName = "my_data_file.csv" }; mocks.ImportService .Setup(s => s.CancelImport(cancelRequest)) .ReturnsAsync(new ForbidResult()); var controller = ReleasesControllerWithMocks(mocks); var result = await controller.CancelFileImport(cancelRequest); Assert.IsType <ForbidResult>(result); MockUtils.VerifyAllMocks(mocks.ImportService); }
public static Task <Either <ActionResult, ReleaseFileImportInfo> > CheckCanCancelFileImport( this IUserService userService, ReleaseFileImportInfo import) { return(userService.CheckPolicy(import, SecurityPolicies.CanCancelOngoingImports)); }
public async Task <IActionResult> CancelFileImport([FromRoute] ReleaseFileImportInfo file) { return(await _importService .CancelImport(file) .HandleFailuresOr(result => new AcceptedResult())); }