Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/support/formatters/allure_metadata_formatter.rb')
-rw-r--r--qa/qa/support/formatters/allure_metadata_formatter.rb32
1 files changed, 30 insertions, 2 deletions
diff --git a/qa/qa/support/formatters/allure_metadata_formatter.rb b/qa/qa/support/formatters/allure_metadata_formatter.rb
index 10769ba5c57..da35ffde1ae 100644
--- a/qa/qa/support/formatters/allure_metadata_formatter.rb
+++ b/qa/qa/support/formatters/allure_metadata_formatter.rb
@@ -15,14 +15,42 @@ module QA
def example_started(example_notification)
example = example_notification.example
- quarantine_issue = example.metadata.dig(:quarantine, :issue)
- example.issue('Quarantine issue', quarantine_issue) if quarantine_issue
+ add_quarantine_issue_link(example)
+ add_failure_issues_link(example)
+ add_ci_job_link(example)
+ end
+
+ private
+
+ # Add quarantine issue links
+ #
+ # @param [RSpec::Core::Example] example
+ # @return [void]
+ def add_quarantine_issue_link(example)
+ issue_link = example.metadata.dig(:quarantine, :issue)
+
+ return unless issue_link
+ return example.issue('Quarantine issue', issue_link) if issue_link.is_a?(String)
+ return issue_link.each { |link| example.issue('Quarantine issue', link) } if issue_link.is_a?(Array)
+ end
+ # Add failure issues link
+ #
+ # @param [RSpec::Core::Example] example
+ # @return [void]
+ def add_failure_issues_link(example)
spec_file = example.file_path.split('/').last
example.issue(
'Failure issues',
"https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&state=opened&search=#{spec_file}"
)
+ end
+
+ # Add ci job link
+ #
+ # @param [RSpec::Core::Example] example
+ # @return [void]
+ def add_ci_job_link(example)
return unless Runtime::Env.running_in_ci?
example.add_link(name: "Job(#{Runtime::Env.ci_job_name})", url: Runtime::Env.ci_job_url)