class Allure::FileWriter
Allure
result file writer
Constants
- ATTACHMENT_FILE_SUFFIX
@return [String] attachment file suffix
- CATEGORIES_FILE
@return [String] categories definition json
- ENVIRONMENT_FILE
@return [String] environment info file
- TEST_RESULT_CONTAINER_SUFFIX
@return [String] test result container suffix
- TEST_RESULT_SUFFIX
@return [String] test result suffix
Attributes
Public Class Methods
File writer instance
@param [String] results_directory
# File lib/allure_ruby_commons/file_writer.rb, line 20 def initialize(results_directory) @results_directory = results_directory end
Public Instance Methods
Write allure attachment file @param [File, String] source File or string of attachment to save @param [Allure::Attachment] attachment @return [void]
# File lib/allure_ruby_commons/file_writer.rb, line 42 def write_attachment(source, attachment) source.is_a?(File) ? copy(source.path, attachment.source) : write(attachment.source, source) end
Write categories info @param [File, Array<Allure::Category>] categories @return [void]
# File lib/allure_ruby_commons/file_writer.rb, line 58 def write_categories(categories) if categories.is_a?(File) copy(categories.path, CATEGORIES_FILE) else write(CATEGORIES_FILE, Oj.dump(categories)) end end
Write allure report environment info @param [Hash<Symbol, String>] environment @return [void]
# File lib/allure_ruby_commons/file_writer.rb, line 49 def write_environment(environment) environment.reduce("") { |e, (k, v)| e + "#{k}=#{v}\n" }.tap do |env| write(ENVIRONMENT_FILE, env) end end
Write test result @param [Allure::TestResult] test_result @return [void]
# File lib/allure_ruby_commons/file_writer.rb, line 27 def write_test_result(test_result) write("#{test_result.uuid}#{TEST_RESULT_SUFFIX}", Oj.dump(test_result)) end
Write test result container @param [Allure::TestResultContainer] test_container_result @return [void]
# File lib/allure_ruby_commons/file_writer.rb, line 34 def write_test_result_container(test_container_result) write("#{test_container_result.uuid}#{TEST_RESULT_CONTAINER_SUFFIX}", Oj.dump(test_container_result)) end
Private Instance Methods
# File lib/allure_ruby_commons/file_writer.rb, line 79 def copy(from, to) FileUtils.cp(from, File.join(output_dir, to)) end
# File lib/allure_ruby_commons/file_writer.rb, line 70 def output_dir @output_dir ||= FileUtils.mkpath(results_directory).first end
# File lib/allure_ruby_commons/file_writer.rb, line 74 def write(name, source) filename = File.join(output_dir, name) File.open(filename, "w") { |file| file.write(source) } end