Class: GitlabQuality::TestTooling::Report::MergeRequestSlowTestsReport

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab_quality/test_tooling/report/merge_request_slow_tests_report.rb

Constant Summary collapse

SLOW_TEST_MESSAGE =
'<!-- slow-test -->'
SLOW_TEST_LABEL =
'/label ~"rspec:slow test detected"'
SLOW_TEST_NOTE_SOURCE_CODE =
'Generated by [`gitlab_quality-test_tooling`](https://gitlab.com/gitlab-org/ruby/gems/gitlab_quality-test_tooling/-/blob/main/lib/gitlab_quality/test_tooling/report/merge_request_slow_tests_report.rb).'
SLOW_TEST_UNHEALTHY_PATTERNS =
'https://docs.gitlab.com/development/testing_guide/unhealthy_tests/#common-patterns-that-cause-slow-tests'
SLOW_TEST_BEST_PRACTICES =
'https://docs.gitlab.com/development/testing_guide/best_practices/#test-slowness'

Instance Method Summary collapse

Constructor Details

#initialize(token:, input_files:, merge_request_iid:, project: nil, dry_run: false, **_kwargs) ⇒ MergeRequestSlowTestsReport

Returns a new instance of MergeRequestSlowTestsReport.



13
14
15
16
17
18
19
20
# File 'lib/gitlab_quality/test_tooling/report/merge_request_slow_tests_report.rb', line 13

def initialize(token:, input_files:, merge_request_iid:, project: nil, dry_run: false, **_kwargs)
  @token = token
  @project = project
  @gitlab_merge_request = (dry_run ? GitlabClient::MergeRequestsDryClient : GitlabClient::MergeRequestsClient).new(token: token, project: project)
  @files = Array(input_files)
  @merge_request_iid = merge_request_iid
  @slow_tests = []
end

Instance Method Details

#invoke!Object



22
23
24
25
26
# File 'lib/gitlab_quality/test_tooling/report/merge_request_slow_tests_report.rb', line 22

def invoke!
  validate_input!

  run!
end