You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by wa...@apache.org on 2022/06/15 07:56:34 UTC
[incubator-devlake] 07/12: change a name
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 fe6d26ab8f0df252e395a81fda6091a475fb77ca
Author: linyh <ya...@meri.co>
AuthorDate: Wed Jun 15 12:27:55 2022 +0800
change a name
---
helpers/e2ehelper/data_flow_tester.go | 20 +++++++++-----------
plugins/gitlab/e2e/project_test.go | 4 ++--
2 files changed, 11 insertions(+), 13 deletions(-)
diff --git a/helpers/e2ehelper/data_flow_tester.go b/helpers/e2ehelper/data_flow_tester.go
index d8fc8585..1c49bbcb 100644
--- a/helpers/e2ehelper/data_flow_tester.go
+++ b/helpers/e2ehelper/data_flow_tester.go
@@ -147,16 +147,8 @@ func (t *DataFlowTester) Subtask(subtaskMeta core.SubTaskMeta, taskData interfac
}
}
-// VerifyTable reads rows from csv file and compare with records from database one by one. You must specified the
-// Primary Key Fields with `pkfields` so DataFlowTester could select the exact record from database, as well as which
-// fields to compare with by specifying `targetfields` parameter.
-func (t *DataFlowTester) CreateSnapshotOrVerify(dst schema.Tabler, csvRelPath string, pkfields []string, targetfields []string) {
- _, err := os.Stat(csvRelPath)
- if err == nil {
- t.VerifyTable(dst, csvRelPath, pkfields, targetfields)
- return
- }
-
+// CreateSnapshot reads rows from database and write them into .csv file.
+func (t *DataFlowTester) CreateSnapshot(dst schema.Tabler, csvRelPath string, pkfields []string, targetfields []string) {
location, _ := time.LoadLocation(`UTC`)
allFields := []string{}
allFields = append(pkfields, targetfields...)
@@ -222,6 +214,12 @@ func (t *DataFlowTester) CreateSnapshotOrVerify(dst schema.Tabler, csvRelPath st
// Primary Key Fields with `pkfields` so DataFlowTester could select the exact record from database, as well as which
// fields to compare with by specifying `targetfields` parameter.
func (t *DataFlowTester) VerifyTable(dst schema.Tabler, csvRelPath string, pkfields []string, targetfields []string) {
+ _, err := os.Stat(csvRelPath)
+ if os.IsNotExist(err) {
+ t.CreateSnapshot(dst, csvRelPath, pkfields, targetfields)
+ return
+ }
+
csvIter := pluginhelper.NewCsvFileIterator(csvRelPath)
location, _ := time.LoadLocation(`UTC`)
defer csvIter.Close()
@@ -266,7 +264,7 @@ func (t *DataFlowTester) VerifyTable(dst schema.Tabler, csvRelPath string, pkfie
}
var actualTotal int64
- err := t.Db.Table(dst.TableName()).Count(&actualTotal).Error
+ err = t.Db.Table(dst.TableName()).Count(&actualTotal).Error
if err != nil {
panic(err)
}
diff --git a/plugins/gitlab/e2e/project_test.go b/plugins/gitlab/e2e/project_test.go
index e25461be..c7342ef1 100644
--- a/plugins/gitlab/e2e/project_test.go
+++ b/plugins/gitlab/e2e/project_test.go
@@ -45,7 +45,7 @@ func TestGitlabDataFlow(t *testing.T) {
// verify extraction
dataflowTester.FlushTabler(&models.GitlabProject{})
dataflowTester.Subtask(tasks.ExtractProjectMeta, taskData)
- dataflowTester.CreateSnapshotOrVerify(
+ dataflowTester.VerifyTable(
models.GitlabProject{},
"tables/_tool_gitlab_projects.csv",
[]string{"connection_id", "gitlab_id"},
@@ -73,7 +73,7 @@ func TestGitlabDataFlow(t *testing.T) {
// verify conversion
dataflowTester.FlushTabler(&code.Repo{})
dataflowTester.Subtask(tasks.ConvertProjectMeta, taskData)
- dataflowTester.CreateSnapshotOrVerify(
+ dataflowTester.VerifyTable(
code.Repo{},
"tables/repos.csv",
[]string{"id"},