diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2016-11-30 15:15:30 -0600 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-06-13 11:12:22 -0500 |
commit | 991a5a77d7597575ecde5e696b5a09364ce30618 (patch) | |
tree | fe85642e0e00017a5f2488944527e66d13f874a1 /spec/support/helpers.rb | |
parent | e8fd5795778379bd821e34173b678f76f240fa97 (diff) | |
download | bundler-991a5a77d7597575ecde5e696b5a09364ce30618.tar.gz |
[Realworld] Use VCR for network requests
Diffstat (limited to 'spec/support/helpers.rb')
-rw-r--r-- | spec/support/helpers.rb | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/spec/support/helpers.rb b/spec/support/helpers.rb index f54b25e42a..2d60938fcb 100644 --- a/spec/support/helpers.rb +++ b/spec/support/helpers.rb @@ -91,11 +91,24 @@ module Spec bundle_bin = "-S bundle" end + env = options.delete(:env) || {} + env["PATH"].gsub!("#{Path.root}/exe", "") if env["PATH"] && system_bundler + requires = options.delete(:requires) || [] - if artifice = options.delete(:artifice) { "fail" unless RSpec.current_example.metadata[:realworld] } - requires << File.expand_path("../artifice/#{artifice}.rb", __FILE__) - end requires << "support/hax" + + artifice = options.delete(:artifice) do + if RSpec.current_example.metadata[:realworld] + "vcr" + else + "fail" + end + end + if artifice + env["BUNDLER_SPEC_VCR_CASSETTE_NAME"] = RSpec.current_example.full_description + requires << File.expand_path("../artifice/#{artifice}", __FILE__) + end + requires_str = requires.map {|r| "-r#{r}" }.join(" ") load_path = [] @@ -103,8 +116,8 @@ module Spec load_path << spec load_path_str = "-I#{load_path.join(File::PATH_SEPARATOR)}" - env = (options.delete(:env) || {}).map {|k, v| "#{k}='#{v}'" }.join(" ") - env["PATH"].gsub!("#{Path.root}/exe", "") if env["PATH"] && system_bundler + env = env.map {|k, v| "#{k}='#{v}'" }.join(" ") + args = options.map do |k, v| v == true ? " --#{k}" : " --#{k} #{v}" if v end.join |