15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/allure-ruby-api/dsl.rb', line 15
def attach_file(title, file, mime_type = nil)
step = current_step
dir = Pathname.new(AllureRSpec::Config.output_dir)
FileUtils.mkdir_p(dir)
file_extname = File.extname(file.path.downcase)
mime_type ||= MimeMagic.by_path(file.path) || "text/plain"
attachment = dir.join("#{Digest::SHA256.file(file.path).hexdigest}-attachment#{(file_extname.empty?) ? '' : file_extname}")
FileUtils.cp(file.path, attachment)
suite = self.example.metadata[:example_group][:description_args].first
test = self.example.metadata[:description]
AllureRubyApi::Builder.add_attachment(suite, test, {
:type => type,
:title => title,
:source => attachment.basename,
:size => File.stat(attachment).size
}, step)
end
|