You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2022/06/22 04:11:08 UTC

[incubator-devlake] branch main updated: refactor(tapd): add e2e for bug/story status

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

abeizn 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 ce0497fe refactor(tapd): add e2e for bug/story status
ce0497fe is described below

commit ce0497fef268d1d15bc89d14f6d5bf56acc6fb91
Author: Yingchu Chen <yi...@merico.dev>
AuthorDate: Wed Jun 22 11:59:04 2022 +0800

    refactor(tapd): add e2e for bug/story status
---
 .../e2e/raw_tables/_raw_tapd_api_bug_status.csv    | 11 +++
 .../e2e/raw_tables/_raw_tapd_api_story_status.csv  | 11 +++
 .../snapshot_tables/_tool_tapd_bug_statuses.csv    |  1 +
 .../snapshot_tables/_tool_tapd_story_statuses.csv  | 22 ++++++
 plugins/tapd/e2e/story_and_bug_status_test.go      | 89 ++++++++++++++++++++++
 5 files changed, 134 insertions(+)

diff --git a/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bug_status.csv b/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bug_status.csv
new file mode 100644
index 00000000..858c9d90
--- /dev/null
+++ b/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bug_status.csv
@@ -0,0 +1,11 @@
+id,params,data,url,input,created_at
+11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+12,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+13,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+14,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+15,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+16,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+17,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+18,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+19,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+20,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
diff --git a/plugins/tapd/e2e/raw_tables/_raw_tapd_api_story_status.csv b/plugins/tapd/e2e/raw_tables/_raw_tapd_api_story_status.csv
new file mode 100644
index 00000000..53aa288c
--- /dev/null
+++ b/plugins/tapd/e2e/raw_tables/_raw_tapd_api_story_status.csv
@@ -0,0 +1,11 @@
+id,params,data,url,input,created_at
+11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+12,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+13,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+14,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+15,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+16,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+17,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+18,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+19,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
+20,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}","{""status"":1,""data"":{""planning"":""test111test111test111"",""developing"":""test111test111test111"",""resolved"":""test111test111test111"",""rejected"":""test111test111test111"",""status_2"":""test111test111"",""status_3"":""test111test111test111"",""status_4"":""test111test111"",""status_5"":""test111test111test111"",""status_6"":""test111test111test111test111test111"",""status_7"":""test111test111test111"",""status_8"" [...]
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_statuses.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_statuses.csv
new file mode 100644
index 00000000..d8963a2e
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_statuses.csv
@@ -0,0 +1 @@
+connection_id,workspace_id,english_name,chinese_name,is_last_step,created_at,updated_at,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_statuses.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_statuses.csv
new file mode 100644
index 00000000..bc13625d
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_statuses.csv
@@ -0,0 +1,22 @@
+connection_id,workspace_id,english_name,chinese_name,is_last_step,created_at,updated_at,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,991,developing,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,planning,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,rejected,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,resolved,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_10,test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_11,test111test111test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_12,test111test111test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_13,test111test111test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_14,test111test111test111test111test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_15,test111test111test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_16,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_17,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_18,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_2,test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_3,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_4,test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_5,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_6,test111test111test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_7,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_8,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
+1,991,status_9,test111test111test111,0,2022-06-22T03:57:39.864+00:00,2022-06-22T03:57:39.864+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceId"":991}",_raw_tapd_api_story_status,20,
diff --git a/plugins/tapd/e2e/story_and_bug_status_test.go b/plugins/tapd/e2e/story_and_bug_status_test.go
new file mode 100644
index 00000000..efddcaff
--- /dev/null
+++ b/plugins/tapd/e2e/story_and_bug_status_test.go
@@ -0,0 +1,89 @@
+/*
+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 (
+	"fmt"
+	"testing"
+
+	"github.com/apache/incubator-devlake/helpers/e2ehelper"
+	"github.com/apache/incubator-devlake/plugins/tapd/impl"
+	"github.com/apache/incubator-devlake/plugins/tapd/models"
+	"github.com/apache/incubator-devlake/plugins/tapd/tasks"
+)
+
+func TestTapdStoryAndBugStatusDataFlow(t *testing.T) {
+
+	var tapd impl.Tapd
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd)
+
+	taskData := &tasks.TapdTaskData{
+		Options: &tasks.TapdOptions{
+			ConnectionId: 1,
+			CompanyId:    99,
+			WorkspaceId:  991,
+		},
+	}
+	// story status
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_story_status.csv",
+		"_raw_tapd_api_story_status")
+
+	// verify extraction
+	dataflowTester.FlushTabler(&models.TapdStoryStatus{})
+	dataflowTester.Subtask(tasks.ExtractStoryStatusMeta, taskData)
+	dataflowTester.VerifyTable(
+		models.TapdStoryStatus{},
+		fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdStoryStatus{}.TableName()),
+		[]string{"connection_id", "workspace_id", "english_name"},
+		[]string{
+			"chinese_name",
+			"is_last_step",
+			"created_at",
+			"updated_at",
+			"_raw_data_params",
+			"_raw_data_table",
+			"_raw_data_id",
+			"_raw_data_remark",
+		},
+	)
+
+	// bug status
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_bug_status.csv",
+		"_raw_tapd_api_bug_status")
+
+	// verify extraction
+	dataflowTester.FlushTabler(&models.TapdBugStatus{})
+	dataflowTester.Subtask(tasks.ExtractStoryStatusMeta, taskData)
+	dataflowTester.VerifyTable(
+		models.TapdBugStatus{},
+		fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugStatus{}.TableName()),
+		[]string{"connection_id", "workspace_id", "english_name"},
+		[]string{
+			"chinese_name",
+			"is_last_step",
+			"created_at",
+			"updated_at",
+			"_raw_data_params",
+			"_raw_data_table",
+			"_raw_data_id",
+			"_raw_data_remark",
+		},
+	)
+}