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);
        }
Beispiel #3
0
 public static Task <Either <ActionResult, ReleaseFileImportInfo> > CheckCanCancelFileImport(
     this IUserService userService, ReleaseFileImportInfo import)
 {
     return(userService.CheckPolicy(import, SecurityPolicies.CanCancelOngoingImports));
 }
Beispiel #4
0
 public async Task <IActionResult> CancelFileImport([FromRoute] ReleaseFileImportInfo file)
 {
     return(await _importService
            .CancelImport(file)
            .HandleFailuresOr(result => new AcceptedResult()));
 }