diff options
Diffstat (limited to 'spec/bundler/support/artifice/fail.rb')
-rw-r--r-- | spec/bundler/support/artifice/fail.rb | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/spec/bundler/support/artifice/fail.rb b/spec/bundler/support/artifice/fail.rb deleted file mode 100644 index 1059c6df4e..0000000000 --- a/spec/bundler/support/artifice/fail.rb +++ /dev/null @@ -1,39 +0,0 @@ -# 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 - -module Artifice; end # for < 2.0, Net::HTTP::Persistent::SSLReuse - -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 - - # Ensure we don't start a connect here - def connect - end - - def exception(req) - name = ENV.fetch("BUNDLER_SPEC_EXCEPTION") { "Errno::ENETUNREACH" } - const = name.split("::").reduce(Object) {|mod, sym| mod.const_get(sym) } - const.new("host down: Bundler spec artifice fail! #{req["PATH_INFO"]}") - end -end - -# Replace Net::HTTP with our failing subclass -::Net.class_eval do - remove_const(:HTTP) - const_set(:HTTP, ::Fail) -end |