Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 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
                 }
             });
         }
     }
 }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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
                        }
                    });
                }
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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);
        }