Sha256: 559cb8ce156492559c6d2763177500fa36392adef853127f10bf8b889f89ba99
Contents?: true
Size: 1.61 KB
Versions: 2
Compression:
Stored size: 1.61 KB
Contents
begin require "active_support/secure_random" rescue LoadError # ActiveSupport::SecureRandom not provided in activesupport >= 3.2 end require "webmock" require "rack/oauth2" module RspecApiDocumentation class OAuth2MACClient < ClientBase include WebMock::API attr_accessor :last_response, :last_request private :last_response, :last_request def request_headers env_to_headers(last_request.env) end def response_headers last_response.headers end def query_string last_request.env["QUERY_STRING"] end def status last_response.status end def response_body last_response.body end def request_content_type last_request.content_type end def response_content_type last_response.content_type end protected def do_request(method, path, params, request_headers) self.last_response = access_token.send(method, "http://example.com#{path}", :body => params, :header => headers(method, path, params, request_headers)) end class ProxyApp < Struct.new(:client, :app) def call(env) client.last_request = Struct.new(:env, :content_type).new(env, env["CONTENT_TYPE"]) app.call(env.merge("SCRIPT_NAME" => "")) end end def access_token @access_token ||= begin app = ProxyApp.new(self, context.app) stub_request(:any, %r{http://example\.com}).to_rack(app) Rack::OAuth2::Client.new(options.merge(:host => "example.com", :scheme => "http")).access_token! end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rspec_api_documentation-0.8.0 | lib/rspec_api_documentation/oauth2_mac_client.rb |
rspec_api_documentation-0.7.1 | lib/rspec_api_documentation/oauth2_mac_client.rb |