rabbitmq_http_api_client 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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