Sha256: b97fb77d51a5261fbce34a67b945d0269f833df8b0e51af8d340e44a7d7bc03f

Contents?: true

Size: 1.85 KB

Versions: 5

Compression:

Stored size: 1.85 KB

Contents

def windows?
  !!(RUBY_PLATFORM =~ /mswin|mingw|windows/)
end

BERKS_SPEC_DATA = File.expand_path("../data", __FILE__)

require "rspec"
require "cleanroom/rspec"
require "webmock/rspec"
require "rspec/its"

Dir["spec/support/**/*.rb"].each { |f| require File.expand_path(f) }

RSpec.configure do |config|
  config.include Berkshelf::RSpec::FileSystemMatchers
  config.include Berkshelf::RSpec::ChefAPI
  config.include Berkshelf::RSpec::ChefServer
  config.include Berkshelf::RSpec::Git
  config.include Berkshelf::RSpec::PathHelpers

  config.expect_with :rspec do |c|
    c.syntax = :expect
  end

  config.mock_with :rspec
  config.filter_run focus: true
  config.filter_run_excluding not_supported_on_windows: windows?
  config.run_all_when_everything_filtered = true

  config.before(:each) do
    Berkshelf.logger = Berkshelf::Logger.new(nil)
    Berkshelf.set_format(:null)
    Berkshelf.ui.mute!
  end

  config.before(:suite) do
    WebMock.disable_net_connect!(allow_localhost: false, net_http_connect_on_start: true)
    Berkshelf::RSpec::ChefServer.start
  end

  config.before(:all) do
    ENV["BERKSHELF_PATH"] = berkshelf_path.to_s
  end

  config.before(:each) do
    clean_tmp_path
    Berkshelf.initialize_filesystem
    Berkshelf::CookbookStore.instance.initialize_filesystem
    reload_configs
  end
end

def capture(stream)
  begin
    stream = stream.to_s
    eval "$#{stream} = StringIO.new"
    yield
    result = eval("$#{stream}").string
  ensure
    eval("$#{stream} = #{stream.upcase}")
  end

  result
end

require "berkshelf"

module Berkshelf
  class GitLocation
    include Berkshelf::RSpec::Git

    alias :real_clone :clone
    def clone
      fake_remote = generate_fake_git_remote(uri, tags: @branch ? [@branch] : [])
      tmp_clone = File.join(self.class.tmpdir, uri.gsub(/[\/:]/, "-"))
      @uri = "file://#{fake_remote}"
      real_clone
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
berkshelf-6.3.2 spec/spec_helper.rb
berkshelf-6.3.1 spec/spec_helper.rb
berkshelf-6.3.0 spec/spec_helper.rb
berkshelf-6.2.2 spec/spec_helper.rb
berkshelf-6.2.1 spec/spec_helper.rb