diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2016-11-28 18:42:37 -0600 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2016-12-21 18:28:14 +0100 |
commit | ac133e3e15b05cec170fa4971d5af30781090508 (patch) | |
tree | 8b884d5817c94ca3230fbf09c64ff6198a5420bb | |
parent | 7782a06eb7b249e5908b922adb63ace7f6045434 (diff) | |
download | bundler-ac133e3e15b05cec170fa4971d5af30781090508.tar.gz |
Also load net/https before stubbing Net::HTTP
-rw-r--r-- | spec/support/artifice/fail.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/spec/support/artifice/fail.rb b/spec/support/artifice/fail.rb index dbb7ab9b7a..572fa5613e 100644 --- a/spec/support/artifice/fail.rb +++ b/spec/support/artifice/fail.rb @@ -1,10 +1,20 @@ # frozen_string_literal: true require "net/http" +begin + require "net/https" +rescue LoadError + nil # net/https or openssl +end # We can't use artifice here because it uses rack class Fail < Net::HTTP + # Net::HTTP uses a @newimpl instance variable to decide whether + # to use a legacy implementation. Since we are subclassing + # Net::HTTP, we must set it + @newimpl = true + def request(req, body = nil, &block) raise(exception(req)) end @@ -23,5 +33,5 @@ end # Replace Net::HTTP with our failing subclass ::Net.class_eval do remove_const(:HTTP) - const_set(:HTTP, Fail) + const_set(:HTTP, ::Fail) end |