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 12:32:51 UTC
[incubator-devlake] branch main updated: e2e on tapd worklog
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 81c181d7 e2e on tapd worklog
81c181d7 is described below
commit 81c181d70217c67519507165562ce48f12f52e76
Author: abeizn <zi...@merico.dev>
AuthorDate: Wed Jun 22 19:57:18 2022 +0800
e2e on tapd worklog
---
.../e2e/snapshot_tables/_tool_tapd_worklogs.csv | 17 ++++
.../tapd/e2e/snapshot_tables/issue_worklogs.csv | 17 ++++
plugins/tapd/e2e/worklog_test.go | 91 ++++++++++++++++++++++
plugins/tapd/tasks/worklog_converter.go | 3 +-
4 files changed, 127 insertions(+), 1 deletion(-)
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_worklogs.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_worklogs.csv
new file mode 100644
index 00000000..f4f1e7ea
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_worklogs.csv
@@ -0,0 +1,17 @@
+connection_id,id,workspace_id,entity_type,entity_id,timespent,spentdate,owner,created,memo,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,11991001000026,991,task,11991001000103,8,2019-12-15T16:00:00.000+00:00,test-11test-11test-11,2019-12-16T08:10:25.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,1,
+1,11991001000031,991,task,11991001000099,8,2019-12-16T16:00:00.000+00:00,test-11test-11test-11,2019-12-17T09:16:07.000+00:00,,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,2,
+1,11991001000032,991,task,11991001000107,8,2019-12-16T16:00:00.000+00:00,test-11test-11test-11,2019-12-17T09:16:51.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,3,
+1,11991001000033,991,task,11991001000104,8,2019-12-16T16:00:00.000+00:00,test-11test-11test-11,2019-12-17T09:18:22.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,4,
+1,11991001000034,991,task,11991001000101,8,2019-12-16T16:00:00.000+00:00,test-11test-11test-11,2019-12-17T09:25:04.000+00:00,"test-11test-11test-11test-11test-11test-11test-11test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11 WCMStest-11test-11test-11test-11test-11test-11test-11test-11test-11tes [...]
+1,11991001000038,991,task,11991001000178,8,2019-12-16T16:00:00.000+00:00,test-11test-11test-11,2019-12-17T09:32:53.000+00:00,,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,6,
+1,11991001000043,991,task,11991001000140,8,2019-12-16T16:00:00.000+00:00,test-11test-11,2019-12-17T09:52:24.000+00:00,,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,7,
+1,11991001000044,991,task,11991001000189,8,2019-12-16T16:00:00.000+00:00,test-11test-11test-11,2019-12-17T09:55:14.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,8,
+1,11991001000045,991,task,11991001000110,3,2019-12-15T16:00:00.000+00:00,test-11test-11test-11,2019-12-17T10:08:35.000+00:00,test-11test-11 - test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,9,
+1,11991001000046,991,task,11991001000110,8,2019-12-15T16:00:00.000+00:00,test-11test-11,2019-12-17T10:14:12.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,10,
+1,11991001000047,991,task,11991001000112,8,2019-12-16T16:00:00.000+00:00,test-11test-11,2019-12-17T10:16:21.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,11,
+1,11991001000048,991,task,11991001000164,8,2019-12-16T16:00:00.000+00:00,test-11test-11,2019-12-17T10:44:34.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11.,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,12,
+1,11991001000049,991,task,11991001000156,8,2019-12-16T16:00:00.000+00:00,test-11test-11test-11,2019-12-17T10:44:55.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,13,
+1,11991001000050,991,task,11991001000209,8,2019-12-16T16:00:00.000+00:00,test-11test-11,2019-12-17T10:45:37.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,14,
+1,11991001000051,991,task,11991001000171,8,2019-12-16T16:00:00.000+00:00,test-11test-11,2019-12-17T10:47:15.000+00:00,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,15,
+1,11991001000055,991,task,11991001000195,8,2019-12-16T16:00:00.000+00:00,test-11test-11,2019-12-17T11:11:18.000+00:00,,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,16,
diff --git a/plugins/tapd/e2e/snapshot_tables/issue_worklogs.csv b/plugins/tapd/e2e/snapshot_tables/issue_worklogs.csv
new file mode 100644
index 00000000..d0231449
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/issue_worklogs.csv
@@ -0,0 +1,17 @@
+id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,author_id,comment,time_spent_minutes,logged_date,started_date,issue_id
+tapd:TapdWorklog:1:11991001000026,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,1,,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-16T08:10:25.000+00:00,,
+tapd:TapdWorklog:1:11991001000031,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,2,,tapd:TapdUser:1:991:test-11test-11test-11,,8,2019-12-17T09:16:07.000+00:00,,
+tapd:TapdWorklog:1:11991001000032,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,3,,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-17T09:16:51.000+00:00,,
+tapd:TapdWorklog:1:11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,4,,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-17T09:18:22.000+00:00,,
+tapd:TapdWorklog:1:11991001000034,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,5,,tapd:TapdUser:1:991:test-11test-11test-11,"test-11test-11test-11test-11test-11test-11test-11test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11 WCMStest-11test-11test-11test-11t [...]
+tapd:TapdWorklog:1:11991001000038,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,6,,tapd:TapdUser:1:991:test-11test-11test-11,,8,2019-12-17T09:32:53.000+00:00,,
+tapd:TapdWorklog:1:11991001000043,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,7,,tapd:TapdUser:1:991:test-11test-11,,8,2019-12-17T09:52:24.000+00:00,,
+tapd:TapdWorklog:1:11991001000044,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,8,,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-17T09:55:14.000+00:00,,
+tapd:TapdWorklog:1:11991001000045,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,9,,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11 - test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,3,2019-12-17T10:08:35.000+00:00,,
+tapd:TapdWorklog:1:11991001000046,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,10,,tapd:TapdUser:1:991:test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-17T10:14:12.000+00:00,,
+tapd:TapdWorklog:1:11991001000047,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,11,,tapd:TapdUser:1:991:test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-17T10:16:21.000+00:00,,
+tapd:TapdWorklog:1:11991001000048,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,12,,tapd:TapdUser:1:991:test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11.,8,2019-12-17T10:44:34.000+00:00,,
+tapd:TapdWorklog:1:11991001000049,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,13,,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-17T10:44:55.000+00:00,,
+tapd:TapdWorklog:1:11991001000050,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,14,,tapd:TapdUser:1:991:test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-17T10:45:37.000+00:00,,
+tapd:TapdWorklog:1:11991001000051,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,15,,tapd:TapdUser:1:991:test-11test-11,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,8,2019-12-17T10:47:15.000+00:00,,
+tapd:TapdWorklog:1:11991001000055,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_worklogs,16,,tapd:TapdUser:1:991:test-11test-11,,8,2019-12-17T11:11:18.000+00:00,,
diff --git a/plugins/tapd/e2e/worklog_test.go b/plugins/tapd/e2e/worklog_test.go
new file mode 100644
index 00000000..db6bec0a
--- /dev/null
+++ b/plugins/tapd/e2e/worklog_test.go
@@ -0,0 +1,91 @@
+/*
+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/models/domainlayer/ticket"
+
+ "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 TestTapdWorklogDataFlow(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,
+ },
+ }
+ // import raw data table
+ dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_worklogs.csv",
+ "_raw_tapd_api_worklogs")
+
+ // verify extraction
+ dataflowTester.FlushTabler(&models.TapdWorklog{})
+ dataflowTester.Subtask(tasks.ExtractWorklogMeta, taskData)
+ dataflowTester.VerifyTable(
+ models.TapdWorklog{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdWorklog{}.TableName()),
+ []string{"connection_id", "id"},
+ []string{
+ "workspace_id",
+ "entity_type",
+ "entity_id",
+ "timespent",
+ "spentdate",
+ "owner",
+ "created",
+ "memo",
+ "_raw_data_params",
+ "_raw_data_table",
+ "_raw_data_id",
+ "_raw_data_remark",
+ },
+ )
+
+ dataflowTester.FlushTabler(&ticket.IssueWorklog{})
+ dataflowTester.Subtask(tasks.ConvertWorklogMeta, taskData)
+ dataflowTester.VerifyTable(
+ ticket.IssueWorklog{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", ticket.IssueWorklog{}.TableName()),
+ []string{"id"},
+ []string{
+ "_raw_data_params",
+ "_raw_data_table",
+ "_raw_data_id",
+ "_raw_data_remark",
+ "author_id",
+ "comment",
+ "time_spent_minutes",
+ "logged_date",
+ "started_date",
+ "issue_id",
+ },
+ )
+
+}
diff --git a/plugins/tapd/tasks/worklog_converter.go b/plugins/tapd/tasks/worklog_converter.go
index 73184bec..1a797518 100644
--- a/plugins/tapd/tasks/worklog_converter.go
+++ b/plugins/tapd/tasks/worklog_converter.go
@@ -36,6 +36,7 @@ func ConvertWorklog(taskCtx core.SubTaskContext) error {
db := taskCtx.GetDal()
logger.Info("convert board:%d", data.Options.WorkspaceId)
worklogIdGen := didgen.NewDomainIdGenerator(&models.TapdWorklog{})
+ userIdGen := didgen.NewDomainIdGenerator(&models.TapdUser{})
clauses := []dal.Clause{
dal.From(&models.TapdWorklog{}),
dal.Where("connection_id = ? AND workspace_id = ?", data.Options.ConnectionId, data.Options.WorkspaceId),
@@ -56,7 +57,7 @@ func ConvertWorklog(taskCtx core.SubTaskContext) error {
DomainEntity: domainlayer.DomainEntity{
Id: worklogIdGen.Generate(data.Options.ConnectionId, toolL.Id),
},
- AuthorId: UserIdGen.Generate(data.Options.ConnectionId, toolL.WorkspaceId, toolL.Owner),
+ AuthorId: userIdGen.Generate(data.Options.ConnectionId, toolL.WorkspaceId, toolL.Owner),
Comment: toolL.Memo,
TimeSpentMinutes: int(toolL.Timespent),
LoggedDate: (*time.Time)(toolL.Created),