tree: 913ec419f400205695e5e6f9827560acc3ed4c81 [path history] [tgz]
  1. config.go
  2. database.go
  3. domain_board_issues_test.go
  4. domain_board_sprints_test.go
  5. domain_boards_test.go
  6. domain_builds_test.go
  7. domain_changelogs_test.go
  8. domain_commits_test.go
  9. domain_issue_asignee_history_test.go
  10. domain_issue_sprints_history_test.go
  11. domain_issue_status_history_test.go
  12. domain_issues_test.go
  13. domain_jobs_test.go
  14. domain_notes_test.go
  15. domain_prs_test.go
  16. domain_repo_commits_test.go
  17. domain_repos_test.go
  18. domain_sprint_issues_test.go
  19. domain_sprints_test.go
  20. domain_users_test.go
  21. domain_worklogs_test.go
  22. github_commits_test.go
  23. github_issue_comments_test.go
  24. github_issue_events_test.go
  25. github_issue_labels.go
  26. github_issues_label_issue_test.go
  27. github_issues_test.go
  28. github_pull_request_comments_test.go
  29. github_pull_request_commit_pull_requests_test.go
  30. github_pull_request_commits_test.go
  31. github_pull_requests_test.go
  32. github_repo_commits_test.go
  33. github_repo_test.go
  34. github_users_test.go
  35. gitlab_commits_test.go
  36. gitlab_merge_request_commits_merge_requests_test.go
  37. gitlab_merge_request_commits_test.go
  38. gitlab_merge_request_notes_test.go
  39. gitlab_mrs_test.go
  40. gitlab_pipelines_test.go
  41. gitlab_project_commits_test.go
  42. gitlab_projects_test.go
  43. gitlab_reviewers_test.go
  44. gitlab_users_test.go
  45. jenkins_builds_test.go
  46. jenkins_jobs_test.go
  47. jira_board_issues_test.go
  48. jira_board_sprints_test.go
  49. jira_boards_test.go
  50. jira_changelog_items_test.go
  51. jira_changelogs_test.go
  52. jira_issues_test.go
  53. jira_projects_test.go
  54. jira_remote_links_test.go
  55. jira_sprint_issues_test.go
  56. jira_sprints_test.go
  57. jira_users_test.go
  58. jira_worklogs_test.go
  59. README.md
e2e/README.md

E2E Tests

Why?

To ensure data integrity of the application, we need to make sure that the result data matches what we expect to get from accessing a real API as if a real user is using it. Previously, we relied on manual testing.

Automated tests allow us to do this in a very convenient, low cost way that is easily repeatable.

What it does

  1. Automatically or Manually trigger all collection / enrichment / conversion tasks
  2. Tests access all key data models from our DB to determine if the expected number of rows were collected and processed or not.

How to run

  1. Collect all data normally for all repos.
  2. Wait until all jobs are done
  3. Then you can run tests with this command: make real-e2e-test

JSON samples to send to DevLake (POST /pipelines)

Jira

{ “name”: “jira”, “tasks”: [[{ “Plugin”: “jira”, “Options”: { “sourceId”: <your_source_id>, “boardId”: 8 } }]] }

GitLab

{ “name”: “gitlab”, “tasks”: [[{ “Plugin”: “gitlab”, “Options”: { “projectId”: 8967944 } }]] }

GitHub

{ “name”: “github”, “tasks”: [[{ “Plugin”: “github”, “Options”: { “repo”: “lake”, “owner”: “merico-dev” } }]] }

Jenkins

{ “name”: “jenkins”, “tasks”: [[ { “plugin”: “jenkins”, “options”: {} } ]] }