rabbitmq_http_api_client 0.3.0 → 0.4.0

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.
data/ChangeLog.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## Changes Between 0.3.0 and 0.4.0
2
+
3
+ ### Meaningful Exceptions for 4xx and 5xx Responses
4
+
5
+ `4xx` and `5xx` responses now will result in meaningful exceptions
6
+ being raised. For example, `404` responses will raise `Faraday::Error::ResourceNotFound`.
7
+
8
+
1
9
  ## Changes Between 0.2.0 and 0.3.0
2
10
 
3
11
  ### MultiJSON Upgrade
@@ -309,6 +309,7 @@ module RabbitMQ
309
309
  @connection = Faraday.new(:url => endpoint) do |conn|
310
310
  conn.basic_auth options.fetch(:username, "guest"), options.fetch(:password, "guest")
311
311
  conn.use FaradayMiddleware::FollowRedirects, :limit => 3
312
+ conn.use Faraday::Response::RaiseError
312
313
  conn.response :json, :content_type => /\bjson$/
313
314
 
314
315
  conn.adapter options.fetch(:adapter, Faraday.default_adapter)
@@ -1,7 +1,7 @@
1
1
  module RabbitMQ
2
2
  module HTTP
3
3
  class Client
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
6
6
  end
7
7
  end
@@ -20,7 +20,7 @@ Gem::Specification.new do |gem|
20
20
 
21
21
  gem.add_dependency "hashie", "~> 1.2.0"
22
22
  gem.add_dependency "multi_json", "~> 1.7.0"
23
- gem.add_dependency "faraday", "~> 0.8.4"
23
+ gem.add_dependency "faraday", "~> 0.8.8"
24
24
  gem.add_dependency "faraday_middleware", "~> 0.9.0"
25
25
  gem.add_dependency "effin_utf8", "~> 1.0.0"
26
26
  end
@@ -323,21 +323,31 @@ describe RabbitMQ::HTTP::Client do
323
323
  end
324
324
 
325
325
  describe "GET /api/queues/:vhost/:name" do
326
- before :all do
327
- @channel = @connection.create_channel
328
- end
326
+ context "when queue exists" do
327
+ before :all do
328
+ @channel = @connection.create_channel
329
+ end
329
330
 
330
- it "returns information about a queue" do
331
- q = @channel.queue("", :exclusive => true, :durable => false)
332
- i = subject.queue_info("/", q.name)
331
+ it "returns information about a queue" do
332
+ q = @channel.queue("", :exclusive => true, :durable => false)
333
+ i = subject.queue_info("/", q.name)
333
334
 
334
- i.durable.should be_false
335
- i.durable.should == q.durable?
335
+ i.durable.should be_false
336
+ i.durable.should == q.durable?
336
337
 
337
- i.name.should == q.name
338
- i.auto_delete.should == q.auto_delete?
339
- i.active_consumers.should be_nil
340
- i.backing_queue_status.avg_ack_egress_rate.should == 0.0
338
+ i.name.should == q.name
339
+ i.auto_delete.should == q.auto_delete?
340
+ i.active_consumers.should be_nil
341
+ i.backing_queue_status.avg_ack_egress_rate.should == 0.0
342
+ end
343
+ end
344
+
345
+ context "when queue DOES NOT exist" do
346
+ it "raises NotFound" do
347
+ lambda do
348
+ subject.queue_info("/", Time.now.to_i.to_s)
349
+ end.should raise_error(Faraday::Error::ResourceNotFound)
350
+ end
341
351
  end
342
352
  end
343
353
 
@@ -509,12 +519,23 @@ describe RabbitMQ::HTTP::Client do
509
519
  end
510
520
 
511
521
  describe "GET /api/vhosts/:name" do
512
- it "returns infomation about a vhost" do
513
- v = subject.vhost_info("/")
522
+ context "when vhost exists" do
523
+ it "returns infomation about a vhost" do
524
+ v = subject.vhost_info("/")
514
525
 
515
- v.name.should_not be_nil
516
- v.tracing.should be_false
526
+ v.name.should_not be_nil
527
+ v.tracing.should be_false
528
+ end
517
529
  end
530
+
531
+ context "when vhost DOES NOT exist" do
532
+ it "raises NotFound" do
533
+ lambda do
534
+ subject.vhost_info(Time.now.to_i.to_s)
535
+ end.should raise_error(Faraday::Error::ResourceNotFound)
536
+ end
537
+ end
538
+
518
539
  end
519
540
 
520
541
  describe "PUT /api/vhosts/:name" do
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbitmq_http_api_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Michael Klishin
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-08-26 00:00:00.000000000 Z
12
+ date: 2013-09-17 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: hashie
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: multi_json
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
@@ -41,20 +46,23 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: faraday
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ~>
46
52
  - !ruby/object:Gem::Version
47
- version: 0.8.4
53
+ version: 0.8.8
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ~>
53
60
  - !ruby/object:Gem::Version
54
- version: 0.8.4
61
+ version: 0.8.8
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: faraday_middleware
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ~>
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ~>
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: effin_utf8
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ~>
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :runtime
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ~>
81
92
  - !ruby/object:Gem::Version
@@ -96,33 +107,34 @@ files:
96
107
  - Rakefile
97
108
  - lib/rabbitmq/http/client.rb
98
109
  - lib/rabbitmq/http/client/version.rb
99
- - rabbitmq_http_client.gemspec
110
+ - rabbitmq_http_api_client.gemspec
100
111
  - spec/integration/client_spec.rb
101
112
  - spec/spec_helper.rb
102
113
  homepage: http://github.com/ruby-amqp/rabbitmq_http_api_client
103
114
  licenses:
104
115
  - MIT
105
116
  - Mozilla Public License
106
- metadata: {}
107
117
  post_install_message:
108
118
  rdoc_options: []
109
119
  require_paths:
110
120
  - lib
111
121
  required_ruby_version: !ruby/object:Gem::Requirement
122
+ none: false
112
123
  requirements:
113
- - - '>='
124
+ - - ! '>='
114
125
  - !ruby/object:Gem::Version
115
126
  version: '0'
116
127
  required_rubygems_version: !ruby/object:Gem::Requirement
128
+ none: false
117
129
  requirements:
118
- - - '>='
130
+ - - ! '>='
119
131
  - !ruby/object:Gem::Version
120
132
  version: '0'
121
133
  requirements: []
122
134
  rubyforge_project:
123
- rubygems_version: 2.0.5
135
+ rubygems_version: 1.8.25
124
136
  signing_key:
125
- specification_version: 4
137
+ specification_version: 3
126
138
  summary: RabbitMQ HTTP API client for Ruby
127
139
  test_files:
128
140
  - spec/integration/client_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: ed47214540d24f2baaea45ea02e7acdfa82dbaa4
4
- data.tar.gz: 4d24a9b4fc6e28d5d1650a9e087c3214083bfa4b
5
- SHA512:
6
- metadata.gz: f19d37c7a1e9a8440e97aa499c5ed9d3228928849ba0a9f4c13f0db7e8371f82e9857ae49c4f2729cfc2d2e3991fcbf39b26f3bc0e9fe3130d7ae76960cf7a4e
7
- data.tar.gz: 906477027358a4bf5e51fb23abde12e46f106bcfa5e348966097a45c0561103e6b31ff64bf0f21657cf0da6d3a81be6919bfc60ca23bf452688b13f1a77792cb