beetle 0.4.0 → 0.4.1
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 +4 -4
- data/README.rdoc +1 -2
- data/RELEASE_NOTES.rdoc +3 -0
- data/Rakefile +4 -0
- data/beetle.gemspec +2 -2
- data/features/support/test_daemons/redis.rb +5 -2
- data/lib/beetle/version.rb +1 -1
- data/test/beetle/message_test.rb +11 -0
- data/test/beetle/subscriber_test.rb +31 -0
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bc8a9a807e4dc4700014a8141bc0655a148f640
|
4
|
+
data.tar.gz: 8edb6370ac5ffce29a3413e92e95b1c77a64f5e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3663209bba33abb84e9f83b202b86887487b913d9d3314f19f872fdebd8366b8da6fbe9906b8638854c7e47f55b95af5c72357f5f9d0d68820c3891a70cc17db
|
7
|
+
data.tar.gz: 0627f275d36fa6b18abe866405ade5dcffd8bbb4f48df360aacf94c0b0743394feef73432c19efdaa8c92b3e0f7bdb6d124b190f2c7e4ebe2c23727c05666b39
|
data/README.rdoc
CHANGED
@@ -87,7 +87,6 @@ At runtime, Beetle will use
|
|
87
87
|
|
88
88
|
For development, you'll need
|
89
89
|
* {mocha}[http://github.com/floehopper/mocha]
|
90
|
-
* {rcov}[http://github.com/relevance/rcov] (for ruby 1.8.7)
|
91
90
|
* {cucumber}[http://github.com/aslakhellesoy/cucumber]
|
92
91
|
* {daemon_controller}[http://github.com/FooBarWidget/daemon_controller]
|
93
92
|
|
@@ -105,7 +104,7 @@ For tests, you'll need
|
|
105
104
|
|
106
105
|
You can find out more about our work on our {dev blog}[http://devblog.xing.com].
|
107
106
|
|
108
|
-
Copyright (c) 2010 {XING AG}[http://www.xing.com/]
|
107
|
+
Copyright (c) 2010-2015 {XING AG}[http://www.xing.com/]
|
109
108
|
|
110
109
|
Released under the MIT license. For full details see MIT-LICENSE included in this
|
111
110
|
distribution.
|
data/RELEASE_NOTES.rdoc
CHANGED
data/Rakefile
CHANGED
data/beetle.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
|
24
24
|
s.specification_version = 3
|
25
25
|
s.add_runtime_dependency("uuid4r", [">= 0.1.2"])
|
26
|
-
s.add_runtime_dependency("bunny", ["
|
26
|
+
s.add_runtime_dependency("bunny", ["~> 0.7.10"])
|
27
27
|
s.add_runtime_dependency("redis", [">= 2.2.2", "< 3.2"])
|
28
28
|
s.add_runtime_dependency("hiredis", [">= 0.4.5", "< 0.6"])
|
29
29
|
s.add_runtime_dependency("amq-client", ["= 1.0.2"])
|
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
s.add_runtime_dependency("amqp", ["= 1.0.2"])
|
32
32
|
s.add_runtime_dependency("activesupport", [">= 2.3.4"])
|
33
33
|
s.add_runtime_dependency("eventmachine_httpserver", [">= 0.2.1"])
|
34
|
-
s.add_runtime_dependency("daemons", [">= 1.
|
34
|
+
s.add_runtime_dependency("daemons", [">= 1.1.9"])
|
35
35
|
|
36
36
|
s.add_development_dependency("webmock", [">= 1.21.0"])
|
37
37
|
end
|
@@ -41,12 +41,13 @@ module TestDaemons
|
|
41
41
|
def restart(delay = 0)
|
42
42
|
create_dir
|
43
43
|
create_config
|
44
|
-
daemon_controller.stop
|
44
|
+
daemon_controller.stop if running?
|
45
45
|
sleep delay
|
46
46
|
daemon_controller.start
|
47
47
|
end
|
48
48
|
|
49
49
|
def stop
|
50
|
+
return unless running?
|
50
51
|
# TODO: Might need to be moved into RedisConfigurationServer
|
51
52
|
# 10.times do
|
52
53
|
# break if (redis.info["bgsave_in_progress"]) == 0 rescue false
|
@@ -178,10 +179,12 @@ module TestDaemons
|
|
178
179
|
@daemon_controller ||= DaemonController.new(
|
179
180
|
:identifier => "Redis test server #{name}",
|
180
181
|
:start_command => "redis-server #{config_filename}",
|
182
|
+
:stop_command => "redis-cli -p #{port} shutdown nosave",
|
181
183
|
:ping_command => lambda { running? && available? },
|
182
184
|
:pid_file => pid_file,
|
183
185
|
:log_file => log_file,
|
184
|
-
:start_timeout =>
|
186
|
+
:start_timeout => 20,
|
187
|
+
:stop_timeout => 20,
|
185
188
|
)
|
186
189
|
end
|
187
190
|
end
|
data/lib/beetle/version.rb
CHANGED
data/test/beetle/message_test.rb
CHANGED
@@ -837,5 +837,16 @@ module Beetle
|
|
837
837
|
assert_equal "foo", message.routing_key
|
838
838
|
assert_equal "foo", message.key # alias
|
839
839
|
end
|
840
|
+
|
841
|
+
test "returns the routing key for a dead lettered message" do
|
842
|
+
header = header_with_params({})
|
843
|
+
header.stubs(:routing_key).returns("bar")
|
844
|
+
header.attributes.merge!(headers: {"x-death" => [{"routing-keys" => ["foo"]}]})
|
845
|
+
|
846
|
+
message = Message.new("somequeue", header, "")
|
847
|
+
assert_equal "foo", message.routing_key
|
848
|
+
assert_equal "foo", message.key # alias
|
849
|
+
end
|
850
|
+
|
840
851
|
end
|
841
852
|
end
|
@@ -218,6 +218,37 @@ module Beetle
|
|
218
218
|
end
|
219
219
|
end
|
220
220
|
|
221
|
+
|
222
|
+
class DeadLetterrngCallBackExecutionTest < MiniTest::Unit::TestCase
|
223
|
+
def setup
|
224
|
+
@client = Client.new
|
225
|
+
@client.config.dead_lettering_enabled = true
|
226
|
+
@queue = "somequeue"
|
227
|
+
@client.register_queue(@queue)
|
228
|
+
@sub = @client.send(:subscriber)
|
229
|
+
@exception = Exception.new "murks"
|
230
|
+
@handler = Handler.create(lambda{|*args| raise @exception})
|
231
|
+
# handler method 'processing_completed' should be called under all circumstances
|
232
|
+
@handler.expects(:processing_completed).once
|
233
|
+
@callback = @sub.send(:create_subscription_callback, "my myessage", @queue, @handler, :exceptions => 1)
|
234
|
+
end
|
235
|
+
|
236
|
+
def teardown
|
237
|
+
@client.config.dead_lettering_enabled = false
|
238
|
+
end
|
239
|
+
|
240
|
+
test "should call reject on the message header when processing the handler returns true on reject? if dead_lettering has been enabled" do
|
241
|
+
header = header_with_params({})
|
242
|
+
result = mock("result")
|
243
|
+
result.expects(:reject?).returns(true)
|
244
|
+
Message.any_instance.expects(:process).returns(result)
|
245
|
+
@sub.expects(:sleep).never
|
246
|
+
header.expects(:reject).with(:requeue => false)
|
247
|
+
@callback.call(header, 'foo')
|
248
|
+
end
|
249
|
+
|
250
|
+
end
|
251
|
+
|
221
252
|
class CallBackExecutionTest < MiniTest::Unit::TestCase
|
222
253
|
def setup
|
223
254
|
client = Client.new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beetle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Kaes
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-07-
|
15
|
+
date: 2015-07-16 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: uuid4r
|
@@ -32,16 +32,16 @@ dependencies:
|
|
32
32
|
name: bunny
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - "~>"
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.7.
|
37
|
+
version: 0.7.10
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
requirements:
|
42
|
-
- -
|
42
|
+
- - "~>"
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: 0.7.
|
44
|
+
version: 0.7.10
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
46
|
name: redis
|
47
47
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,14 +158,14 @@ dependencies:
|
|
158
158
|
requirements:
|
159
159
|
- - ">="
|
160
160
|
- !ruby/object:Gem::Version
|
161
|
-
version: 1.
|
161
|
+
version: 1.1.9
|
162
162
|
type: :runtime
|
163
163
|
prerelease: false
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
165
165
|
requirements:
|
166
166
|
- - ">="
|
167
167
|
- !ruby/object:Gem::Version
|
168
|
-
version: 1.
|
168
|
+
version: 1.1.9
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: webmock
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|
@@ -284,7 +284,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
284
284
|
version: 1.3.7
|
285
285
|
requirements: []
|
286
286
|
rubyforge_project:
|
287
|
-
rubygems_version: 2.4.
|
287
|
+
rubygems_version: 2.4.7
|
288
288
|
signing_key:
|
289
289
|
specification_version: 3
|
290
290
|
summary: High Availability AMQP Messaging with Redundant Queues
|