From 59569254f8cc60121d3d86ee056492a9754d0642 Mon Sep 17 00:00:00 2001 From: Andrejs Cunskis Date: Fri, 15 Apr 2022 14:45:42 +0300 Subject: [PATCH] Correctly handle empty pr description --- .../lib/helpers/url_section_builder.rb | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/lib/allure_report_publisher/lib/helpers/url_section_builder.rb b/lib/allure_report_publisher/lib/helpers/url_section_builder.rb index 633364fd..f54056a2 100644 --- a/lib/allure_report_publisher/lib/helpers/url_section_builder.rb +++ b/lib/allure_report_publisher/lib/helpers/url_section_builder.rb @@ -33,6 +33,7 @@ def self.match?(urls_block) # @param [String] pr # @return [String] def updated_pr_description(pr_description) + return strip_separator(body) unless pr_description return "#{pr_description}\n\n#{body}" unless pr_description.match?(DESCRIPTION_PATTERN) job_entries = jobs_section(pr_description) @@ -43,10 +44,10 @@ def updated_pr_description(pr_description) # # @return [String] def comment_body(pr_comment = nil) - return body.gsub("---\n", "") unless pr_comment + return strip_separator(body) unless pr_comment job_entries = jobs_section(pr_comment) - body(job_entries).gsub("---\n", "") + strip_separator(body(job_entries)) end attr_reader :report_url, @@ -89,17 +90,6 @@ def summary_table @summary_table = summary_type ? Helpers::Summary.get(report_path, summary_type) : nil end - # Return updated jobs section - # - # @param [String] urls - # @return [String] - def jobs_section(urls_block) - jobs = urls_block.match(JOBS_PATTERN)[1] - return jobs.gsub(job_entry_pattern, job_entry) if jobs.match?(job_entry_pattern) - - "#{jobs}\n#{job_entry}" - end - # Single job report URL entry # # @return [String] @@ -120,6 +110,25 @@ def job_entry def job_entry_pattern @job_entry_pattern ||= /\n([\s\S]+)\n/ end + + # Return updated jobs section + # + # @param [String] urls + # @return [String] + def jobs_section(urls_block) + jobs = urls_block.match(JOBS_PATTERN)[1] + return jobs.gsub(job_entry_pattern, job_entry) if jobs.match?(job_entry_pattern) + + "#{jobs}\n#{job_entry}" + end + + # Strip separator from allure results section + # + # @param [String] body + # @return [String] + def strip_separator(body) + body.gsub("---\n", "") + end end end end