Sha256: aca26e1ac8f64c7ae07d1dcffe02c04b3d01d55454bc62fda4b58d8aaf0f7d50

Contents?: true

Size: 1.16 KB

Versions: 7

Compression:

Stored size: 1.16 KB

Contents

require 'digest'
require 'mimemagic'
module AllureRubyApi
  module DSL


    def step(step, &block)
      suite = self.example.metadata[:example_group][:description_args].first
      test = self.example.metadata[:description]
      AllureRSpec::Builder.start_step(suite, test, step)
      __with_step step, &block
      AllureRSpec::Builder.stop_step(suite, test, step)
    end

    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
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
allure-ruby-api-0.6.1 lib/allure-ruby-api/dsl.rb
allure-ruby-api-0.6 lib/allure-ruby-api/dsl.rb
allure-ruby-api-0.5 lib/allure-ruby-api/dsl.rb
allure-ruby-api-0.4 lib/allure-ruby-api/dsl.rb
allure-ruby-api-0.3 lib/allure-ruby-api/dsl.rb
allure-ruby-api-0.2 lib/allure-ruby-api/dsl.rb
allure-ruby-api-0.1 lib/allure-ruby-api/dsl.rb