Sha256: 1028fc412145d458a11f786a103b7d8bedb49e7b07a4551ec306677dd73dd9b4
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require 'serverspec' require 'pathname' require 'net/ssh' include SpecInfra::Helper::Ssh include SpecInfra::Helper::DetectOS def run(cmd) unless(system(cmd, out: $stdout, err: :out)) puts 'Failed to setup vagrant machine' exit 1 end end RSpec.configure do |c| c.before :suite do c.host = ENV['TARGET_HOST'] c.ssh.close if c.ssh options = Net::SSH::Config.for(c.host) if(!ENV['LOCAL']) run("vagrant destroy #{c.host} -f") run("vagrant up #{c.host}") config = `vagrant ssh-config #{c.host}` sshhost = sshuser = '' if config != '' config.each_line do |line| if match = /HostName (.*)/.match(line) sshhost = match[1] elsif match = /User (.*)/.match(line) sshuser = match[1] elsif match = /IdentityFile (.*)/.match(line) options[:keys] = [match[1].gsub(/"/,'')] elsif match = /Port (.*)/.match(line) options[:port] = match[1] end end end else sshhost = 'localhost' sshuser = 'vagrant' end c.ssh = Net::SSH.start(sshhost, sshuser, options) end c.after :suite do c.host = ENV['TARGET_HOST'] run("vagrant destroy #{c.host} -f") end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
opskeleton-0.7.3 | templates/parent/spec/spec_helper.rb |
opskeleton-0.7.2 | templates/parent/spec/spec_helper.rb |