Sha256: cbaf82f5da18c24f099b38b1f4060bc51662c1e3c48e2e5c047adbc01a82376b
Contents?: true
Size: 1.34 KB
Versions: 11
Compression:
Stored size: 1.34 KB
Contents
require 'serverspec' require 'pathname' require 'net/ssh' include SpecInfra::Helper::Ssh include SpecInfra::Helper::DetectOS RSpec.configure do |c| if ENV['ASK_SUDO_PASSWORD'] require 'highline/import' c.sudo_password = ask("Enter sudo password: ") { |q| q.echo = false } else c.sudo_password = ENV['SUDO_PASSWORD'] end c.before :all do block = self.class.metadata[:example_group_block] if RUBY_VERSION.start_with?('1.8') file = block.to_s.match(/.*@(.*):[0-9]+>/)[1] else file = block.source_location.first end host = File.basename(Pathname.new(file).dirname) if c.host != host c.ssh.close if c.ssh c.host = host options = Net::SSH::Config.for(c.host) user = options[:user] || Etc.getlogin vagrant_up = `vagrant up default` config = `vagrant ssh-config default` if config != '' config.each_line do |line| if match = /HostName (.*)/.match(line) host = match[1] elsif match = /User (.*)/.match(line) user = match[1] elsif match = /IdentityFile (.*)/.match(line) options[:keys] = [match[1].gsub(/"/,'')] elsif match = /Port (.*)/.match(line) options[:port] = match[1] end end end c.ssh = Net::SSH.start(host, user, options) end end end
Version data entries
11 entries across 11 versions & 1 rubygems