예제 #1
0
        public void InsertScriptTask()
        {
            IList <Task> project1TasksBefore = _taskService.GetAllTasks(1);

            Assert.AreEqual(2, project1TasksBefore.Count);

            List <TaskScriptParameter> taskParameters = new List <TaskScriptParameter>();
            TaskScriptParameter        taskParameter  = new TaskScriptParameter();

            taskParameter.Name  = "parameter1";
            taskParameter.Value = "selected parameter";
            taskParameters.Add(taskParameter);

            Task successfullTask = _taskService.InsertScriptTask("5a768553-052e-47ee-bf48-68f8aaf9cd05", "new task", taskParameters);

            Assert.IsNotNull(successfullTask);
            Assert.AreEqual("new task", successfullTask.Name);

            IList <Task> project1TasksAfter = _taskService.GetAllTasks(1);

            Assert.AreEqual(3, project1TasksAfter.Count);

            Task failingTask1 = _taskService.InsertScriptTask("99", "new task", new List <TaskScriptParameter>());

            Assert.IsNull(failingTask1);

            IList <Task> project1TasksAfterFailing2 = _taskService.GetAllTasks(1);

            Assert.AreEqual(3, project1TasksAfterFailing2.Count);
        }
예제 #2
0
        public void InsertTaskParameter()
        {
            TaskScriptParameter newTaskParameter = _taskService.InsertTaskScriptParameter(1, "new pameter", "new value");

            Assert.IsNotNull(newTaskParameter);
            Assert.AreEqual("new pameter", newTaskParameter.Name);
            Assert.AreEqual("new value", newTaskParameter.Value);

            TaskScriptParameter failingTaskParameter = _taskService.InsertTaskScriptParameter(99, "new pameter", "new value");

            Assert.IsNull(failingTaskParameter);
        }
예제 #3
0
        public TaskScriptParameter Insert(TaskScriptParameter taskScriptParameter)
        {
            try
            {
                _context.TaskScriptParameters.Add(taskScriptParameter);
                Save();

                return(taskScriptParameter);
            }
            catch (Exception ex)
            {
                _log.Error("Insert(): Unable to add new task parameter", ex);

                return(null);
            }
        }
예제 #4
0
        public TaskScriptParameter InsertTaskScriptParameter(long taskScriptId, String name, String value)
        {
            TaskScript taskScript = _taskScriptDataAccess.Get(taskScriptId);

            if (taskScript != null)
            {
                TaskScriptParameter taskScriptParameter = new TaskScriptParameter();
                taskScriptParameter.TaskScript = taskScript;
                taskScriptParameter.Name       = name;
                taskScriptParameter.Value      = value;

                return(_taskScriptParameterDataAccess.Insert(taskScriptParameter));
            }
            else
            {
                _log.Info("InsertTaskScriptParameter(" + taskScriptId + "): Unable to find script task");

                return(null);
            }
        }
예제 #5
0
        public ActionResult GetSequenceScriptParameters(String sequenceId, String scriptId)
        {
            SequenceScriptParametersModel sequenceScriptParametersModel = new SequenceScriptParametersModel();

            sequenceScriptParametersModel.Sequence = _sequenceService.GetSequence(sequenceId);
            sequenceScriptParametersModel.Script   = ScriptHelper.GetGhostRunnerScript(_scriptService.GetScript(scriptId));

            sequenceScriptParametersModel.TaskParameters = new List <TaskScriptParameter>();

            foreach (String parameter in sequenceScriptParametersModel.Script.GetAllParameters())
            {
                TaskScriptParameter taskParameter = new TaskScriptParameter();
                taskParameter.Name  = parameter;
                taskParameter.Value = String.Empty;

                sequenceScriptParametersModel.TaskParameters.Add(taskParameter);
            }

            return(PartialView("Partials/SequenceScriptParameters", sequenceScriptParametersModel));
        }
예제 #6
0
        public ActionResult GetRunScriptDialog(String scriptId)
        {
            RunScriptModel runScriptModel = new RunScriptModel();

            runScriptModel.User    = ((User)ViewData["User"]);
            runScriptModel.Script  = ScriptHelper.GetGhostRunnerScript(_scriptService.GetScript(scriptId));
            runScriptModel.Project = runScriptModel.Script.Project;

            runScriptModel.Task      = new Task();
            runScriptModel.Task.Name = runScriptModel.Script.Name;

            runScriptModel.TaskParameters = new List <TaskScriptParameter>();

            foreach (String parameter in runScriptModel.Script.GetAllParameters())
            {
                TaskScriptParameter taskParameter = new TaskScriptParameter();
                taskParameter.Name  = parameter;
                taskParameter.Value = String.Empty;

                runScriptModel.TaskParameters.Add(taskParameter);
            }

            return(PartialView("Partials/RunScript", runScriptModel));
        }
