bamboo-client 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 910f7e2f4275eb923c2ceaa234bf1fa2369baae4
4
- data.tar.gz: 5bd83c8acf25246376793f6cb7cb5f5e483e4db9
3
+ metadata.gz: 38822888e09b2105e0e6142f35de3a5f4fa11fa6
4
+ data.tar.gz: 9567bc374446f4c83212ab531123a992fd09e21e
5
5
  SHA512:
6
- metadata.gz: d8611a56f527c5e4bbbe94bb66c870b4cf34bb477e0a9106e4a3afe425f1499481b7c26a73b57846da438f0f48b2a9db94900bd9a98d259a79cabddc18c80d84
7
- data.tar.gz: 8b602048f3a116724586500f0f7dd8ab3e4200cf8866158385e49c7be23147e8a4c021b9b61e329851ffdfdf4b6feb1c8cbd8739906047fc6b210bf2519f766b
6
+ metadata.gz: e8ccba78195cb35cc858d321e55e1206e9ad615e44c65c551a3dce3af1d56946ee69a47b67f6a991b747af181fe9d4769f21a620803cd687dc62b7fdc3db2e8e
7
+ data.tar.gz: 0f8da5377be315763cfcdc6c15fc3bfaee098bebe97a3cb97013ec1e7be3f310554fbdaf3f2e26d12b79a3708622a57dc2afd3318018bcd1c5e3d95bf868e18e
@@ -46,6 +46,11 @@ module Bamboo
46
46
  Doc.from(resp) unless resp.empty?
47
47
  end
48
48
 
49
+ def post_with_query(uri_or_path, query = {}, cookies = nil)
50
+ resp = RestClient.post(uri_for(uri_or_path, query), '{}', :accept => :json, :content_type => :json, :cookies => cookies)
51
+ Doc.from(resp) unless resp.empty?
52
+ end
53
+
49
54
  def get(uri_or_path, params = nil, cookies = nil)
50
55
  uri = uri_for(uri_or_path, params)
51
56
  Doc.from RestClient.get(uri, :accept => :json, :cookies => cookies)
@@ -89,8 +89,14 @@ module Bamboo
89
89
  @data.fetch("link")['href']
90
90
  end
91
91
 
92
- def queue
93
- @http.post File.join(SERVICE, "queue/#{URI.escape key}"), {}, @http.cookies
92
+ def queue(params = nil)
93
+ path = File.join(SERVICE, "queue/#{URI.escape key}")
94
+
95
+ if params
96
+ @http.post_with_query path, params, @http.cookies
97
+ else
98
+ @http.post path, {}, @http.cookies
99
+ end
94
100
  end
95
101
 
96
102
  def results
@@ -1,5 +1,5 @@
1
1
  module Bamboo
2
2
  module Client
3
- VERSION = "0.1.6"
3
+ VERSION = "0.1.7"
4
4
  end
5
5
  end
@@ -24,6 +24,14 @@ module Bamboo
24
24
  json.post("/", :some => "data").should be_nil
25
25
  end
26
26
 
27
+ it 'does a POST with query instead of JSON data' do
28
+ RestClient.should_receive(:post).with(
29
+ "#{url}/?some=data", '{}', :accept => :json, :content_type => :json, :cookies => nil
30
+ ).and_return('')
31
+
32
+ json.post_with_query("/", :some => "data").should be_nil
33
+ end
34
+
27
35
  it "returns cookies from GET" do
28
36
  net_http_resp = Net::HTTPResponse.new(1.0, 200, "OK")
29
37
  net_http_resp.add_field 'Set-Cookie', 'Cookie=Value;'
@@ -20,8 +20,8 @@ module Bamboo
20
20
 
21
21
  describe Xml::Doc do
22
22
  let(:wrapped) {
23
- m = mock("nokogiri document")
24
- m.stub!(:css).with("errors error").and_return []
23
+ m = double("nokogiri document")
24
+ m.stub(:css).with("errors error").and_return []
25
25
  m
26
26
  }
27
27
  let(:doc) { Xml::Doc.new(wrapped)}
@@ -29,13 +29,13 @@ module Bamboo
29
29
  it "returns the text of the given CSS selector" do
