|
2 | 2 | require 'bitbucket_rest_api/request' |
3 | 3 |
|
4 | 4 | describe BitBucket::Request do |
5 | | - let(:fake_api) { (Class.new { include BitBucket::Request })} |
6 | | - let(:faraday_connection) { Faraday.new(:url => 'https://api.bitbucket.org') } |
| 5 | + let(:fake_api) do |
| 6 | + Class.new do |
| 7 | + include BitBucket::Request |
| 8 | + |
| 9 | + def connection(*args) |
| 10 | + Faraday.new(:url => 'https://api.bitbucket.org') |
| 11 | + end |
| 12 | + |
| 13 | + def new_access_token |
| 14 | + '12345' |
| 15 | + end |
| 16 | + end |
| 17 | + end |
7 | 18 |
|
8 | 19 | describe "request" do |
9 | 20 | it "raises an ArgumentError if an unsupported HTTP verb is used" do |
10 | 21 | expect { fake_api.new.request(:i_am_a_teapot, {}, '/') }.to raise_error(ArgumentError) |
11 | 22 | end |
12 | 23 |
|
13 | 24 | context "with a connection" do |
14 | | - before do |
15 | | - (fake_api).any_instance.stubs(:connection).returns(faraday_connection) |
16 | | - (fake_api).any_instance.stubs(:new_access_token).returns("12345") |
17 | | - end |
18 | | - |
19 | 25 | it "supports get" do |
20 | 26 | stub_request(:get, "https://api.bitbucket.org/1.0/endpoint"). |
21 | 27 | with(:headers => { |
22 | 28 | 'Accept' => '*/*', |
23 | 29 | 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', |
24 | 30 | 'Authorization' => 'Bearer 12345', |
25 | | - 'User-Agent' => 'Faraday v0.9.2' |
| 31 | + 'User-Agent' => "Faraday v#{Faraday::VERSION}" |
26 | 32 | }) |
27 | 33 |
|
28 | 34 | fake_api.new.request(:get, '/1.0/endpoint', {}, {}) |
|
35 | 41 | 'Accept' => '*/*', |
36 | 42 | 'Content-Type'=>'application/x-www-form-urlencoded', |
37 | 43 | 'Authorization' => 'Bearer 12345', |
38 | | - 'User-Agent' => 'Faraday v0.9.2' |
| 44 | + 'User-Agent' => "Faraday v#{Faraday::VERSION}" |
39 | 45 | }) |
40 | 46 |
|
41 | 47 | fake_api.new.request(:put, '/1.0/endpoint', { 'data' => { 'key' => 'value'} }, {}) |
|
48 | 54 | 'Accept' => '*/*', |
49 | 55 | 'Content-Type'=>'application/x-www-form-urlencoded', |
50 | 56 | 'Authorization' => 'Bearer 12345', |
51 | | - 'User-Agent' => 'Faraday v0.9.2' |
| 57 | + 'User-Agent' => "Faraday v#{Faraday::VERSION}" |
52 | 58 | }) |
53 | 59 |
|
54 | 60 | fake_api.new.request(:patch, '/1.0/endpoint', { 'data' => { 'key' => 'value'} }, {}) |
|
59 | 65 | with(:headers => { |
60 | 66 | 'Accept' => '*/*', |
61 | 67 | 'Authorization' => 'Bearer 12345', |
62 | | - 'User-Agent' => 'Faraday v0.9.2' |
| 68 | + 'User-Agent' => "Faraday v#{Faraday::VERSION}" |
63 | 69 | }) |
64 | 70 | fake_api.new.request(:delete, '/1.0/endpoint', {}, {}) |
65 | 71 | end |
|
71 | 77 | 'Accept' => '*/*', |
72 | 78 | 'Content-Type'=>'application/x-www-form-urlencoded', |
73 | 79 | 'Authorization' => 'Bearer 12345', |
74 | | - 'User-Agent' => 'Faraday v0.9.2' |
| 80 | + 'User-Agent' => "Faraday v#{Faraday::VERSION}" |
75 | 81 | }) |
76 | 82 |
|
77 | 83 | fake_api.new.request(:post, '/1.0/endpoint', { 'data' => { 'key' => 'value'} }, {}) |
|
0 commit comments