private XmlDocument GetConsolidatedReport(int id) { using (var db = new AutomationDBEntities()) { var Tasks = db.AutomationTasks.Where(rows => rows.JobId == id).ToList(); XmlDocument reportFile = new XmlDocument(); string firstReport = Encoding.UTF8.GetString(Tasks[0].AutomationReport); reportFile.LoadXml(firstReport); Tasks.RemoveAt(0); XmlNode TestsTag = reportFile.GetElementsByTagName("tests")[0]; foreach (var task in Tasks) { if (task.AutomationReport == null) { continue; } string taskReport = Encoding.UTF8.GetString(task.AutomationReport); XmlDocument document = new XmlDocument(); document.LoadXml(taskReport); var taskTests = document.GetElementsByTagName("test"); foreach (XmlNode test in taskTests) { var importedNode = reportFile.ImportNode(test, true); TestsTag.AppendChild(importedNode); } } return(reportFile); } }
public HttpResponseMessage Post([FromBody] JObject JOB) { try { int id; using (var db = new AutomationDBEntities()) { if (!db.ManagerJobs.Any()) { id = 1; } else { id = db.ManagerJobs.Max(col => col.Id) + 1; } string automationRuntype = JOB["AutomationRunType"].ToString(); JOB.Property("AutomationRunType").Remove(); //var uploadModules = JOB.Property("UploadModules"); //if (uploadModules != null) // uploadModules.Value = false; var importLibraryData = JOB.Property("ImportLibraryData"); if (importLibraryData != null) { importLibraryData.Value = false; } ManagerJob job = new ManagerJob() { Id = id, Status = null, AutomationRunType = automationRuntype, Config = Encoding.UTF8.GetBytes(JOB.ToString()) }; string BuildURL = JOB["BuildURL"].ToString(); if (db.ActiveAutomationBuilds.Any(row => row.Build.Equals(BuildURL, StringComparison.CurrentCultureIgnoreCase))) { return(Request.CreateResponse(HttpStatusCode.OK, "Request cannot be accecpted at this time because another run is in progress on the specified build. For more details, please check the active automation runs on the dashboard or contact the Optimus Team.")); } var activeAutomation = new ActiveAutomationBuild(job.Id, BuildURL); db.ManagerJobs.Add(job); db.Entry(job).State = System.Data.Entity.EntityState.Added; db.ActiveAutomationBuilds.Add(activeAutomation); db.Entry(activeAutomation).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.Accepted, "JobId:" + job.Id)); } } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.ToString())); } }
public ActionResult GetXMLReportForSuite(int id) { using (var db = new AutomationDBEntities()) { var record = db.AutomationTasks.Where(row => row.Id == id).FirstOrDefault(); string report = Encoding.UTF8.GetString(record.AutomationReport); return(Content(report, "text/xml")); } }
public SlavesStatus Get() { using (var db = new AutomationDBEntities()) { int busy = db.SlaveMachines.Count(machines => machines.Status == true); int idle = db.SlaveMachines.Count(machines => machines.Status == false); SlavesStatus status = new SlavesStatus(busy, idle); return(status); } }
public List <Job> Get() { using (var db = new AutomationDBEntities()) { var ManagerJobs = db.ManagerJobs.OrderByDescending(col => col.Id).ToList(); List <Job> Jobs = new List <Job>(); foreach (var job in ManagerJobs) { Job j = new Job(job.Id, job.AutomationRunType, job.Status == true, job.TimeForCompletion); Jobs.Add(j); } return(Jobs); } }
public ActionResult GetConfigForJob(int Id) { using (var db = new AutomationDBEntities()) { var job = db.ManagerJobs.FirstOrDefault(row => row.Id == Id); string config = "content not available"; if (job != null) { config = Encoding.UTF8.GetString(job.Config); } return(Content(config, "application/json")); } }
public ActionResult GetConfigForSuite(int Id) { using (var db = new AutomationDBEntities()) { var module = db.AutomationTasks.FirstOrDefault(row => row.Id == Id); string jsonConfig = "content not available"; if (module != null) { jsonConfig = Encoding.UTF8.GetString(module.ConfigurationsUsedForExecution); } var jobject = JObject.Parse(jsonConfig); return(Content(jobject.ToString(), "application/json")); } }
public ActionResult ViewSuiteHTMLReport(int id) { using (var db = new AutomationDBEntities()) { var record = db.AutomationTasks.Where(row => row.Id == id).FirstOrDefault(); string report = Encoding.UTF8.GetString(record.AutomationReport); XmlDocument doc = new XmlDocument(); doc.LoadXml(report); string FileName = GenerateExtentReport(doc); var rm = new ReportModel(System.IO.File.ReadAllText(FileName)); System.IO.File.Delete(FileName); return(View("~/Views/Report/ViewResult.cshtml", rm)); } }
public List <Task> Get(int id) { using (var db = new AutomationDBEntities()) { var AutomationTasks = db.AutomationTasks.Where(rows => rows.JobId == id).OrderByDescending(col => col.JobId).OrderBy(col => col.IsComplete).ToList(); List <Task> Tasks = new List <Task>(); foreach (var task in AutomationTasks) { Task t = new Task(task.JobId, task.IsComplete == true, task.SlaveId, task.SuiteName, task.TimeForCompletion, task.Id); Tasks.Add(t); } return(Tasks); } }