30
30
  wrapped.should_receive(:css).
31
31
  with("some selector").
32
- and_return(mock("node", :text => "bar"))
32
+ and_return(double("node", :text => "bar"))
33
33
 
34
34
  doc.text_for("some selector").should == "bar"
35
35
  end
36
36
 
37
37
  it "checks for errors in the given document" do
38
- wrapped.should_receive(:css).with("errors error").and_return [mock(:text => "error!")]
38
+ wrapped.should_receive(:css).with("errors error").and_return [double(:text => "error!")]
39
39
  lambda { doc.text_for "some selector" }.should raise_error(Bamboo::Client::Error)
40
40
  end
41
41
 
@@ -4,10 +4,10 @@ module Bamboo
4
4
  module Client
5
5
  describe Remote do
6
6
  let(:url) { "http://bamboo.example.com" }
7
- let(:http) { mock(Http::Xml) }
7
+ let(:http) { double(Http::Xml) }
8
8
  let(:client) { Remote.new(http) }
9
9
  let(:document) {
10
- m = mock(Http::Xml::Doc)
10
+ m = double(Http::Xml::Doc)
11
11
  m.stub(:css).with("errors error").and_return []
12
12
 
13
13
  m
@@ -136,7 +136,7 @@ module Bamboo
136
136
  end # API calls
137
137
 
138
138
  describe Remote::Build do
139
- let(:client) { mock(Remote) }
139
+ let(:client) { double(Remote) }
140
140
  let(:doc) { xml_fixture("build").css("build").first }
141
141
  let(:build) { Remote::Build.new(doc, client) }
142
142
 
@@ -214,12 +214,12 @@ module Bamboo
214
214
  end
215
215
 
216
216
  it "returns nil if start time can not be parsed" do
217
- doc.stub(:css).and_return mock(:text => "Sun Sep 32")
217
+ doc.stub(:css).and_return double(:text => "Sun Sep 32")
218
218
  result.start_time.should be_nil
219
219
  end
220
220
 
221
221
  it "returns nil if start time can not be parsed" do
222
- doc.stub(:css).and_return mock(:text => "Sun Sep 32")
222
+ doc.stub(:css).and_return double(:text => "Sun Sep 32")
223
223
  result.end_time.should be_nil
224
224
  end
225
225
 
@@ -3,8 +3,8 @@ require File.expand_path("../../spec_helper", __FILE__)
3
3
  module Bamboo
4
4
  module Client
5
5
  describe Rest do
6
- let(:http) { mock(Http::Json) }
7
- let(:document) { mock(Http::Json::Doc) }
6
+ let(:http) { double(Http::Json) }
7
+ let(:document) { double(Http::Json::Doc) }
8
8
  let(:client) { Rest.new(http) }
9
9
 
10
10
  it "logs in" do
@@ -115,6 +115,12 @@ module Bamboo
115
115
  plan.queue
116
116
  end
117
117
 
118
+ it "can be queued with parameters" do
119
+ http.should_receive(:cookies).and_return("some" => "cookie")
120
+ http.should_receive(:post_with_query).with("/rest/api/latest/queue/S2RB-REMWIN", {:customRevision => 'test123'}, {"some" => "cookie"})
121
+ plan.queue(:customRevision => 'test123')
122
+ end
123
+
118
124
  it 'can fetch results' do
119
125
  document.should_receive(:auto_expand).with(Rest::Result, http)
120
126
  http.should_receive(:cookies).and_return("some" => "cookie")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bamboo-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jari Bakken
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-28 00:00:00.000000000 Z
12
+ date: 2013-10-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -176,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
176
  version: '0'
177
177
  requirements: []
178
178
  rubyforge_project: bamboo-client
179
- rubygems_version: 2.0.0
179
+ rubygems_version: 2.0.3
180
180
  signing_key:
181
181
  specification_version: 4
182
182
  summary: Ruby client for Atlassian Bamboo's REST APIs
@@ -203,4 +203,3 @@ test_files:
203
203
  - spec/fixtures/result.json
204
204
  - spec/fixtures/result_with_changes.json
205
205
  - spec/spec_helper.rb
206
- has_rdoc: