public void RunSetConfigSaveLoad() { //Arrange //Act RunSetConfig RSC = new RunSetConfig(); RSC.Name = "UT RSC1"; GingerRunner ARC1 = new GingerRunner(); ARC1.Name = " Agent 1"; BusinessFlowRun BFR = new BusinessFlowRun(); BFR.BusinessFlowName = "BF1"; ARC1.BusinessFlowsRunList.Add(BFR); RSC.GingerRunners.Add(ARC1); // RSC .SaveToFile(@"c:\temp\UTRSC1.xml"); //Assert // RunSetConfig RSC2 = (RunSetConfig)RepositoryItem.LoadFromFile(typeof(RunSetConfig), @"c:\temp\UTRSC1.xml"); }
public void RunSetConfigSaveLoad() { //Arrange" string TempFilepath = TestResources.GetTempFile("UTRSC1.xml"); //Act RunSetConfig RSC = new RunSetConfig(); RSC.Name = "UT RSC1"; GingerRunner ARC1 = new GingerRunner(); ARC1.Name = " Agent 1"; BusinessFlowRun BFR = new BusinessFlowRun(); BFR.BusinessFlowName = "BF1"; ARC1.BusinessFlowsRunList.Add(BFR); RSC.GingerRunners.Add(ARC1); RSC.RepositorySerializer.SaveToFile(RSC, TempFilepath); //Assert NewRepositorySerializer newRepositorySerializer = new NewRepositorySerializer(); RunSetConfig RSC2 = (RunSetConfig)newRepositorySerializer.DeserializeFromFile(typeof(RunSetConfig), TempFilepath); }
public static void CreateRealRunSetFromDynamic(RunsetExecutor runsetExecutor, AddRunset dynamicRunset) { RunSetConfig runSetConfig = new RunSetConfig(); runSetConfig.Name = dynamicRunset.Name; runSetConfig.RunWithAnalyzer = dynamicRunset.RunAnalyzer; runSetConfig.RunModeParallel = dynamicRunset.RunInParallel; // Add runners foreach (AddRunner addRunner in dynamicRunset.AddRunners) { GingerRunner gingerRunner = new GingerRunner(); gingerRunner.Name = addRunner.Name; if (!string.IsNullOrEmpty(addRunner.RunMode)) { gingerRunner.RunOption = (GingerRunner.eRunOptions)Enum.Parse(typeof(GingerRunner.eRunOptions), addRunner.RunMode, true); } if (!string.IsNullOrEmpty(addRunner.Environment)) { gingerRunner.UseSpecificEnvironment = true; gingerRunner.SpecificEnvironmentName = addRunner.Environment; } //add Agents foreach (SetAgent setAgent in addRunner.SetAgents) { ApplicationAgent appAgent = new ApplicationAgent(); appAgent.AppName = setAgent.ApplicationName; appAgent.AgentName = setAgent.AgentName; gingerRunner.ApplicationAgents.Add(appAgent); } // Add BFs foreach (AddBusinessFlow addBusinessFlow in addRunner.AddBusinessFlows) { BusinessFlowRun businessFlowRun = new BusinessFlowRun(); businessFlowRun.BusinessFlowName = addBusinessFlow.Name; businessFlowRun.BusinessFlowIsActive = true; // set BF Variables if (addBusinessFlow.InputVariables != null) { foreach (InputVariable inputVariabel in addBusinessFlow.InputVariables) { businessFlowRun.BusinessFlowCustomizedRunVariables.Add(new VariableString() { DiffrentFromOrigin = true, VarValChanged = true, ParentType = inputVariabel.VariableParentType, ParentName = inputVariabel.VariableParentName, Name = inputVariabel.VariableName, InitialStringValue = inputVariabel.VariableValue, Value = inputVariabel.VariableValue }); } } gingerRunner.BusinessFlowsRunList.Add(businessFlowRun); } runSetConfig.GingerRunners.Add(gingerRunner); } //Add mail Report handling foreach (AddRunsetOperation addOperation in dynamicRunset.AddRunsetOperations) { if (addOperation is MailReport) { MailReport dynamicMailOperation = (MailReport)addOperation; RunSetActionHTMLReportSendEmail mailOperation = new RunSetActionHTMLReportSendEmail(); mailOperation.Name = "Dynamic Mail Report"; mailOperation.Condition = (RunSetActionBase.eRunSetActionCondition)Enum.Parse(typeof(RunSetActionBase.eRunSetActionCondition), dynamicMailOperation.Condition, true); mailOperation.RunAt = (RunSetActionBase.eRunAt)Enum.Parse(typeof(RunSetActionBase.eRunAt), dynamicMailOperation.RunAt, true); mailOperation.Active = true; mailOperation.MailFrom = dynamicMailOperation.MailFrom; mailOperation.MailTo = dynamicMailOperation.MailTo; mailOperation.MailCC = dynamicMailOperation.MailCC; mailOperation.Subject = dynamicMailOperation.Subject; mailOperation.Comments = dynamicMailOperation.Comments; //mailOperation.Comments = string.Format("Dynamic {0} Execution Report" + GingerDicser.GetTermResValue(eTermResKey.RunSet)); mailOperation.HTMLReportTemplate = RunSetActionHTMLReportSendEmail.eHTMLReportTemplate.HTMLReport; mailOperation.selectedHTMLReportTemplateID = 100;//ID to mark defualt template mailOperation.Email.IsBodyHTML = true; mailOperation.Email.EmailMethod = GingerCore.GeneralLib.Email.eEmailMethod.SMTP; mailOperation.Email.MailFrom = dynamicMailOperation.MailFrom; mailOperation.Email.MailTo = dynamicMailOperation.MailTo; mailOperation.Email.Subject = dynamicMailOperation.Subject; if (dynamicMailOperation.SendViaOutlook) { mailOperation.Email.EmailMethod = GingerCore.GeneralLib.Email.eEmailMethod.OUTLOOK; } else { if (dynamicMailOperation.SmtpDetails != null) { mailOperation.Email.EmailMethod = GingerCore.GeneralLib.Email.eEmailMethod.SMTP; mailOperation.Email.SMTPMailHost = dynamicMailOperation.SmtpDetails.Server; mailOperation.Email.SMTPPort = int.Parse(dynamicMailOperation.SmtpDetails.Port); mailOperation.Email.EnableSSL = bool.Parse(dynamicMailOperation.SmtpDetails.EnableSSL); if (string.IsNullOrEmpty(dynamicMailOperation.SmtpDetails.User) == false) { mailOperation.Email.ConfigureCredential = true; mailOperation.Email.SMTPUser = dynamicMailOperation.SmtpDetails.User; mailOperation.Email.SMTPPass = dynamicMailOperation.SmtpDetails.Password; } } } if (dynamicMailOperation.IncludeAttachmentReport) { EmailHtmlReportAttachment reportAttachment = new EmailHtmlReportAttachment(); reportAttachment.AttachmentType = EmailAttachment.eAttachmentType.Report; reportAttachment.ZipIt = true; mailOperation.EmailAttachments.Add(reportAttachment); } runSetConfig.RunSetActions.Add(mailOperation); } else if (addOperation is JsonReport) { JsonReport dynamicJsonReport = (JsonReport)addOperation; RunSetActionJSONSummary jsonReportOperation = new RunSetActionJSONSummary(); jsonReportOperation.Name = "Dynamic Json Report"; jsonReportOperation.Condition = (RunSetActionBase.eRunSetActionCondition)Enum.Parse(typeof(RunSetActionBase.eRunSetActionCondition), dynamicJsonReport.Condition, true); jsonReportOperation.RunAt = (RunSetActionBase.eRunAt)Enum.Parse(typeof(RunSetActionBase.eRunAt), dynamicJsonReport.RunAt, true); jsonReportOperation.Active = true; runSetConfig.RunSetActions.Add(jsonReportOperation); } } // Set config runsetExecutor.RunSetConfig = runSetConfig; }