(t *testing.T)
| 30 | ) |
| 31 | |
| 32 | func TestEpicDataflow(t *testing.T) { |
| 33 | var plugin impl.Jira |
| 34 | dataflowTester := e2ehelper.NewDataFlowTester(t, "jira", plugin) |
| 35 | taskData := &tasks.JiraTaskData{ |
| 36 | Options: &tasks.JiraOptions{ |
| 37 | ConnectionId: 1, |
| 38 | BoardId: 93, |
| 39 | ScopeConfig: &models.JiraScopeConfig{StoryPointField: "customfield_10024"}, |
| 40 | }, |
| 41 | } |
| 42 | |
| 43 | dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_api_issue_types.csv", "_raw_jira_api_issue_types") |
| 44 | dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_api_issues.csv", "_raw_jira_api_issues") |
| 45 | dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_external_epics.csv", "_raw_jira_api_epics") |
| 46 | |
| 47 | dataflowTester.FlushTabler(&models.JiraIssue{}) |
| 48 | dataflowTester.FlushTabler(&models.JiraBoardIssue{}) |
| 49 | dataflowTester.FlushTabler(&models.JiraSprintIssue{}) |
| 50 | dataflowTester.FlushTabler(&models.JiraIssueChangelogs{}) |
| 51 | dataflowTester.FlushTabler(&models.JiraIssueChangelogItems{}) |
| 52 | dataflowTester.FlushTabler(&models.JiraWorklog{}) |
| 53 | dataflowTester.FlushTabler(&models.JiraAccount{}) |
| 54 | dataflowTester.FlushTabler(&models.JiraIssueType{}) |
| 55 | dataflowTester.FlushTabler(&models.JiraIssueComment{}) |
| 56 | |
| 57 | ctx := dataflowTester.SubtaskContext(taskData) |
| 58 | |
| 59 | // run pre-req subtasks |
| 60 | require.NoError(t, tasks.ExtractIssueTypesMeta.EntryPoint(ctx)) |
| 61 | require.NoError(t, tasks.ExtractIssuesMeta.EntryPoint(ctx)) |
| 62 | dataflowTester.VerifyTableWithOptions( |
| 63 | models.JiraIssue{}, e2ehelper.TableOptions{ |
| 64 | CSVRelPath: "./snapshot_tables/_tool_jira_issues_for_external_epics.csv", |
| 65 | TargetFields: nil, |
| 66 | IgnoreFields: nil, |
| 67 | IgnoreTypes: []interface{}{common.NoPKModel{}}, |
| 68 | }, |
| 69 | ) |
| 70 | dataflowTester.VerifyTableWithOptions( |
| 71 | models.JiraBoardIssue{}, e2ehelper.TableOptions{ |
| 72 | CSVRelPath: "./snapshot_tables/_tool_jira_board_issues_for_external_epics.csv", |
| 73 | TargetFields: []string{"connection_id", "board_id", "issue_id"}, |
| 74 | IgnoreFields: nil, |
| 75 | IgnoreTypes: []interface{}{common.NoPKModel{}}, |
| 76 | }, |
| 77 | ) |
| 78 | t.Run("batch_single", func(t *testing.T) { |
| 79 | // run the part of the collector that queries tools data |
| 80 | iter, err := tasks.GetEpicKeysIterator(ctx.GetDal(), taskData, 1) |
| 81 | require.NoError(t, err) |
| 82 | require.True(t, iter.HasNext()) |
| 83 | e1, err := iter.Fetch() |
| 84 | require.NoError(t, err) |
| 85 | require.True(t, iter.HasNext()) |
| 86 | e2, err := iter.Fetch() |
| 87 | require.NoError(t, err) |
| 88 | require.False(t, iter.HasNext()) |
| 89 | require.Equal(t, 1, len(e1.([]interface{}))) |
nothing calls this directly
no test coverage detected