public bool ExportBfToAlm(BusinessFlow businessFlow, IEnumerable <ExternalItemFieldBase> testCaseFields, IEnumerable <ExternalItemFieldBase> testSetFields, IEnumerable <ExternalItemFieldBase> testExecutionFields, ref string responseStr) { List <JiraIssueExport> exportData = new List <JiraIssueExport>(); bool result = false; var bftestCases = businessFlow.ActivitiesGroups.ToList(); foreach (var tc in bftestCases) { this.ExportActivitesGrToJira(tc, testCaseFields, ref responseStr); } List <IJiraExportData> tcArray = CreateExportArrayFromActivites(bftestCases); JiraIssueExport jiraIssue = CreateJiraTestSet(businessFlow, testSetFields, testCaseFields, tcArray); exportData.Add(jiraIssue); var exportResponse = jiraRepObj.ExportJiraIssues(ALMCore.AlmConfig.ALMUserName, ALMCore.AlmConfig.ALMPassword, ALMCore.AlmConfig.ALMServerURL, exportData); if (exportResponse.Count > 0 && exportResponse.First().AuthenticationResponseObj.ErrorCode == 0) { if (string.IsNullOrEmpty(businessFlow.ExternalID) && exportResponse.First().DataResult != null) { businessFlow.ExternalID = exportResponse.First().DataResult.key; } result = CreateTestExecution(businessFlow, tcArray, testExecutionFields); this.UpdateTestCaseLabel(bftestCases); } else { responseStr = exportResponse.FirstOrDefault().AuthenticationResponseObj.ErrorDesc; } return(result); }
private JiraIssueExport UpdateTestCaseWithSpecificFields(ActivitiesGroup activtiesGroup, Dictionary <string, List <IJiraExportData> > fields) { JiraIssueExport jiraIssue = new JiraIssueExport(); jiraIssue.ProjectKey = ALMCore.AlmConfig.ALMProjectKey; jiraIssue.key = activtiesGroup.ExternalID; fields.ToList().ForEach(x => jiraIssue.ExportFields.Add(x.Key, x.Value)); return(jiraIssue); }
private JiraIssueExport CreateJiraTestSet(BusinessFlow businessFlow, IEnumerable <ExternalItemFieldBase> testSetFields, IEnumerable <ExternalItemFieldBase> testCaseFields, List <IJiraExportData> tcIds) { JiraIssueExport jiraIssue = new JiraIssueExport(); jiraIssue.name = businessFlow.Name; jiraIssue.key = businessFlow.ExternalID; CreateTestSetFields(businessFlow, testSetFields, jiraIssue, tcIds); return(jiraIssue); }
private JiraIssueExport CreateJiraTestCase(ActivitiesGroup activtiesGroup, IEnumerable <ExternalItemFieldBase> issueFields) { JiraIssueExport jiraIssue = new JiraIssueExport(); jiraIssue.ProjectKey = ALMCore.AlmConfig.ALMProjectKey; jiraIssue.key = activtiesGroup.ExternalID; CreateTestCaseFields(activtiesGroup, issueFields, jiraIssue); CreateTestCaseSteps(activtiesGroup.ActivitiesIdentifiers, jiraIssue); return(jiraIssue); }
private JiraIssueExport CreateDefectData(KeyValuePair <Guid, Dictionary <string, string> > defectForOpening, List <ExternalItemFieldBase> defectsFields) { JiraIssueExport jiraIssue = new JiraIssueExport(); jiraIssue.issueType = "Defect"; jiraIssue.self = defectForOpening.Key.ToString(); jiraIssue.resourceType = ALM_Common.DataContracts.ResourceType.DEFECT; jiraIssue.ExportFields.Add("project", new List <IJiraExportData>() { new JiraExportData() { value = ALMCore.AlmConfig.ALMProjectKey } }); jiraIssue.ExportFields.Add("summary", new List <IJiraExportData>() { new JiraExportData() { value = defectForOpening.Value.ContainsKey("Summary") ? defectForOpening.Value["Summary"] : string.Empty } }); jiraIssue.ExportFields.Add("description", new List <IJiraExportData>() { new JiraExportData() { value = defectForOpening.Value.ContainsKey("description") ? defectForOpening.Value["description"] : string.Empty } }); jiraIssue.ExportFields.Add("issuetype", new List <IJiraExportData>() { new JiraExportData() { value = "Defect" } }); jiraIssue.ExportFields.Add("reporter", new List <IJiraExportData>() { new JiraExportData() { value = ALMCore.AlmConfig.ALMUserName } }); this.CreateDefectFields(defectsFields, jiraIssue); return(jiraIssue); }
private void CreateDefectFields(List <ExternalItemFieldBase> defectsFields, JiraIssueExport exportData) { foreach (var item in defectsFields.Where(a => a.Mandatory || a.ToUpdate)) { var issueTemplate = jiraRepObj.GetFieldFromTemplateByName(ALM_Common.DataContracts.ResourceType.DEFECT, ALMCore.AlmConfig.ALMProjectKey, item.Name); if (issueTemplate == null || exportData.ExportFields.ContainsKey(issueTemplate.key)) { continue; } if (issueTemplate != null) { exportData.ExportFields.Add(issueTemplate.key, new List <IJiraExportData>() { new JiraExportData() { value = item.SelectedValue } }); } } }
public bool ExportActivitesGrToJira(ActivitiesGroup activtiesGroup, IEnumerable <ExternalItemFieldBase> testCaseFields, ref string errorResult) { List <JiraIssueExport> exportData = new List <JiraIssueExport>(); bool result = false; var testCaseFilterdFields = testCaseFields.Where(tc => tc.ToUpdate || tc.Mandatory); JiraIssueExport jiraIssue = CreateJiraTestCase(activtiesGroup, testCaseFilterdFields); exportData.Add(jiraIssue); var exportResponse = jiraRepObj.ExportJiraIssues(ALMCore.AlmConfig.ALMUserName, ALMCore.AlmConfig.ALMPassword, ALMCore.AlmConfig.ALMServerURL, exportData); if (exportResponse.Count > 0 && exportResponse.First().AuthenticationResponseObj.ErrorCode == 0) { if (string.IsNullOrEmpty(activtiesGroup.ExternalID)) { activtiesGroup.ExternalID = exportResponse.First().DataResult.key; } result = true; } else { errorResult = exportResponse.FirstOrDefault().AuthenticationResponseObj.ErrorDesc; } return(result); }
private void CreateTestCaseSteps(ObservableList <ActivityIdentifiers> activitiesIdentifiers, JiraIssueExport jiraIssue) { var steps = new List <IJiraExportData>(); var issueTemplate = jiraRepObj.GetFieldFromTemplateByName(ALM_Common.DataContracts.ResourceType.TEST_CASE, ALMCore.AlmConfig.ALMProjectKey, "Test Steps"); if (issueTemplate != null) { for (var a = 0; a < activitiesIdentifiers.Count; a++) { StringBuilder stepDataSb = new StringBuilder(); var activity = activitiesIdentifiers[a]; stepDataSb.Append("=>Description:"); stepDataSb.Append(activity.IdentifiedActivity.Description); stepDataSb.AppendLine(CreateStringFromVars(activity.IdentifiedActivity.Variables)); stepDataSb.AppendLine(CreateStringFromActions(activity.IdentifiedActivity.Acts)); steps.Add(new JiraStepData() { step_index = a.ToString(), step_name = activity.ActivityName, step_result = activity.IdentifiedActivity.Expected, step_data = stepDataSb.ToString() }); } jiraIssue.ExportFields.Add(issueTemplate.key, steps); } }
private void CreateTestCaseFields(ActivitiesGroup activtiesGroup, IEnumerable <ExternalItemFieldBase> issueFields, JiraIssueExport jiraIssue) { jiraIssue.name = activtiesGroup.Name; jiraIssue.resourceType = ALM_Common.DataContracts.ResourceType.TEST_CASE; jiraIssue.ExportFields.Add("project", new List <IJiraExportData>() { new JiraExportData() { value = ALMCore.AlmConfig.ALMProjectKey } }); jiraIssue.ExportFields.Add("summary", new List <IJiraExportData>() { new JiraExportData() { value = activtiesGroup.Name } }); jiraIssue.ExportFields.Add("description", new List <IJiraExportData>() { new JiraExportData() { value = activtiesGroup.Description } }); jiraIssue.ExportFields.Add("issuetype", new List <IJiraExportData>() { new JiraExportData() { value = "Test" } }); jiraIssue.ExportFields.Add("reporter", new List <IJiraExportData>() { new JiraExportData() { value = ALMCore.AlmConfig.ALMUserName } }); if (!string.IsNullOrEmpty(activtiesGroup.ExternalID2)) { jiraIssue.ExportFields.Add("labels", new List <IJiraExportData>() { new JiraExportData() { value = activtiesGroup.ExternalID2 } }); } foreach (var item in issueFields) { var issueTemplate = jiraRepObj.GetFieldFromTemplateByName(ALM_Common.DataContracts.ResourceType.TEST_CASE, ALMCore.AlmConfig.ALMProjectKey, item.Name); if (issueTemplate == null || jiraIssue.ExportFields.ContainsKey(issueTemplate.key)) { continue; } if (issueTemplate != null) { jiraIssue.ExportFields.Add(issueTemplate.key, new List <IJiraExportData>() { new JiraExportData() { value = item.SelectedValue } }); } } }
private void CreateTestSetFields(BusinessFlow businessFlow, IEnumerable <ExternalItemFieldBase> testSetFields, JiraIssueExport jiraIssue, List <IJiraExportData> tcIds) { jiraIssue.resourceType = ALM_Common.DataContracts.ResourceType.TEST_SET; jiraIssue.ExportFields.Add("project", new List <IJiraExportData>() { new JiraExportData() { value = ALMCore.AlmConfig.ALMProjectKey } }); jiraIssue.ExportFields.Add("summary", new List <IJiraExportData>() { new JiraExportData() { value = businessFlow.Name } }); jiraIssue.ExportFields.Add("description", new List <IJiraExportData>() { new JiraExportData() { value = businessFlow.Description } }); jiraIssue.ExportFields.Add("issuetype", new List <IJiraExportData>() { new JiraExportData() { value = "Test Set" } }); jiraIssue.ExportFields.Add("reporter", new List <IJiraExportData>() { new JiraExportData() { value = ALMCore.AlmConfig.ALMUserName } }); foreach (var item in testSetFields) { var issueTemplate = jiraRepObj.GetFieldFromTemplateByName(ALM_Common.DataContracts.ResourceType.TEST_SET, ALMCore.AlmConfig.ALMProjectKey, item.Name); if (issueTemplate == null || jiraIssue.ExportFields.ContainsKey(issueTemplate.key)) { continue; } if (issueTemplate != null) { jiraIssue.ExportFields.Add(issueTemplate.key, new List <IJiraExportData>() { new JiraExportData() { value = item.SelectedValue } }); } } var testCaseTemplate = jiraRepObj.GetFieldFromTemplateByName(ALM_Common.DataContracts.ResourceType.TEST_SET, ALMCore.AlmConfig.ALMProjectKey, "Test Cases"); if (testCaseTemplate != null && tcIds.Count > 0) { jiraIssue.ExportFields.Add(testCaseTemplate.key, tcIds); } }
private bool CreateTestExecution(BusinessFlow businessFlow, List <IJiraExportData> tcArray, IEnumerable <ExternalItemFieldBase> testExecutionFields) { bool result = true; List <JiraIssueExport> exportData = new List <JiraIssueExport>(); JiraIssueExport jiraIssue = new JiraIssueExport(); jiraIssue.issueType = "Test Execution"; jiraIssue.resourceType = ALM_Common.DataContracts.ResourceType.TEST_CASE_EXECUTION_RECORDS; jiraIssue.ExportFields.Add("project", new List <IJiraExportData>() { new JiraExportData() { value = ALMCore.AlmConfig.ALMProjectKey } }); jiraIssue.ExportFields.Add("summary", new List <IJiraExportData>() { new JiraExportData() { value = businessFlow.Name + "Test Execution" } }); jiraIssue.ExportFields.Add("description", new List <IJiraExportData>() { new JiraExportData() { value = businessFlow.Description + " Test Execution" } }); jiraIssue.ExportFields.Add("issuetype", new List <IJiraExportData>() { new JiraExportData() { value = "Test Execution" } }); jiraIssue.ExportFields.Add("reporter", new List <IJiraExportData>() { new JiraExportData() { value = ALMCore.AlmConfig.ALMUserName } }); foreach (var item in testExecutionFields) { var issueTemplate = jiraRepObj.GetFieldFromTemplateByName(ALM_Common.DataContracts.ResourceType.TEST_CASE_EXECUTION_RECORDS, ALMCore.AlmConfig.ALMProjectKey, item.Name); if (issueTemplate == null || jiraIssue.ExportFields.ContainsKey(issueTemplate.key)) { continue; } if (issueTemplate != null) { jiraIssue.ExportFields.Add(issueTemplate.key, new List <IJiraExportData>() { new JiraExportData() { value = item.SelectedValue } }); } } var testCaseTemplate = jiraRepObj.GetFieldFromTemplateByName(ALM_Common.DataContracts.ResourceType.TEST_CASE_EXECUTION_RECORDS, ALMCore.AlmConfig.ALMProjectKey, "Test Cases"); if (testCaseTemplate != null && tcArray.Count > 0) { jiraIssue.ExportFields.Add(testCaseTemplate.key, tcArray); } jiraIssue.key = businessFlow.AlmData; exportData.Add(jiraIssue); var exportExecutionResponse = jiraRepObj.ExportJiraIssues(ALMCore.AlmConfig.ALMUserName, ALMCore.AlmConfig.ALMPassword, ALMCore.AlmConfig.ALMServerURL, exportData); SetBusinessFlowAlmData(exportExecutionResponse, businessFlow); SetDataFromTestExecution(exportExecutionResponse, testCaseTemplate, businessFlow, businessFlow.AlmData); return(result); }