public override IActionResult RemoveTools(RemoveToolsRequest removeToolsRequest)
        {
            var response = new EmptyObject {
                Success = true
            };

            _pipelineService.RemoveTools(removeToolsRequest);
            return(StatusCode(200, response));
        }
        public void TestRemoveNonexistingToolFromInvalidPipeline()
        {
            var validId = "5";
            var tools   = new List <string>();

            tools.Add("nonExistingTool");
            var request = new RemoveToolsRequest
            {
                PipelineId = validId,
                Tools      = tools
            };
            var response = _mockPipelineService.RemoveTools(request);

            Assert.False(response);
        }
        public void TestRemoveExistingToolFromValidPipeline()
        {
            var validId = GetValidPipelineId();
            var tools   = new List <string>();

            tools.Add("newTool");
            var request = new RemoveToolsRequest
            {
                PipelineId = validId,
                Tools      = tools
            };
            var response = _mockPipelineService.RemoveTools(request);

            Assert.True(response);
        }
        public bool RemoveTools(RemoveToolsRequest request)
        {
            //NOTE: Currently does not check if anything is actually deleted
            var file = _storageManager.GetFile(request.PipelineId + ".json", _containerName).Result;

            if (file == null)
            {
                return(false);
            }

            var pipeline        = ConvertFileToPipeline(file).Result;
            var pipelineToolset = pipeline.Tools;

            foreach (var tool in request.Tools)
            {
                pipelineToolset.Remove(tool);
            }
            pipeline.Tools = pipelineToolset;
            UploadPipelineToStorage(pipeline, file);
            return(true);
        }
 public abstract IActionResult RemoveTools([FromBody] RemoveToolsRequest removeToolsRequest);