예제 #7
0
        // POST create a new task
        public String Post(String id, JObject parameters)
        {
            String itemId = String.Empty;

            Script script = _scriptService.GetScript(id);

            if (script != null)
            {
                IGhostRunnerScript ghostRunnerScript = ScriptHelper.GetGhostRunnerScript(script);

                IList <TaskScriptParameter> taskParameters = new List <TaskScriptParameter>();

                if (ghostRunnerScript.HasParameters())
                {
                    foreach (String parameter in ghostRunnerScript.GetAllParameters())
                    {
                        if (parameters[parameter] != null)
                        {
                            TaskScriptParameter taskParameter = new TaskScriptParameter();
                            taskParameter.Name  = parameter;
                            taskParameter.Value = parameters[parameter].ToString();

                            taskParameters.Add(taskParameter);
                        }
                    }
                }

                Task task = _taskService.InsertScriptTask(id, script.Name, taskParameters);

                if (task != null)
                {
                    return(task.ExternalId);
                }
                else
                {
                    return(string.Empty);
                }
            }
            else
            {
                Sequence sequence = _sequenceService.GetSequence(id);

                if (sequence != null)
                {
                    Task task = _taskService.InsertSequenceTask(id, sequence.Name);

                    if (task != null)
                    {
                        return(task.ExternalId);
                    }
                    else
                    {
                        return(string.Empty);
                    }
                }
                else
                {
                    return(String.Empty);
                }
            }
        }
예제 #8
0
        private void BuildTasks()
        {
            Task task1 = new Task();

            task1.ID          = 1;
            task1.ExternalId  = "352e3cf8-480b-4568-80b5-d0cba95dae04";
            task1.Name        = "Test Script 1 Task";
            task1.Status      = Status.Completed;
            task1.Created     = DateTime.Now.AddHours(-2);
            task1.Started     = DateTime.Now.AddHours(-1);
            task1.Completed   = DateTime.Now;
            task1.ParentId    = 1;
            task1.ParentType  = ItemType.Script;
            task1.Project     = Projects.SingleOrDefault(p => p.ID == 1);
            task1.User        = Users.SingleOrDefault(u => u.ID == 1);
            task1.TaskScripts = new List <TaskScript>();

            Tasks.Add(task1);

            TaskScript taskScript1 = new TaskScript();

            taskScript1.ID      = 1;
            taskScript1.Content = "Test script with [parameter1]";
            taskScript1.Log     = "Output would go in here";
            taskScript1.Task    = task1;

            TaskScripts.Add(taskScript1);

            TaskScriptParameter taskParameter1 = new TaskScriptParameter();

            taskParameter1.ID         = 1;
            taskParameter1.Name       = "parameter1";
            taskParameter1.Value      = "Added Parameter";
            taskParameter1.TaskScript = taskScript1;

            TaskScriptParameters.Add(taskParameter1);

            Task task2 = new Task();

            task2.ID          = 2;
            task2.ExternalId  = "b006de77-5937-486e-baff-f31877cb946e";
            task2.Status      = Status.Unprocessed;
            task2.Created     = DateTime.Now;
            task2.Started     = null;
            task2.Completed   = null;
            task2.ParentId    = 1;
            task2.ParentType  = ItemType.Script;
            task2.Project     = Projects.SingleOrDefault(p => p.ID == 1);
            task2.User        = Users.SingleOrDefault(u => u.ID == 1);
            task2.TaskScripts = new List <TaskScript>();

            Tasks.Add(task2);

            TaskScript taskScript2 = new TaskScript();

            taskScript2.ID      = 2;
            taskScript2.Content = "Test script with [parameter1]";
            taskScript2.Log     = null;
            taskScript2.Task    = task2;

            TaskScripts.Add(taskScript1);

            TaskScriptParameter taskParameter2 = new TaskScriptParameter();

            taskParameter2.ID         = 2;
            taskParameter2.Name       = "parameter1";
            taskParameter2.Value      = "Other Parameter";
            taskParameter2.TaskScript = taskScript2;

            TaskScriptParameters.Add(taskParameter2);
        }