summaryrefslogtreecommitdiff
path: root/spec/support/helpers.rb
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2016-11-30 15:15:30 -0600
committerSamuel Giddins <segiddins@segiddins.me>2017-06-13 11:12:22 -0500
commit991a5a77d7597575ecde5e696b5a09364ce30618 (patch)
treefe85642e0e00017a5f2488944527e66d13f874a1 /spec/support/helpers.rb
parente8fd5795778379bd821e34173b678f76f240fa97 (diff)
downloadbundler-991a5a77d7597575ecde5e696b5a09364ce30618.tar.gz
[Realworld] Use VCR for network requests
Diffstat (limited to 'spec/support/helpers.rb')
-rw-r--r--spec/support/helpers.rb23
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