Sha256: 56326f4d7b676bc3915aa2471c685bf326ef7d2edb2a6ae085266d1dce941f6c
Contents?: true
Size: 1.85 KB
Versions: 2
Compression:
Stored size: 1.85 KB
Contents
# encoding: utf-8 require 'spec_helper' describe Github::Request::OAuth2 do include Github::Utils::Url def auth_header(env) env[:request_headers]['Authorization'] end def middleware described_class.new(lambda { |env| env }, options) end def process(params={}, headers={}) env = { :url => URI('http://example.com/?' + build_query(params)), :request_headers => headers } middleware.call(env) end context 'no token configured' do let(:options) { nil } it "doesn't add params" do result = process(:q => 'query') result[:url].query.should eql 'q=query' end it "doesn't add headers" do auth_header(process).should be_nil end it "allows for ad hoc access token" do result = process(:q => 'query', :access_token => 'abc123') result[:url].query.should eql 'access_token=abc123&q=query' end it "creates header for ad hoc access token" do result = process(:q => 'query', :access_token => 'abc123') auth_header(result).should eql 'token abc123' end end context 'default token configured' do let(:options) { 'ABC' } it "adds access token to params" do result = process(:q => 'query') result[:url].query.should eql 'access_token=ABC&q=query' end it "creates header for access token" do auth_header(process).should eql 'token ABC' end it "overrides default with explicit token" do result = process(:q => 'query', :access_token => 'abc123') result[:url].query.should eql 'access_token=abc123&q=query' auth_header(result).should eql 'token abc123' end it "clears default token with explicit one" do result = process(:q => 'query', :access_token => nil) result[:url].query.should eql 'q=query&access_token' auth_header(result).should be_nil end end end # Github::Request::OAuth2
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
github_api-0.12.3 | spec/github/request/oauth2_spec.rb |
github_api-0.12.2 | spec/github/request/oauth2_spec.rb |