public virtual void SetReportRunner(GingerRunner gingerRunner, GingerReport gingerReport, ExecutionLoggerManager.ParentGingerData gingerData, Context mContext, string filename, int runnerCount) { if (gingerRunner == null) { gingerReport.Seq = this.GingerData.Seq; gingerReport.EndTimeStamp = DateTime.Now.ToUniversalTime(); gingerReport.GUID = this.GingerData.Ginger_GUID.ToString(); gingerReport.Name = this.GingerData.GingerName.ToString(); gingerReport.ApplicationAgentsMappingList = this.GingerData.GingerAggentMapping; gingerReport.EnvironmentName = mContext.Environment != null ? mContext.Environment.Name : string.Empty; gingerReport.Elapsed = (double)gingerReport.Watch.ElapsedMilliseconds / 1000; } else { if (runnerCount != 0) { gingerReport.Seq = runnerCount; } else { gingerReport.Seq = this.GingerData.Seq; //!!! } gingerReport.EndTimeStamp = DateTime.Now.ToUniversalTime(); gingerReport.GUID = gingerRunner.Guid.ToString(); gingerReport.Name = gingerRunner.Name; gingerReport.ApplicationAgentsMappingList = gingerRunner.ApplicationAgents.Select(a => a.AgentName + "_:_" + a.AppName).ToList(); gingerReport.EnvironmentName = gingerRunner.ProjEnvironment != null ? gingerRunner.ProjEnvironment.Name : string.Empty; gingerReport.Elapsed = (double)gingerRunner.Elapsed / 1000; if (gingerReport.LogFolder == null && !(string.IsNullOrEmpty(filename))) { gingerReport.LogFolder = filename; } } }
public override void SetReportRunner(GingerRunner gingerRunner, GingerReport gingerReport, ExecutionLoggerManager.ParentGingerData gingerData, Context mContext, string filename, int runnerCount) { base.SetReportRunner(gingerRunner, gingerReport, gingerData, mContext, filename, runnerCount); LiteDbRunner runner = new LiteDbRunner(); runner.BusinessFlowsColl.AddRange(liteDbBFList); if (lastRunnertStatus == eRunStatus.Stopped && gingerRunner.RunsetStatus != eRunStatus.Stopped && runner.BusinessFlowsColl.Count > gingerRunner.BusinessFlows.Count) { runner.BusinessFlowsColl.RemoveRange(0, gingerRunner.BusinessFlows.Count); } SetRunnerChildCounts(runner); runner.SetReportData(gingerReport); SaveObjToReporsitory(runner, liteDbManager.NameInDb <LiteDbRunner>()); if (ExecutionLoggerManager.RunSetReport == null) { ExecutionLoggerManager.RunSetReport = new RunSetReport(); ExecutionLoggerManager.RunSetReport.GUID = Guid.NewGuid().ToString(); } if (lastRunnertStatus == Amdocs.Ginger.CoreNET.Execution.eRunStatus.Stopped) { var runnerItem = ExecutionLoggerManager.RunSetReport.liteDbRunnerList.Find(x => x.Name == runner.Name); ExecutionLoggerManager.RunSetReport.liteDbRunnerList.Remove(runnerItem); } if (runner.RunStatus != eRunStatus.Stopped.ToString()) { liteDbBFList.Clear(); } ExecutionLoggerManager.RunSetReport.liteDbRunnerList.Add(runner); lastRunnertStatus = gingerRunner.RunsetStatus; ClearSeq(); }
public override void SetReportRunner(GingerExecutionEngine gingerRunner, GingerReport gingerReport, ParentGingerData gingerData, Context mContext, string filename, int runnerCount) { if (gingerRunner.ExecutionLoggerManager.Configuration.ExecutionLoggerConfigurationIsEnabled) { base.SetReportRunner(gingerRunner, gingerReport, gingerData, mContext, filename, runnerCount); SaveObjToReporsitory(gingerReport, Path.Combine(gingerReport.LogFolder, "Ginger.txt")); } }
public string GetRunSetLastExecutionLogFolderOffline() { if (WorkSpace.Instance.RunsetExecutor.RunSetConfig.LastRunsetLoggerFolder != null) { return(WorkSpace.Instance.RunsetExecutor.RunSetConfig.LastRunsetLoggerFolder); } else { ExecutionLoggerConfiguration _selectedExecutionLoggerConfiguration = WorkSpace.Instance.Solution.LoggerConfigurations; if (!_selectedExecutionLoggerConfiguration.ExecutionLoggerConfigurationIsEnabled) { //TODO AppReporter.ToUser(eUserMsgKey.ExecutionsResultsProdIsNotOn); return(string.Empty); } string exec_folder = folderNameNormalazing(WorkSpace.Instance.RunsetExecutor.RunSetConfig.Name) + "_" + DateTime.Now.ToString("MMddyyyy_HHmmssfff"); exec_folder = executionLoggerHelper.GetLoggerDirectory(Path.Combine(_selectedExecutionLoggerConfiguration.CalculatedLoggerFolder, exec_folder)); WorkSpace.Instance.RunsetExecutor.RunSetConfig.LastRunsetLoggerFolder = exec_folder; int RunnerCount = 1; RunSetStart(exec_folder, _selectedExecutionLoggerConfiguration.ExecutionLoggerConfigurationMaximalFolderSize, CurrentExecutionDateTime, true); foreach (GingerRunner gingerrunner in WorkSpace.Instance.RunsetExecutor.RunSetConfig.GingerRunners) { string folder = Path.Combine(exec_folder, RunnerCount.ToString() + " " + gingerrunner.Name); if (System.IO.Directory.Exists(folder)) { executionLoggerHelper.CleanDirectory(folder); } else { System.IO.Directory.CreateDirectory(folder); } mContext = gingerrunner.Context; Amdocs.Ginger.CoreNET.Execution.eRunStatus gingerRunnerStatus = gingerrunner.RunsetStatus; if (gingerRunnerStatus != Amdocs.Ginger.CoreNET.Execution.eRunStatus.Passed && gingerRunnerStatus != Amdocs.Ginger.CoreNET.Execution.eRunStatus.Failed && gingerRunnerStatus != Amdocs.Ginger.CoreNET.Execution.eRunStatus.Stopped) { continue; } Configuration.ExecutionLoggerConfigurationIsEnabled = true; mExecutionLogger.ExecutionLogfolder = folder; gingerReport = new GingerReport(); RunnerRunStart(0, gingerrunner, true); OfflineRunnerExecutionLog(gingerrunner, folder, RunnerCount); RunnerCount++; } RunSetEnd(exec_folder, true); return(exec_folder); } }
internal void SetReportData(GingerReport gingerReport) { Seq = gingerReport.Seq; GUID = Guid.Parse(gingerReport.GUID); Name = gingerReport.Name; Description = gingerReport.Description; Environment = gingerReport.EnvironmentName; StartTimeStamp = gingerReport.StartTimeStamp; EndTimeStamp = gingerReport.EndTimeStamp; Elapsed = gingerReport.Elapsed; ApplicationAgentsMappingList = gingerReport.ApplicationAgentsMappingList; RunStatus = SetStatus(BusinessFlowsColl); }