This is an automated email from the ASF dual-hosted git repository. warren pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit a10d025145d74ed92dc1543813634848a50a889c Author: abeizn <[email protected]> AuthorDate: Wed Jun 22 15:31:53 2022 +0800 e2e on tapd bug/story/task_changelog --- plugins/tapd/e2e/bug_changelog_test.go | 5 +-- .../_tool_tapd_story_changelog_items.csv | 19 ++++++++++ .../_tool_tapd_story_changelogs.csv | 17 +++++++++ .../_tool_tapd_task_changelog_items.csv | 33 +++++++++++++++++ .../snapshot_tables/_tool_tapd_task_changelogs.csv | 18 ++++++++++ .../{changelogs.csv => changelogs_bug.csv} | 0 .../tapd/e2e/snapshot_tables/changelogs_story.csv | 19 ++++++++++ .../tapd/e2e/snapshot_tables/changelogs_task.csv | 33 +++++++++++++++++ ...g_changelog_test.go => story_changelog_test.go} | 41 +++++++++++---------- ...ug_changelog_test.go => task_changelog_test.go} | 42 ++++++++++++---------- plugins/tapd/tasks/story_changelog_converter.go | 6 ++-- plugins/tapd/tasks/task_changelog_converter.go | 6 ++-- 12 files changed, 195 insertions(+), 44 deletions(-) diff --git a/plugins/tapd/e2e/bug_changelog_test.go b/plugins/tapd/e2e/bug_changelog_test.go index 04b36285..f0ad8cc2 100644 --- a/plugins/tapd/e2e/bug_changelog_test.go +++ b/plugins/tapd/e2e/bug_changelog_test.go @@ -19,9 +19,10 @@ package e2e import ( "fmt" - "github.com/apache/incubator-devlake/models/domainlayer/ticket" "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" @@ -90,7 +91,7 @@ func TestTapdBugChangelogDataFlow(t *testing.T) { dataflowTester.Subtask(tasks.ConvertBugChangelogMeta, taskData) dataflowTester.VerifyTable( ticket.Changelog{}, - fmt.Sprintf("./snapshot_tables/%s.csv", ticket.Changelog{}.TableName()), + fmt.Sprintf("./snapshot_tables/%s_bug.csv", ticket.Changelog{}.TableName()), []string{"id"}, []string{ "_raw_data_params", diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelog_items.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelog_items.csv new file mode 100644 index 00000000..d5472d57 --- /dev/null +++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelog_items.csv @@ -0,0 +1,19 @@ +connection_id,changelog_id,field,value_before_parsed,value_after_parsed,iteration_id_from,iteration_id_to,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark +1,11991001000065,delete_story,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,1, +1,11991001000093,owner,--,u5d14u6600;,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,2, +1,11991001000095,comment,--,test-11test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3, +1,11991001000095,owner,u5d14u6600;,u5d14u6600;u9648u5fd7u9274;,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3, +1,11991001000095,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3, +1,11991001000096,due,2019-12-13,2020-01-08,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,4, +1,11991001000103,name,test-11test-11test-11test-11,test-11test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,5, +1,11991001000115,delete_story,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,6, +1,11991001000119,iteration_id,test-11test-11,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,7, +1,11991001000126,iteration_id,0,test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,8, +1,11991001000127,iteration_id,0,test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,9, +1,11991001000128,iteration_id,0,test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,10, +1,11991001000143,delete_story,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,11, +1,11991001000147,parent_id,0,test-11test-11.0test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,12, +1,11991001000148,parent_id,0,test-11test-11.0test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,13, +1,11991001000149,parent_id,0,test-11test-11.0test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,14, +1,11991001000150,parent_id,0,test-11test-11.0test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,15, +1,11991001000151,delete_story,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,16, diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelogs.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelogs.csv new file mode 100644 index 00000000..15c28628 --- /dev/null +++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelogs.csv @@ -0,0 +1,17 @@ +connection_id,id,workspace_id,workitem_type_id,creator,created,change_summary,comment,entity_type,change_type,story_id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark +1,11991001000065,991,0,test-11test-11,2019-12-12T07:46:25.000+00:00,delete,,Story,,11991001000028,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,1, +1,11991001000093,991,11991001000020,test-11test-11test-11,2019-12-12T10:01:42.000+00:00,planning,,Story,,11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,2, +1,11991001000095,991,11991001000020,test-11test-11test-11,2019-12-12T10:12:07.000+00:00,planning,test-11test-11test-11test-11<div></div>,Story,,11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3, +1,11991001000096,991,11991001000020,test-11test-11test-11,2019-12-12T10:13:04.000+00:00,developing,,Story,,11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,4, +1,11991001000103,991,0,test-11test-11test-11,2019-12-12T10:21:58.000+00:00,planning,,Story,,11991001000046,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,5, +1,11991001000115,991,0,test-11test-11test-11,2019-12-12T10:35:15.000+00:00,delete,,Story,,11991001000046,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,6, +1,11991001000119,991,11991001000020,test-11test-11test-11,2019-12-12T10:38:03.000+00:00,,,Story,,11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,7, +1,11991001000126,991,11991001000020,test-11test-11test-11,2019-12-12T10:47:49.000+00:00,planning,,Story,,11991001000055,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,8, +1,11991001000127,991,0,test-11test-11test-11,2019-12-12T10:47:51.000+00:00,planning,,Story,,11991001000056,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,9, +1,11991001000128,991,11991001000020,test-11test-11test-11,2019-12-12T10:47:53.000+00:00,planning,,Story,,11991001000057,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,10, +1,11991001000143,991,0,test-11test-11,2019-12-13T02:27:51.000+00:00,delete,,Story,,11991001000056,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,11, +1,11991001000147,991,11991001000020,test-11test-11test-11,2019-12-13T02:35:23.000+00:00,planning,,Story,,11991001000074,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,12, +1,11991001000148,991,11991001000020,test-11test-11test-11,2019-12-13T02:38:19.000+00:00,planning,,Story,,11991001000075,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,13, +1,11991001000149,991,0,test-11test-11test-11,2019-12-13T02:38:57.000+00:00,planning,,Story,,11991001000076,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,14, +1,11991001000150,991,11991001000020,test-11test-11test-11,2019-12-13T02:40:04.000+00:00,planning,,Story,,11991001000077,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,15, +1,11991001000151,991,0,zhangwenwei,2019-12-13T02:40:22.000+00:00,delete,,Story,,11991001000076,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,16, diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelog_items.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelog_items.csv new file mode 100644 index 00000000..f09e476d --- /dev/null +++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelog_items.csv @@ -0,0 +1,33 @@ +connection_id,changelog_id,field,value_before_parsed,value_after_parsed,iteration_id_from,iteration_id_to,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark +1,11991001000220,iteration_id,0,test-11test-11.0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,1, +1,11991001000221,iteration_id,0,test-11test-11.0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,2, +1,11991001000222,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3, +1,11991001000222,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3, +1,11991001000274,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4, +1,11991001000274,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4, +1,11991001000275,description,--,test-11test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,5, +1,11991001000313,effort,24,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6, +1,11991001000313,iteration_id,test-11test-11.0,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6, +1,11991001000313,remain,24,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6, +1,11991001000313,story_id,0,11991001000130,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6, +1,11991001000314,iteration_id,0,test-11test-11.0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7, +1,11991001000314,story_id,11991001000130,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7, +1,11991001000355,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8, +1,11991001000355,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8, +1,11991001000356,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,9, +1,11991001000357,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10, +1,11991001000357,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10, +1,11991001000358,priority,Middle,High,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,11, +1,11991001000359,priority,--,Middle,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,12, +1,11991001000360,priority,--,Middle,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,13, +1,11991001000361,priority,Middle,Low,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,14, +1,11991001000366,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15, +1,11991001000366,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15, +1,11991001000367,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,16, +1,11991001000368,completed,--,2019-12-16 16:10:25,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17, +1,11991001000368,effort_completed,0,16,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17, +1,11991001000368,flows,|done,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17, +1,11991001000368,modified,2019-12-13 14:53:08,2019-12-16 16:10:25,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17, +1,11991001000368,progress,0,100,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17, +1,11991001000368,remain,16,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17, +1,11991001000368,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17, diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelogs.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelogs.csv new file mode 100644 index 00000000..6762b1ec --- /dev/null +++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelogs.csv @@ -0,0 +1,18 @@ +connection_id,id,workspace_id,workitem_type_id,creator,created,change_summary,comment,entity_type,change_type,change_type_text,task_id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark +1,11991001000220,991,0,test-11test-11,2019-12-13T06:36:10.000+00:00,open,,Task,,,11991001000111,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,1, +1,11991001000221,991,0,test-11test-11,2019-12-13T06:36:14.000+00:00,open,,Task,,,11991001000110,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,2, +1,11991001000222,991,0,test-11test-11test-11,2019-12-13T06:52:33.000+00:00,open,,Task,,,11991001000103,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3, +1,11991001000274,991,0,test-11test-11,2019-12-13T10:41:13.000+00:00,open,,Task,,,11991001000110,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4, +1,11991001000275,991,2,test-11test-11,2019-12-13T10:41:48.000+00:00,progressing,,Task,,,11991001000110,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,5, +1,11991001000313,991,0,test-11test-11test-11,2019-12-16T02:49:48.000+00:00,open,,Task,,,11991001000112,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6, +1,11991001000314,991,0,test-11test-11test-11,2019-12-16T02:50:09.000+00:00,open,,Task,,,11991001000112,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7, +1,11991001000355,991,0,test-11test-11test-11,2019-12-16T04:46:02.000+00:00,open,,Task,,,11991001000102,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8, +1,11991001000356,991,2,test-11test-11test-11,2019-12-16T04:46:04.000+00:00,progressing,,Task,,,11991001000102,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,9, +1,11991001000357,991,0,test-11test-11test-11,2019-12-16T04:46:07.000+00:00,open,,Task,,,11991001000101,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10, +1,11991001000358,991,2,test-11test-11test-11,2019-12-16T04:46:39.000+00:00,progressing,,Task,,,11991001000101,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,11, +1,11991001000359,991,0,test-11test-11test-11,2019-12-16T04:46:42.000+00:00,open,,Task,,,11991001000102,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,12, +1,11991001000360,991,0,test-11test-11test-11,2019-12-16T04:46:46.000+00:00,open,,Task,,,11991001000100,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,13, +1,11991001000361,991,0,test-11test-11test-11,2019-12-16T04:46:49.000+00:00,open,,Task,,,11991001000100,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,14, +1,11991001000366,991,0,test-11test-11test-11,2019-12-16T08:07:18.000+00:00,open,,Task,,,11991001000104,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15, +1,11991001000367,991,0,test-11test-11test-11,2019-12-16T08:10:25.000+00:00,progressing,,task,,,11991001000103,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,16, +1,11991001000368,991,2,test-11test-11test-11,2019-12-16T08:10:25.000+00:00,progressing,,Task,,,11991001000103,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17, diff --git a/plugins/tapd/e2e/snapshot_tables/changelogs.csv b/plugins/tapd/e2e/snapshot_tables/changelogs_bug.csv similarity index 100% rename from plugins/tapd/e2e/snapshot_tables/changelogs.csv rename to plugins/tapd/e2e/snapshot_tables/changelogs_bug.csv diff --git a/plugins/tapd/e2e/snapshot_tables/changelogs_story.csv b/plugins/tapd/e2e/snapshot_tables/changelogs_story.csv new file mode 100644 index 00000000..5918236e --- /dev/null +++ b/plugins/tapd/e2e/snapshot_tables/changelogs_story.csv @@ -0,0 +1,19 @@ +id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,issue_id,author_id,author_name,field_id,field_name,from_value,to_value,created_date,original_from_value,original_to_value +tapd:TapdStoryChangelog:1:11991001000065:delete_story,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,1,,tapd:TapdIssue:1:11991001000028,tapd:TapdUser:1:991:test-11test-11,test-11test-11,delete_story,delete_story,,,2019-12-12T07:46:25.000+00:00,--,-- +tapd:TapdStoryChangelog:1:11991001000093:owner,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,2,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,owner,owner,,,2019-12-12T10:01:42.000+00:00,--,u5d14u6600; +tapd:TapdStoryChangelog:1:11991001000095:comment,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,comment,comment,,,2019-12-12T10:12:07.000+00:00,--,test-11test-11test-11test-11 +tapd:TapdStoryChangelog:1:11991001000095:owner,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,owner,owner,,,2019-12-12T10:12:07.000+00:00,u5d14u6600;,u5d14u6600;u9648u5fd7u9274; +tapd:TapdStoryChangelog:1:11991001000095:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-12T10:12:07.000+00:00,test-11test-11test-11,test-11test-11test-11 +tapd:TapdStoryChangelog:1:11991001000096:due,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,4,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,due,due,,,2019-12-12T10:13:04.000+00:00,2019-12-13,2020-01-08 +tapd:TapdStoryChangelog:1:11991001000103:name,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,5,,tapd:TapdIssue:1:11991001000046,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,name,name,,,2019-12-12T10:21:58.000+00:00,test-11test-11test-11test-11,test-11test-11test-11test-11 +tapd:TapdStoryChangelog:1:11991001000115:delete_story,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,6,,tapd:TapdIssue:1:11991001000046,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,delete_story,delete_story,,,2019-12-12T10:35:15.000+00:00,--,-- +tapd:TapdStoryChangelog:1:11991001000119:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,7,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-12T10:38:03.000+00:00,test-11test-11,0 +tapd:TapdStoryChangelog:1:11991001000126:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,8,,tapd:TapdIssue:1:11991001000055,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-12T10:47:49.000+00:00,0,test-11test-11 +tapd:TapdStoryChangelog:1:11991001000127:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,9,,tapd:TapdIssue:1:11991001000056,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-12T10:47:51.000+00:00,0,test-11test-11 +tapd:TapdStoryChangelog:1:11991001000128:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,10,,tapd:TapdIssue:1:11991001000057,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-12T10:47:53.000+00:00,0,test-11test-11 +tapd:TapdStoryChangelog:1:11991001000143:delete_story,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,11,,tapd:TapdIssue:1:11991001000056,tapd:TapdUser:1:991:test-11test-11,test-11test-11,delete_story,delete_story,,,2019-12-13T02:27:51.000+00:00,--,-- +tapd:TapdStoryChangelog:1:11991001000147:parent_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,12,,tapd:TapdIssue:1:11991001000074,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,parent_id,parent_id,,,2019-12-13T02:35:23.000+00:00,0,test-11test-11.0test-11test-11 +tapd:TapdStoryChangelog:1:11991001000148:parent_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,13,,tapd:TapdIssue:1:11991001000075,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,parent_id,parent_id,,,2019-12-13T02:38:19.000+00:00,0,test-11test-11.0test-11test-11 +tapd:TapdStoryChangelog:1:11991001000149:parent_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,14,,tapd:TapdIssue:1:11991001000076,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,parent_id,parent_id,,,2019-12-13T02:38:57.000+00:00,0,test-11test-11.0test-11test-11 +tapd:TapdStoryChangelog:1:11991001000150:parent_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,15,,tapd:TapdIssue:1:11991001000077,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,parent_id,parent_id,,,2019-12-13T02:40:04.000+00:00,0,test-11test-11.0test-11test-11 +tapd:TapdStoryChangelog:1:11991001000151:delete_story,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,16,,tapd:TapdIssue:1:11991001000076,tapd:TapdUser:1:991:zhangwenwei,zhangwenwei,delete_story,delete_story,,,2019-12-13T02:40:22.000+00:00,--,-- diff --git a/plugins/tapd/e2e/snapshot_tables/changelogs_task.csv b/plugins/tapd/e2e/snapshot_tables/changelogs_task.csv new file mode 100644 index 00000000..5babd79a --- /dev/null +++ b/plugins/tapd/e2e/snapshot_tables/changelogs_task.csv @@ -0,0 +1,33 @@ +id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,issue_id,author_id,author_name,field_id,field_name,from_value,to_value,created_date,original_from_value,original_to_value +tapd:TapdTaskChangelog:1:11991001000220:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,1,,tapd:TapdIssue:1:11991001000111,tapd:TapdUser:1:991:test-11test-11,test-11test-11,iteration_id,iteration_id,,,2019-12-13T06:36:10.000+00:00,0,test-11test-11.0 +tapd:TapdTaskChangelog:1:11991001000221:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,2,,tapd:TapdIssue:1:11991001000110,tapd:TapdUser:1:991:test-11test-11,test-11test-11,iteration_id,iteration_id,,,2019-12-13T06:36:14.000+00:00,0,test-11test-11.0 +tapd:TapdTaskChangelog:1:11991001000222:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-13T06:52:33.000+00:00,|progressing,-- +tapd:TapdTaskChangelog:1:11991001000222:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-13T06:52:33.000+00:00,test-11test-11test-11,test-11test-11test-11 +tapd:TapdTaskChangelog:1:11991001000274:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4,,tapd:TapdIssue:1:11991001000110,tapd:TapdUser:1:991:test-11test-11,test-11test-11,flows,flows,,,2019-12-13T10:41:13.000+00:00,|progressing,-- +tapd:TapdTaskChangelog:1:11991001000274:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4,,tapd:TapdIssue:1:11991001000110,tapd:TapdUser:1:991:test-11test-11,test-11test-11,status,status,,,2019-12-13T10:41:13.000+00:00,test-11test-11test-11,test-11test-11test-11 +tapd:TapdTaskChangelog:1:11991001000275:description,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,5,,tapd:TapdIssue:1:11991001000110,tapd:TapdUser:1:991:test-11test-11,test-11test-11,description,description,,,2019-12-13T10:41:48.000+00:00,--,test-11test-11test-11test-11 +tapd:TapdTaskChangelog:1:11991001000313:effort,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,effort,effort,,,2019-12-16T02:49:48.000+00:00,24,0 +tapd:TapdTaskChangelog:1:11991001000313:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-16T02:49:48.000+00:00,test-11test-11.0,0 +tapd:TapdTaskChangelog:1:11991001000313:remain,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,remain,remain,,,2019-12-16T02:49:48.000+00:00,24,0 +tapd:TapdTaskChangelog:1:11991001000313:story_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,story_id,story_id,,,2019-12-16T02:49:48.000+00:00,0,11991001000130 +tapd:TapdTaskChangelog:1:11991001000314:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-16T02:50:09.000+00:00,0,test-11test-11.0 +tapd:TapdTaskChangelog:1:11991001000314:story_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,story_id,story_id,,,2019-12-16T02:50:09.000+00:00,11991001000130,0 +tapd:TapdTaskChangelog:1:11991001000355:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8,,tapd:TapdIssue:1:11991001000102,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-16T04:46:02.000+00:00,|progressing,-- +tapd:TapdTaskChangelog:1:11991001000355:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8,,tapd:TapdIssue:1:11991001000102,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T04:46:02.000+00:00,test-11test-11test-11,test-11test-11test-11 +tapd:TapdTaskChangelog:1:11991001000356:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,9,,tapd:TapdIssue:1:11991001000102,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T04:46:04.000+00:00,test-11test-11test-11,test-11test-11test-11 +tapd:TapdTaskChangelog:1:11991001000357:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10,,tapd:TapdIssue:1:11991001000101,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-16T04:46:07.000+00:00,|progressing,-- +tapd:TapdTaskChangelog:1:11991001000357:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10,,tapd:TapdIssue:1:11991001000101,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T04:46:07.000+00:00,test-11test-11test-11,test-11test-11test-11 +tapd:TapdTaskChangelog:1:11991001000358:priority,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,11,,tapd:TapdIssue:1:11991001000101,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,priority,priority,,,2019-12-16T04:46:39.000+00:00,Middle,High +tapd:TapdTaskChangelog:1:11991001000359:priority,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,12,,tapd:TapdIssue:1:11991001000102,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,priority,priority,,,2019-12-16T04:46:42.000+00:00,--,Middle +tapd:TapdTaskChangelog:1:11991001000360:priority,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,13,,tapd:TapdIssue:1:11991001000100,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,priority,priority,,,2019-12-16T04:46:46.000+00:00,--,Middle +tapd:TapdTaskChangelog:1:11991001000361:priority,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,14,,tapd:TapdIssue:1:11991001000100,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,priority,priority,,,2019-12-16T04:46:49.000+00:00,Middle,Low +tapd:TapdTaskChangelog:1:11991001000366:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15,,tapd:TapdIssue:1:11991001000104,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-16T08:07:18.000+00:00,|progressing,-- +tapd:TapdTaskChangelog:1:11991001000366:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15,,tapd:TapdIssue:1:11991001000104,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T08:07:18.000+00:00,test-11test-11test-11,test-11test-11test-11 +tapd:TapdTaskChangelog:1:11991001000367:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,16,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T08:10:25.000+00:00,test-11test-11test-11,test-11test-11test-11 +tapd:TapdTaskChangelog:1:11991001000368:completed,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,completed,completed,,,2019-12-16T08:10:25.000+00:00,--,2019-12-16 16:10:25 +tapd:TapdTaskChangelog:1:11991001000368:effort_completed,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,effort_completed,effort_completed,,,2019-12-16T08:10:25.000+00:00,0,16 +tapd:TapdTaskChangelog:1:11991001000368:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-16T08:10:25.000+00:00,|done,-- +tapd:TapdTaskChangelog:1:11991001000368:modified,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,modified,modified,,,2019-12-16T08:10:25.000+00:00,2019-12-13 14:53:08,2019-12-16 16:10:25 +tapd:TapdTaskChangelog:1:11991001000368:progress,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,progress,progress,,,2019-12-16T08:10:25.000+00:00,0,100 +tapd:TapdTaskChangelog:1:11991001000368:remain,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,remain,remain,,,2019-12-16T08:10:25.000+00:00,16,0 +tapd:TapdTaskChangelog:1:11991001000368:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T08:10:25.000+00:00,test-11test-11test-11,test-11test-11test-11 diff --git a/plugins/tapd/e2e/bug_changelog_test.go b/plugins/tapd/e2e/story_changelog_test.go similarity index 73% copy from plugins/tapd/e2e/bug_changelog_test.go copy to plugins/tapd/e2e/story_changelog_test.go index 04b36285..e19b7a2b 100644 --- a/plugins/tapd/e2e/bug_changelog_test.go +++ b/plugins/tapd/e2e/story_changelog_test.go @@ -19,16 +19,17 @@ package e2e import ( "fmt" - "github.com/apache/incubator-devlake/models/domainlayer/ticket" "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 TestTapdBugChangelogDataFlow(t *testing.T) { +func TestTapdStoryChangelogDataFlow(t *testing.T) { var tapd impl.Tapd dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd) @@ -41,25 +42,27 @@ func TestTapdBugChangelogDataFlow(t *testing.T) { }, } // import raw data table - dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_bug_changelogs.csv", - "_raw_tapd_api_bug_changelogs") + dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_story_changelogs.csv", + "_raw_tapd_api_story_changelogs") // verify extraction - dataflowTester.FlushTabler(&models.TapdBugChangelog{}) - dataflowTester.FlushTabler(&models.TapdBugChangelogItem{}) - dataflowTester.Subtask(tasks.ExtractBugChangelogMeta, taskData) + dataflowTester.FlushTabler(&models.TapdStoryChangelog{}) + dataflowTester.FlushTabler(&models.TapdStoryChangelogItem{}) + dataflowTester.Subtask(tasks.ExtractStoryChangelogMeta, taskData) dataflowTester.VerifyTable( - models.TapdBugChangelog{}, - fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelog{}.TableName()), - []string{"connection_id", "id", "field"}, + models.TapdStoryChangelog{}, + fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdStoryChangelog{}.TableName()), + []string{"connection_id", "id"}, []string{ "workspace_id", - "bug_id", - "author", - "old_value", - "new_value", - "memo", + "workitem_type_id", + "creator", "created", + "change_summary", + "comment", + "entity_type", + "change_type", + "story_id", "_raw_data_params", "_raw_data_table", "_raw_data_id", @@ -67,8 +70,8 @@ func TestTapdBugChangelogDataFlow(t *testing.T) { }, ) dataflowTester.VerifyTable( - models.TapdBugChangelogItem{}, - fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelogItem{}.TableName()), + models.TapdStoryChangelogItem{}, + fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdStoryChangelogItem{}.TableName()), []string{ "connection_id", "changelog_id", @@ -87,10 +90,10 @@ func TestTapdBugChangelogDataFlow(t *testing.T) { ) dataflowTester.FlushTabler(&ticket.Changelog{}) - dataflowTester.Subtask(tasks.ConvertBugChangelogMeta, taskData) + dataflowTester.Subtask(tasks.ConvertStoryChangelogMeta, taskData) dataflowTester.VerifyTable( ticket.Changelog{}, - fmt.Sprintf("./snapshot_tables/%s.csv", ticket.Changelog{}.TableName()), + fmt.Sprintf("./snapshot_tables/%s_story.csv", ticket.Changelog{}.TableName()), []string{"id"}, []string{ "_raw_data_params", diff --git a/plugins/tapd/e2e/bug_changelog_test.go b/plugins/tapd/e2e/task_changelog_test.go similarity index 73% copy from plugins/tapd/e2e/bug_changelog_test.go copy to plugins/tapd/e2e/task_changelog_test.go index 04b36285..9b659d3e 100644 --- a/plugins/tapd/e2e/bug_changelog_test.go +++ b/plugins/tapd/e2e/task_changelog_test.go @@ -19,16 +19,17 @@ package e2e import ( "fmt" - "github.com/apache/incubator-devlake/models/domainlayer/ticket" "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 TestTapdBugChangelogDataFlow(t *testing.T) { +func TestTapdTaskChangelogDataFlow(t *testing.T) { var tapd impl.Tapd dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd) @@ -41,25 +42,28 @@ func TestTapdBugChangelogDataFlow(t *testing.T) { }, } // import raw data table - dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_bug_changelogs.csv", - "_raw_tapd_api_bug_changelogs") + dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_task_changelogs.csv", + "_raw_tapd_api_task_changelogs") // verify extraction - dataflowTester.FlushTabler(&models.TapdBugChangelog{}) - dataflowTester.FlushTabler(&models.TapdBugChangelogItem{}) - dataflowTester.Subtask(tasks.ExtractBugChangelogMeta, taskData) + dataflowTester.FlushTabler(&models.TapdTaskChangelog{}) + dataflowTester.FlushTabler(&models.TapdTaskChangelogItem{}) + dataflowTester.Subtask(tasks.ExtractTaskChangelogMeta, taskData) dataflowTester.VerifyTable( - models.TapdBugChangelog{}, - fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelog{}.TableName()), - []string{"connection_id", "id", "field"}, + models.TapdTaskChangelog{}, + fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdTaskChangelog{}.TableName()), + []string{"connection_id", "id"}, []string{ "workspace_id", - "bug_id", - "author", - "old_value", - "new_value", - "memo", + "workitem_type_id", + "creator", "created", + "change_summary", + "comment", + "entity_type", + "change_type", + "change_type_text", + "task_id", "_raw_data_params", "_raw_data_table", "_raw_data_id", @@ -67,8 +71,8 @@ func TestTapdBugChangelogDataFlow(t *testing.T) { }, ) dataflowTester.VerifyTable( - models.TapdBugChangelogItem{}, - fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelogItem{}.TableName()), + models.TapdTaskChangelogItem{}, + fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdTaskChangelogItem{}.TableName()), []string{ "connection_id", "changelog_id", @@ -87,10 +91,10 @@ func TestTapdBugChangelogDataFlow(t *testing.T) { ) dataflowTester.FlushTabler(&ticket.Changelog{}) - dataflowTester.Subtask(tasks.ConvertBugChangelogMeta, taskData) + dataflowTester.Subtask(tasks.ConvertTaskChangelogMeta, taskData) dataflowTester.VerifyTable( ticket.Changelog{}, - fmt.Sprintf("./snapshot_tables/%s.csv", ticket.Changelog{}.TableName()), + fmt.Sprintf("./snapshot_tables/%s_task.csv", ticket.Changelog{}.TableName()), []string{"id"}, []string{ "_raw_data_params", diff --git a/plugins/tapd/tasks/story_changelog_converter.go b/plugins/tapd/tasks/story_changelog_converter.go index e92c6d81..f6f25cf3 100644 --- a/plugins/tapd/tasks/story_changelog_converter.go +++ b/plugins/tapd/tasks/story_changelog_converter.go @@ -60,6 +60,8 @@ func ConvertStoryChangelog(taskCtx core.SubTaskContext) error { db := taskCtx.GetDal() logger.Info("convert changelog :%d", data.Options.WorkspaceId) clIdGen := didgen.NewDomainIdGenerator(&models.TapdStoryChangelog{}) + issueIdGen := didgen.NewDomainIdGenerator(&models.TapdIssue{}) + userIdGen := didgen.NewDomainIdGenerator(&models.TapdUser{}) clauses := []dal.Clause{ dal.Select("tc.created, tc.id, tc.workspace_id, tc.story_id, tc.creator, _tool_tapd_story_changelog_items.*"), @@ -84,8 +86,8 @@ func ConvertStoryChangelog(taskCtx core.SubTaskContext) error { DomainEntity: domainlayer.DomainEntity{ Id: fmt.Sprintf("%s:%s", clIdGen.Generate(data.Options.ConnectionId, cl.Id), cl.Field), }, - IssueId: IssueIdGen.Generate(data.Options.ConnectionId, cl.StoryId), - AuthorId: UserIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Creator), + IssueId: issueIdGen.Generate(data.Options.ConnectionId, cl.StoryId), + AuthorId: userIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Creator), AuthorName: cl.Creator, FieldId: cl.Field, FieldName: cl.Field, diff --git a/plugins/tapd/tasks/task_changelog_converter.go b/plugins/tapd/tasks/task_changelog_converter.go index 779fe501..24b351aa 100644 --- a/plugins/tapd/tasks/task_changelog_converter.go +++ b/plugins/tapd/tasks/task_changelog_converter.go @@ -61,6 +61,8 @@ func ConvertTaskChangelog(taskCtx core.SubTaskContext) error { db := taskCtx.GetDal() logger.Info("convert changelog :%d", data.Options.WorkspaceId) clIdGen := didgen.NewDomainIdGenerator(&models.TapdTaskChangelog{}) + issueIdGen := didgen.NewDomainIdGenerator(&models.TapdIssue{}) + userIdGen := didgen.NewDomainIdGenerator(&models.TapdUser{}) clauses := []dal.Clause{ dal.Select("tc.created, tc.id, tc.workspace_id, tc.task_id, tc.creator, _tool_tapd_task_changelog_items.*"), @@ -84,8 +86,8 @@ func ConvertTaskChangelog(taskCtx core.SubTaskContext) error { DomainEntity: domainlayer.DomainEntity{ Id: fmt.Sprintf("%s:%s", clIdGen.Generate(data.Options.ConnectionId, cl.Id), cl.Field), }, - IssueId: IssueIdGen.Generate(data.Options.ConnectionId, cl.TaskId), - AuthorId: UserIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Creator), + IssueId: issueIdGen.Generate(data.Options.ConnectionId, cl.TaskId), + AuthorId: userIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Creator), AuthorName: cl.Creator, FieldId: cl.Field, FieldName: cl.Field,
