Sha256: 022082f725245420f0d966827a9b431e68af3eb88d1dad060d90b03e86db570c
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
require "ostruct" module HttpRbSpecHelper def http_request(method, uri, options = {}) chain = HTTP if basic_auth = options.delete(:basic_auth) chain = chain.basic_auth(user: basic_auth[0], pass: basic_auth[1]) end response = chain.request(method, normalize_uri(uri), options) OpenStruct.new({ body: response.body.to_s, headers: normalize_headers(response.headers.to_h), status: response.code.to_s, message: response.reason }) end def client_timeout_exception_class return Errno::ETIMEDOUT if HTTP::VERSION < "1.0.0" HTTP::TimeoutError end def connection_refused_exception_class return Errno::ECONNREFUSED if HTTP::VERSION < "1.0.0" HTTP::ConnectionError end def http_library :http_rb end def normalize_uri(uri) Addressable::URI.heuristic_parse(uri).normalize.to_s end def normalize_headers(headers) headers = Hash[headers.map { |k, v| [k, Array(v).join(", ")] }] WebMock::Util::Headers.normalize_headers headers end def stub_simple_request(host, status = 200, headers = {}, body = nil) stub_request(:any, host).to_return({ status: status, headers: headers.merge({ "Host" => host }), body: body }) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
webmock-3.1.1 | spec/acceptance/http_rb/http_rb_spec_helper.rb |
webmock-3.1.0 | spec/acceptance/http_rb/http_rb_spec_helper.rb |