private void CreateBusinessFlowReport(BusinessFlowReport businessFlowReport) { //TODO: use the new cool style and create in parallel List <string> headers = new List <string>(); headers.Add(GingerDicser.GetTermResValue(eTermResKey.BusinessFlow)); headers.Add("Elapsed"); headers.Add("Status"); List <BusinessFlowReport> ll = new List <BusinessFlowReport>(); ll.Add(businessFlowReport); XNode m = CreateHTMLTable(ll, headers, BizFlowHTMLColumns); mStringBuilder.Append(m.ToString()); //append Activites List <string> headers2 = new List <string>(); headers2.Add(GingerDicser.GetTermResValue(eTermResKey.Activities)); headers2.Add(nameof(ActivityReport.ActivityName)); headers2.Add(nameof(ActivityReport.RunStatus)); headers2.Add(nameof(ActivityReport.ElapsedSecs)); //XNode m2 = CreateHTMLTable(businessFlowReport.Activities, headers2, BizFlowHTMLColumns); //mStringBuilder.Append(m2.ToString()); //foreach (ActivityReport activityReport in businessFlowReport.Activities) //{ // CreateActivityReport(activityReport); //} }
public override object SetReportBusinessFlow(Context context, bool offlineMode, Amdocs.Ginger.Common.eExecutedFrom executedFrom, bool isConfEnable) { BusinessFlowReport BFR = GetBFReportData(context.BusinessFlow, context.Environment); if (isConfEnable) { if (offlineMode) { // To check whether the execution is from Runset/Automate tab if ((executedFrom == Amdocs.Ginger.Common.eExecutedFrom.Automation)) { context.BusinessFlow.ExecutionFullLogFolder = context.BusinessFlow.ExecutionLogFolder; } else if ((WorkSpace.Instance.RunsetExecutor.RunSetConfig.LastRunsetLoggerFolder != null)) { context.BusinessFlow.ExecutionFullLogFolder = context.BusinessFlow.ExecutionLogFolder; } SaveObjToReporsitory(BFR, Path.Combine(context.BusinessFlow.ExecutionFullLogFolder, "BusinessFlow.txt")); } else { // use Path.cOmbine SaveObjToReporsitory(BFR, Path.Combine(ExecutionLogfolder, context.BusinessFlow.ExecutionLogFolder, "BusinessFlow.txt")); context.BusinessFlow.ExecutionFullLogFolder = Path.Combine(ExecutionLogfolder, context.BusinessFlow.ExecutionLogFolder); } if (executedFrom == Amdocs.Ginger.Common.eExecutedFrom.Automation) { this.ExecutionLogBusinessFlowsCounter = 0; //this.BFCounter = 0; } } return(BFR); }
public void BusinessflowReportTest() { string BusinessFlowReportFile = GingerTestHelper.TestResources.GetTestResourcesFile(@"Reports\BusinessFlow.txt"); try { BusinessFlowReport BFR = (BusinessFlowReport)JsonLib.LoadObjFromJSonFile(BusinessFlowReportFile, typeof(BusinessFlowReport)); Assert.AreEqual("Failed", BFR.RunStatus); Assert.AreEqual(float.Parse("36.279", CultureInfo.InvariantCulture), BFR.ElapsedSecs.Value); } catch (Exception Ex) { Assert.Fail(Ex.Message); } }
public override object SetReportBusinessFlow(Context context, bool offlineMode, Amdocs.Ginger.Common.eExecutedFrom executedFrom, bool isConfEnable) { BusinessFlowReport BFR = null; try { BFR = GetBFReportData(context.BusinessFlow, context.Environment); if (isConfEnable) { if (offlineMode) { // To check whether the execution is from Runset/Automate tab if ((executedFrom == Amdocs.Ginger.Common.eExecutedFrom.Automation)) { context.BusinessFlow.ExecutionFullLogFolder = context.BusinessFlow.ExecutionLogFolder; } else if ((WorkSpace.Instance.RunsetExecutor.RunSetConfig.LastRunsetLoggerFolder != null)) { context.BusinessFlow.ExecutionFullLogFolder = context.BusinessFlow.ExecutionLogFolder; } SaveObjToReporsitory(BFR, Path.Combine(context.BusinessFlow.ExecutionFullLogFolder, "BusinessFlow.txt")); } else { if (!Directory.Exists(Path.Combine(ExecutionLogfolder, context.BusinessFlow.ExecutionLogFolder))) { CreateNewDirectory(Path.Combine(ExecutionLogfolder, context.BusinessFlow.ExecutionLogFolder)); } // use Path.cOmbine SaveObjToReporsitory(BFR, Path.Combine(ExecutionLogfolder, context.BusinessFlow.ExecutionLogFolder, "BusinessFlow.txt")); context.BusinessFlow.ExecutionFullLogFolder = Path.Combine(ExecutionLogfolder, context.BusinessFlow.ExecutionLogFolder); } if (executedFrom == Amdocs.Ginger.Common.eExecutedFrom.Automation) { this.ExecutionLogBusinessFlowsCounter = 0; //this.BFCounter = 0; } } } catch (Exception exc) { Reporter.ToLog(eLogLevel.ERROR, "Exception occured " + exc.Message, exc); } return(BFR); }
internal BusinessFlowReport GetBFReportData(BusinessFlow businessFlow, ProjEnvironment environment) { BusinessFlowReport BFR = new BusinessFlowReport(businessFlow); BFR.VariablesBeforeExec = businessFlow.VariablesBeforeExec; BFR.SolutionVariablesBeforeExec = businessFlow.SolutionVariablesBeforeExec; BFR.Seq = this.ExecutionLogBusinessFlowsCounter; if (!string.IsNullOrEmpty(businessFlow.RunDescription)) { if (mVE == null) { mVE = new GingerCore.ValueExpression(environment, businessFlow, new ObservableList <GingerCore.DataSource.DataSourceBase>(), false, "", false); } mVE.Value = businessFlow.RunDescription; BFR.RunDescription = mVE.ValueCalculated; } return(BFR); }
public void SetReportData(BusinessFlowReport bfReport) { this.Seq = bfReport.Seq; this.GUID = Guid.Parse(bfReport.GUID); InstanceGUID = bfReport.InstanceGUID; this.Name = bfReport.Name; this.Description = bfReport.Description; RunDescription = bfReport.RunDescription; Environment = bfReport.Environment; StartTimeStamp = bfReport.StartTimeStamp; EndTimeStamp = bfReport.EndTimeStamp; Elapsed = bfReport.Elapsed; this.RunStatus = bfReport.RunStatus; VariablesBeforeExec = bfReport.VariablesBeforeExec; VariablesAfterExec = bfReport.VariablesAfterExec; SolutionVariablesBeforeExec = bfReport.SolutionVariablesBeforeExec; SolutionVariablesAfterExec = bfReport.SolutionVariablesAfterExec; BFFlowControlDT = bfReport.BFFlowControls; }
public override string CreateReport(ReportInfo reportInfo) { base.RI = reportInfo; mStringBuilder = new StringBuilder(); CreateReportHeader(); switch (reportInfo.reportInfoLevel) { case ReportInfo.ReportInfoLevel.BussinesFlowLevel: BusinessFlowReport businessFlowReport = (BusinessFlowReport)reportInfo.ReportInfoRootObject; businessFlowReport.ExecutionLoggerIsEnabled = true; CreateBusinessFlowReport(businessFlowReport); break; // TODO: all the rest } return(mStringBuilder.ToString()); }
public override void BusinessFlowEnd(uint eventTime, BusinessFlow businessFlow, bool offlineMode = false) { BusinessFlowReport businessFlowReport = new BusinessFlowReport(businessFlow); SaveObjToJSonFile(businessFlowReport, Path.Combine(mDumpFolder, CurrentBusinessFlowFolder, "BusinessFlowReport.txt")); }