You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by zh...@apache.org on 2022/11/16 07:15:25 UTC

[incubator-devlake] branch main updated: test: add jira sprint issue e2e test (#3745)

This is an automated email from the ASF dual-hosted git repository.

zhangliang2022 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 0b9c8b8db test: add jira sprint issue e2e test (#3745)
0b9c8b8db is described below

commit 0b9c8b8dbd3d8f4fdd34907862160a3ff468f646
Author: NaRro <co...@merico.dev>
AuthorDate: Wed Nov 16 15:15:21 2022 +0800

    test: add jira sprint issue e2e test (#3745)
---
 plugins/jira/e2e/issue_test.go                     | 12 +++++
 .../snapshot_tables/_tool_jira_sprint_issues.csv   | 29 ++++++++++++
 plugins/jira/e2e/snapshot_tables/sprint_issues.csv | 29 ++++++++++++
 plugins/jira/e2e/sprint_issue_test.go              | 52 ++++++++++++++++++++++
 4 files changed, 122 insertions(+)

diff --git a/plugins/jira/e2e/issue_test.go b/plugins/jira/e2e/issue_test.go
index 738805148..5e05a3e8f 100644
--- a/plugins/jira/e2e/issue_test.go
+++ b/plugins/jira/e2e/issue_test.go
@@ -171,6 +171,18 @@ func TestIssueDataFlow(t *testing.T) {
 		),
 	)
 
+	dataflowTester.VerifyTable(
+		models.JiraSprintIssue{},
+		"./snapshot_tables/_tool_jira_sprint_issues.csv",
+		[]string{
+			"connection_id",
+			"sprint_id",
+			"issue_id",
+			"resolution_date",
+			"issue_created_date",
+		},
+	)
+
 	// verify issue conversion
 	dataflowTester.FlushTabler(&ticket.Issue{})
 	dataflowTester.FlushTabler(&ticket.BoardIssue{})
diff --git a/plugins/jira/e2e/snapshot_tables/_tool_jira_sprint_issues.csv b/plugins/jira/e2e/snapshot_tables/_tool_jira_sprint_issues.csv
new file mode 100644
index 000000000..95be8a0de
--- /dev/null
+++ b/plugins/jira/e2e/snapshot_tables/_tool_jira_sprint_issues.csv
@@ -0,0 +1,29 @@
+connection_id,sprint_id,issue_id,resolution_date,issue_created_date
+2,7,10063,2020-06-19T06:31:18.495+00:00,2020-06-12T00:13:13.360+00:00
+2,7,10064,2020-06-23T10:20:58.999+00:00,2020-06-12T00:15:36.123+00:00
+2,7,10065,2020-06-23T10:21:11.996+00:00,2020-06-12T00:15:41.600+00:00
+2,7,10066,2020-06-23T10:21:23.562+00:00,2020-06-12T00:15:46.144+00:00
+2,7,10067,2020-06-18T04:06:00.747+00:00,2020-06-12T00:16:44.157+00:00
+2,7,10068,2020-06-16T11:56:14.433+00:00,2020-06-12T00:17:26.986+00:00
+2,7,10070,2020-07-08T17:11:45.201+00:00,2020-06-12T00:18:58.050+00:00
+2,7,10071,2020-07-08T17:12:05.663+00:00,2020-06-12T00:19:17.336+00:00
+2,7,10072,2020-07-08T17:11:55.247+00:00,2020-06-12T00:19:24.637+00:00
+2,7,10076,2020-06-15T08:59:51.304+00:00,2020-06-12T00:24:25.922+00:00
+2,7,10077,2020-06-15T09:00:26.956+00:00,2020-06-12T00:24:39.624+00:00
+2,7,10078,2020-06-15T09:01:44.159+00:00,2020-06-12T00:24:49.017+00:00
+2,7,10085,2020-06-15T09:07:56.798+00:00,2020-06-12T00:33:57.204+00:00
+2,7,10086,2020-06-12T07:17:28.659+00:00,2020-06-12T00:35:15.489+00:00
+2,7,10087,2020-06-18T04:02:22.350+00:00,2020-06-12T00:40:54.210+00:00
+2,7,10088,2020-06-15T09:06:51.438+00:00,2020-06-12T00:41:01.683+00:00
+2,7,10089,2020-06-19T06:31:31.662+00:00,2020-06-12T00:41:16.622+00:00
+2,7,10090,2020-06-18T04:03:04.637+00:00,2020-06-12T00:41:36.317+00:00
+2,7,10091,2020-06-18T04:03:30.760+00:00,2020-06-12T00:48:29.035+00:00
+2,7,10092,2020-06-15T09:06:40.206+00:00,2020-06-12T00:48:39.803+00:00
+2,7,10093,2020-06-19T07:35:31.762+00:00,2020-06-12T00:48:46.751+00:00
+2,7,10094,2020-06-18T04:03:48.818+00:00,2020-06-12T00:48:53.279+00:00
+2,7,10095,2020-06-19T06:32:19.340+00:00,2020-06-12T00:50:45.674+00:00
+2,7,10096,2020-06-18T04:04:05.951+00:00,2020-06-12T00:51:57.807+00:00
+2,7,10097,2020-06-15T09:06:30.942+00:00,2020-06-12T00:52:04.767+00:00
+2,7,10098,2020-06-19T07:35:44.696+00:00,2020-06-12T00:52:12.678+00:00
+2,7,10099,2020-06-18T04:04:31.261+00:00,2020-06-12T00:52:23.456+00:00
+2,17,10079,2020-07-22T07:25:29.104+00:00,2020-06-12T00:24:56.048+00:00
diff --git a/plugins/jira/e2e/snapshot_tables/sprint_issues.csv b/plugins/jira/e2e/snapshot_tables/sprint_issues.csv
new file mode 100644
index 000000000..0546afd3a
--- /dev/null
+++ b/plugins/jira/e2e/snapshot_tables/sprint_issues.csv
@@ -0,0 +1,29 @@
+sprint_id,issue_id
+jira:JiraSprint:2:17,jira:JiraIssue:2:10079
+jira:JiraSprint:2:7,jira:JiraIssue:2:10063
+jira:JiraSprint:2:7,jira:JiraIssue:2:10064
+jira:JiraSprint:2:7,jira:JiraIssue:2:10065
+jira:JiraSprint:2:7,jira:JiraIssue:2:10066
+jira:JiraSprint:2:7,jira:JiraIssue:2:10067
+jira:JiraSprint:2:7,jira:JiraIssue:2:10068
+jira:JiraSprint:2:7,jira:JiraIssue:2:10070
+jira:JiraSprint:2:7,jira:JiraIssue:2:10071
+jira:JiraSprint:2:7,jira:JiraIssue:2:10072
+jira:JiraSprint:2:7,jira:JiraIssue:2:10076
+jira:JiraSprint:2:7,jira:JiraIssue:2:10077
+jira:JiraSprint:2:7,jira:JiraIssue:2:10078
+jira:JiraSprint:2:7,jira:JiraIssue:2:10085
+jira:JiraSprint:2:7,jira:JiraIssue:2:10086
+jira:JiraSprint:2:7,jira:JiraIssue:2:10087
+jira:JiraSprint:2:7,jira:JiraIssue:2:10088
+jira:JiraSprint:2:7,jira:JiraIssue:2:10089
+jira:JiraSprint:2:7,jira:JiraIssue:2:10090
+jira:JiraSprint:2:7,jira:JiraIssue:2:10091
+jira:JiraSprint:2:7,jira:JiraIssue:2:10092
+jira:JiraSprint:2:7,jira:JiraIssue:2:10093
+jira:JiraSprint:2:7,jira:JiraIssue:2:10094
+jira:JiraSprint:2:7,jira:JiraIssue:2:10095
+jira:JiraSprint:2:7,jira:JiraIssue:2:10096
+jira:JiraSprint:2:7,jira:JiraIssue:2:10097
+jira:JiraSprint:2:7,jira:JiraIssue:2:10098
+jira:JiraSprint:2:7,jira:JiraIssue:2:10099
diff --git a/plugins/jira/e2e/sprint_issue_test.go b/plugins/jira/e2e/sprint_issue_test.go
new file mode 100644
index 000000000..360902e9c
--- /dev/null
+++ b/plugins/jira/e2e/sprint_issue_test.go
@@ -0,0 +1,52 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package e2e
+
+import (
+	"testing"
+
+	"github.com/apache/incubator-devlake/helpers/e2ehelper"
+	"github.com/apache/incubator-devlake/models/domainlayer/ticket"
+	"github.com/apache/incubator-devlake/plugins/jira/impl"
+	"github.com/apache/incubator-devlake/plugins/jira/models"
+	"github.com/apache/incubator-devlake/plugins/jira/tasks"
+)
+
+func TestSprintIssueDataFlow(t *testing.T) {
+	var plugin impl.Jira
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "jira", plugin)
+
+	taskData := &tasks.JiraTaskData{
+		Options: &tasks.JiraOptions{
+			ConnectionId: 2,
+			BoardId:      8,
+		},
+	}
+	dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_jira_sprint_issues.csv", models.JiraSprintIssue{})
+	dataflowTester.FlushTabler(ticket.SprintIssue{})
+	dataflowTester.Subtask(tasks.ConvertSprintIssuesMeta, taskData)
+
+	dataflowTester.VerifyTable(
+		ticket.SprintIssue{},
+		"./snapshot_tables/sprint_issues.csv",
+		[]string{
+			"sprint_id",
+			"issue_id",
+		},
+	)
+}