beetle 0.4.12 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +38 -0
- data/RELEASE_NOTES.rdoc +9 -1
- data/Rakefile +1 -4
- data/beetle.gemspec +4 -8
- data/features/support/env.rb +1 -1
- data/lib/beetle.rb +0 -1
- data/lib/beetle/configuration.rb +6 -0
- data/lib/beetle/subscriber.rb +2 -2
- data/lib/beetle/version.rb +1 -1
- data/test/beetle/amqp_gem_behavior_test.rb +1 -3
- data/test/beetle/base_test.rb +2 -2
- data/test/beetle/beetle_test.rb +1 -1
- data/test/beetle/client_test.rb +3 -3
- data/test/beetle/configuration_test.rb +1 -1
- data/test/beetle/dead_lettering_test.rb +3 -3
- data/test/beetle/deduplication_store_test.rb +5 -5
- data/test/beetle/handler_test.rb +1 -1
- data/test/beetle/message_test.rb +12 -12
- data/test/beetle/publisher_test.rb +6 -6
- data/test/beetle/r_c_test.rb +1 -1
- data/test/beetle/redis_configuration_client_test.rb +1 -1
- data/test/beetle/redis_configuration_server_test.rb +4 -4
- data/test/beetle/redis_ext_test.rb +4 -4
- data/test/beetle/redis_master_file_test.rb +1 -1
- data/test/beetle/subscriber_test.rb +11 -11
- data/test/test_helper.rb +1 -1
- metadata +8 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6b1de828dca7a94962097fa30763c18944837e8
|
4
|
+
data.tar.gz: b52dcbee0773bfa70d22f204942e97398262dbd0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f33209c5bbf8125e84713bb19837c14cf19ca508d46b7c24f9496abb9969edfd423d9f38a064ba8a4cf0d72520ea4e73e02251c827732efe4894a3bf1cfb2687
|
7
|
+
data.tar.gz: 17b50f9b57f777843f41960a6129e686b4191b2b3e5557f21c931ad6ed37341a0c7fa8b681044bc1c7bce1f75b85416ce62304ba79e78e6cf84dc16d278f529d
|
data/README.rdoc
CHANGED
@@ -108,3 +108,41 @@ Copyright (c) 2010-2015 {XING AG}[http://www.xing.com/]
|
|
108
108
|
|
109
109
|
Released under the MIT license. For full details see MIT-LICENSE included in this
|
110
110
|
distribution.
|
111
|
+
|
112
|
+
== Contributing
|
113
|
+
|
114
|
+
1. Fork it
|
115
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
116
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
117
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
118
|
+
5. Create new Pull Request
|
119
|
+
|
120
|
+
Don't increase the gem version in your pull requests. It will be done after merging the request,
|
121
|
+
to allow merging of pull requests in a flexible order.
|
122
|
+
|
123
|
+
== How to release a new gem version
|
124
|
+
|
125
|
+
Update RELEASE_NOTES.rdoc!
|
126
|
+
|
127
|
+
We use {semantic versioning}[http://semver.org/] and create a git tag
|
128
|
+
for each release.
|
129
|
+
|
130
|
+
Edit `lib/beetle/version.rb` to set the new version number
|
131
|
+
(`Major.Minor.Patch`).
|
132
|
+
|
133
|
+
In short (see {semver.org}[http://semver.org] for details):
|
134
|
+
|
135
|
+
* *Major* version MUST be incremented if any backwards incompatible changes
|
136
|
+
are introduced to the public API.
|
137
|
+
* *Minor* version MUST be incremented if new, backwards compatible functionality
|
138
|
+
is introduced to the public API. It MUST be incremented if any public API
|
139
|
+
functionality is marked as deprecated.
|
140
|
+
* *Patch* version MUST be incremented if only backwards compatible bug fixes
|
141
|
+
are introduced.
|
142
|
+
|
143
|
+
Then use `rake release` which will create the git tag and upload the
|
144
|
+
gem to gems.xing.com:
|
145
|
+
|
146
|
+
$ bundle exec rake release
|
147
|
+
|
148
|
+
The generated gem is located in the `pkg/` directory.
|
data/RELEASE_NOTES.rdoc
CHANGED
@@ -1,9 +1,17 @@
|
|
1
1
|
= Release Notes
|
2
2
|
|
3
|
+
== Version 1.0.0
|
4
|
+
|
5
|
+
* introduced semantic versioning
|
6
|
+
* upgraded gems used for devloping beetle
|
7
|
+
* upgraded amqp gem to version 1.6.0 and amq-protocol to 2.0.1
|
8
|
+
* relaxed requirements on redis and hiredis versions
|
9
|
+
* support setting prefetch count for subscriber
|
10
|
+
|
3
11
|
== Version 0.4.12
|
4
12
|
|
5
13
|
* Don't log warnings when publishing redundantly and only
|
6
|
-
one server
|
14
|
+
one server has been configured
|
7
15
|
|
8
16
|
== Version 0.4.11
|
9
17
|
|
data/Rakefile
CHANGED
@@ -1,10 +1,6 @@
|
|
1
1
|
require 'bundler/setup'
|
2
|
-
require 'rake'
|
3
2
|
require 'rake/testtask'
|
4
3
|
require 'bundler/gem_tasks'
|
5
|
-
|
6
|
-
# rake 0.9.2 hack to supress deprecation warnings caused by cucumber
|
7
|
-
include Rake::DSL if RAKEVERSION >= "0.9"
|
8
4
|
require 'cucumber/rake/task'
|
9
5
|
|
10
6
|
# 1.8/1.9 compatible way of loading lib/beetle.rb
|
@@ -98,6 +94,7 @@ Rake::TestTask.new do |t|
|
|
98
94
|
t.libs << "test"
|
99
95
|
t.test_files = FileList['test/**/*_test.rb']
|
100
96
|
t.verbose = true
|
97
|
+
t.warning = false
|
101
98
|
end
|
102
99
|
|
103
100
|
require 'rdoc/task'
|
data/beetle.gemspec
CHANGED
@@ -18,20 +18,16 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.homepage = "http://xing.github.com/beetle/"
|
19
19
|
s.rdoc_options = ["--charset=UTF-8"]
|
20
20
|
s.require_paths = ["lib"]
|
21
|
-
s.rubygems_version = "1.3.7"
|
22
21
|
s.test_files = Dir['test/**/*.rb']
|
23
22
|
|
24
23
|
s.specification_version = 3
|
25
24
|
s.add_runtime_dependency("uuid4r", [">= 0.1.2"])
|
26
25
|
s.add_runtime_dependency("bunny", ["~> 0.7.10"])
|
27
|
-
s.add_runtime_dependency("redis", [">= 2.2.2"
|
28
|
-
s.add_runtime_dependency("hiredis", [">= 0.
|
29
|
-
s.add_runtime_dependency("amq-
|
30
|
-
s.add_runtime_dependency("
|
31
|
-
s.add_runtime_dependency("amqp", ["= 1.0.2"])
|
26
|
+
s.add_runtime_dependency("redis", [">= 2.2.2"])
|
27
|
+
s.add_runtime_dependency("hiredis", [">= 0.6.1"])
|
28
|
+
s.add_runtime_dependency("amq-protocol", ["= 2.0.1"])
|
29
|
+
s.add_runtime_dependency("amqp", ["= 1.6.0"])
|
32
30
|
s.add_runtime_dependency("activesupport", [">= 2.3.4"])
|
33
31
|
s.add_runtime_dependency("eventmachine_httpserver", [">= 0.2.1"])
|
34
32
|
s.add_runtime_dependency("daemons", [">= 1.2.0"])
|
35
|
-
|
36
|
-
s.add_development_dependency("webmock", ["~> 1.21.0"])
|
37
33
|
end
|
data/features/support/env.rb
CHANGED
data/lib/beetle.rb
CHANGED
data/lib/beetle/configuration.rb
CHANGED
@@ -85,6 +85,11 @@ module Beetle
|
|
85
85
|
# consider this a highly experimental feature for now.
|
86
86
|
attr_accessor :publishing_timeout
|
87
87
|
|
88
|
+
# Prefetch count for subscribers (defaults to 1). Setting this higher
|
89
|
+
# than 1 can potentially increase throughput, but comes at the cost of
|
90
|
+
# decreased parallelism.
|
91
|
+
attr_accessor :prefetch_count
|
92
|
+
|
88
93
|
# directory to store large intermediate files (defaults '/tmp')
|
89
94
|
attr_accessor :tmpdir
|
90
95
|
|
@@ -122,6 +127,7 @@ module Beetle
|
|
122
127
|
self.password = "guest"
|
123
128
|
self.api_port = 15672
|
124
129
|
self.frame_max = 131072
|
130
|
+
self.prefetch_count = 1
|
125
131
|
|
126
132
|
self.dead_lettering_enabled = false
|
127
133
|
self.dead_lettering_msg_ttl = 1000 #1 second
|
data/lib/beetle/subscriber.rb
CHANGED
@@ -216,7 +216,7 @@ module Beetle
|
|
216
216
|
def connection_settings
|
217
217
|
{
|
218
218
|
:host => current_host, :port => current_port, :logging => false,
|
219
|
-
:user =>
|
219
|
+
:user => @client.config.user, :pass => @client.config.password, :vhost => @client.config.vhost,
|
220
220
|
:on_tcp_connection_failure => on_tcp_connection_failure
|
221
221
|
}
|
222
222
|
end
|
@@ -252,8 +252,8 @@ module Beetle
|
|
252
252
|
def open_channel_and_subscribe(connection, settings)
|
253
253
|
server = server_from_settings settings
|
254
254
|
AMQP::Channel.new(connection) do |channel|
|
255
|
+
channel.prefetch(@client.config.prefetch_count)
|
255
256
|
channel.auto_recovery = true
|
256
|
-
channel.prefetch(1)
|
257
257
|
set_current_server server
|
258
258
|
@channels[server] = channel
|
259
259
|
create_exchanges(@exchanges_for_queues)
|
data/lib/beetle/version.rb
CHANGED
@@ -2,9 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
|
2
2
|
require 'eventmachine'
|
3
3
|
require 'amqp'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
class AMQPGemBehaviorTest < MiniTest::Unit::TestCase
|
5
|
+
class AMQPGemBehaviorTest < Minitest::Test
|
8
6
|
test "subscribing twice to the same queue raises a RuntimeError which throws us out of the event loop" do
|
9
7
|
begin
|
10
8
|
exception = nil
|
data/test/beetle/base_test.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
|
2
2
|
|
3
3
|
|
4
4
|
module Beetle
|
5
|
-
class BaseTest <
|
5
|
+
class BaseTest < Minitest::Test
|
6
6
|
test "initially we should have no exchanges" do
|
7
7
|
@bs = Base.new(Client.new)
|
8
8
|
assert_equal({}, @bs.instance_variable_get("@exchanges"))
|
@@ -19,7 +19,7 @@ module Beetle
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
class BaseServerManagementTest <
|
22
|
+
class BaseServerManagementTest < Minitest::Test
|
23
23
|
def setup
|
24
24
|
@client = Client.new
|
25
25
|
@bs = Base.new(@client)
|
data/test/beetle/beetle_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
3
|
module Beetle
|
4
|
-
class HostnameTest <
|
4
|
+
class HostnameTest < Minitest::Test
|
5
5
|
test "should use Socket.gethostname if returned name name is fully qualified" do
|
6
6
|
Socket.expects(:gethostname).returns("a.b.com")
|
7
7
|
assert_equal "a.b.com", Beetle.hostname
|
data/test/beetle/client_test.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
|
2
2
|
|
3
3
|
|
4
4
|
module Beetle
|
5
|
-
class ClientDefaultsTest <
|
5
|
+
class ClientDefaultsTest < Minitest::Test
|
6
6
|
def setup
|
7
7
|
@client = Client.new
|
8
8
|
end
|
@@ -32,7 +32,7 @@ module Beetle
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
class RegistrationTest <
|
35
|
+
class RegistrationTest < Minitest::Test
|
36
36
|
def setup
|
37
37
|
@client = Client.new
|
38
38
|
end
|
@@ -203,7 +203,7 @@ module Beetle
|
|
203
203
|
|
204
204
|
end
|
205
205
|
|
206
|
-
class ClientTest <
|
206
|
+
class ClientTest < Minitest::Test
|
207
207
|
test "#reset should stop subscriber and publisher" do
|
208
208
|
client = Client.new
|
209
209
|
client.send(:publisher).expects(:stop)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
3
|
module Beetle
|
4
|
-
class ConfigurationTest <
|
4
|
+
class ConfigurationTest < Minitest::Test
|
5
5
|
test "should load it's settings from a config file if that file exists" do
|
6
6
|
config = Configuration.new
|
7
7
|
old_value = config.gc_threshold
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
3
|
module Beetle
|
4
|
-
class SetDeadLetteringsTest <
|
4
|
+
class SetDeadLetteringsTest < Minitest::Test
|
5
5
|
def setup
|
6
6
|
@dead_lettering = DeadLettering.new(Configuration.new)
|
7
7
|
end
|
@@ -18,7 +18,7 @@ module Beetle
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
class SetDeadLetterPolicyTest <
|
21
|
+
class SetDeadLetterPolicyTest < Minitest::Test
|
22
22
|
def setup
|
23
23
|
@server = "localhost:15672"
|
24
24
|
@queue_name = "QUEUE_NAME"
|
@@ -97,7 +97,7 @@ module Beetle
|
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
|
-
class BindDeadLetterQueuesTest <
|
100
|
+
class BindDeadLetterQueuesTest < Minitest::Test
|
101
101
|
def setup
|
102
102
|
@queue_name = "QUEUE_NAME"
|
103
103
|
@config = Configuration.new
|
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
|
2
2
|
|
3
3
|
module Beetle
|
4
4
|
|
5
|
-
class RedisAssumptionsTest <
|
5
|
+
class RedisAssumptionsTest < Minitest::Test
|
6
6
|
def setup
|
7
7
|
@r = DeduplicationStore.new.redis
|
8
8
|
@r.flushdb
|
@@ -23,7 +23,7 @@ module Beetle
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
class RedisServerStringTest <
|
26
|
+
class RedisServerStringTest < Minitest::Test
|
27
27
|
def setup
|
28
28
|
@original_redis_server = Beetle.config.redis_server
|
29
29
|
@store = DeduplicationStore.new
|
@@ -40,7 +40,7 @@ module Beetle
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
class RedisServerFileTest <
|
43
|
+
class RedisServerFileTest < Minitest::Test
|
44
44
|
def setup
|
45
45
|
@original_redis_server = Beetle.config.redis_server
|
46
46
|
@store = DeduplicationStore.new
|
@@ -81,7 +81,7 @@ module Beetle
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
class RedisFailoverTest <
|
84
|
+
class RedisFailoverTest < Minitest::Test
|
85
85
|
def setup
|
86
86
|
@store = DeduplicationStore.new
|
87
87
|
Beetle.config.expects(:redis_failover_timeout).returns(1)
|
@@ -111,7 +111,7 @@ module Beetle
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
|
-
class GarbageCollectionTest <
|
114
|
+
class GarbageCollectionTest < Minitest::Test
|
115
115
|
def setup
|
116
116
|
@store = DeduplicationStore.new
|
117
117
|
Beetle.config.stubs(:gc_threshold).returns(10)
|
data/test/beetle/handler_test.rb
CHANGED
data/test/beetle/message_test.rb
CHANGED
@@ -3,7 +3,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
|
3
3
|
|
4
4
|
module Beetle
|
5
5
|
|
6
|
-
class EncodingTest <
|
6
|
+
class EncodingTest < Minitest::Test
|
7
7
|
test "an exception during decoding should be stored in the exception attribute" do
|
8
8
|
header = stub_everything("raising header")
|
9
9
|
m = Message.new("queue", header, 'foo')
|
@@ -112,7 +112,7 @@ module Beetle
|
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
115
|
-
class KeyManagementTest <
|
115
|
+
class KeyManagementTest < Minitest::Test
|
116
116
|
def setup
|
117
117
|
@store = DeduplicationStore.new
|
118
118
|
@store.flushdb
|
@@ -207,7 +207,7 @@ module Beetle
|
|
207
207
|
end
|
208
208
|
end
|
209
209
|
|
210
|
-
class AckingTest <
|
210
|
+
class AckingTest < Minitest::Test
|
211
211
|
|
212
212
|
def setup
|
213
213
|
@store = DeduplicationStore.new
|
@@ -281,7 +281,7 @@ module Beetle
|
|
281
281
|
|
282
282
|
end
|
283
283
|
|
284
|
-
class FreshMessageTest <
|
284
|
+
class FreshMessageTest < Minitest::Test
|
285
285
|
def setup
|
286
286
|
@store = DeduplicationStore.new
|
287
287
|
@store.flushdb
|
@@ -316,7 +316,7 @@ module Beetle
|
|
316
316
|
|
317
317
|
end
|
318
318
|
|
319
|
-
class SimpleMessageTest <
|
319
|
+
class SimpleMessageTest < Minitest::Test
|
320
320
|
def setup
|
321
321
|
@store = DeduplicationStore.new
|
322
322
|
@store.flushdb
|
@@ -350,7 +350,7 @@ module Beetle
|
|
350
350
|
|
351
351
|
end
|
352
352
|
|
353
|
-
class HandlerCrashTest <
|
353
|
+
class HandlerCrashTest < Minitest::Test
|
354
354
|
def setup
|
355
355
|
@store = DeduplicationStore.new
|
356
356
|
@store.flushdb
|
@@ -423,7 +423,7 @@ module Beetle
|
|
423
423
|
|
424
424
|
end
|
425
425
|
|
426
|
-
class SeenMessageTest <
|
426
|
+
class SeenMessageTest < Minitest::Test
|
427
427
|
def setup
|
428
428
|
@store = DeduplicationStore.new
|
429
429
|
@store.flushdb
|
@@ -569,7 +569,7 @@ module Beetle
|
|
569
569
|
|
570
570
|
end
|
571
571
|
|
572
|
-
class ProcessingTest <
|
572
|
+
class ProcessingTest < Minitest::Test
|
573
573
|
def setup
|
574
574
|
@store = DeduplicationStore.new
|
575
575
|
@store.flushdb
|
@@ -637,7 +637,7 @@ module Beetle
|
|
637
637
|
|
638
638
|
end
|
639
639
|
|
640
|
-
class HandlerTimeoutTest <
|
640
|
+
class HandlerTimeoutTest < Minitest::Test
|
641
641
|
def setup
|
642
642
|
@store = DeduplicationStore.new
|
643
643
|
@store.flushdb
|
@@ -665,7 +665,7 @@ module Beetle
|
|
665
665
|
|
666
666
|
end
|
667
667
|
|
668
|
-
class MySQLFailoverTest <
|
668
|
+
class MySQLFailoverTest < Minitest::Test
|
669
669
|
require "active_record"
|
670
670
|
|
671
671
|
def setup
|
@@ -706,7 +706,7 @@ module Beetle
|
|
706
706
|
end
|
707
707
|
end
|
708
708
|
|
709
|
-
class SettingsTest <
|
709
|
+
class SettingsTest < Minitest::Test
|
710
710
|
def setup
|
711
711
|
@store = DeduplicationStore.new
|
712
712
|
@store.flushdb
|
@@ -859,7 +859,7 @@ module Beetle
|
|
859
859
|
end
|
860
860
|
|
861
861
|
|
862
|
-
class RoutingKeyTest <
|
862
|
+
class RoutingKeyTest < Minitest::Test
|
863
863
|
test "returns the routing key" do
|
864
864
|
header = header_with_params({})
|
865
865
|
header.stubs(:routing_key).returns("foo")
|
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
|
2
2
|
|
3
3
|
|
4
4
|
module Beetle
|
5
|
-
class PublisherTest <
|
5
|
+
class PublisherTest < Minitest::Test
|
6
6
|
def setup
|
7
7
|
client = Client.new
|
8
8
|
@pub = Publisher.new(client)
|
@@ -51,7 +51,7 @@ module Beetle
|
|
51
51
|
|
52
52
|
end
|
53
53
|
|
54
|
-
class PublisherPublishingTest <
|
54
|
+
class PublisherPublishingTest < Minitest::Test
|
55
55
|
def setup
|
56
56
|
@client = Client.new
|
57
57
|
@pub = Publisher.new(@client)
|
@@ -248,7 +248,7 @@ module Beetle
|
|
248
248
|
|
249
249
|
end
|
250
250
|
|
251
|
-
class PublisherQueueManagementTest <
|
251
|
+
class PublisherQueueManagementTest < Minitest::Test
|
252
252
|
def setup
|
253
253
|
@client = Client.new
|
254
254
|
@pub = Publisher.new(@client)
|
@@ -314,7 +314,7 @@ module Beetle
|
|
314
314
|
end
|
315
315
|
end
|
316
316
|
|
317
|
-
class PublisherExchangeManagementTest <
|
317
|
+
class PublisherExchangeManagementTest < Minitest::Test
|
318
318
|
def setup
|
319
319
|
@client = Client.new
|
320
320
|
@pub = Publisher.new(@client)
|
@@ -336,7 +336,7 @@ module Beetle
|
|
336
336
|
end
|
337
337
|
end
|
338
338
|
|
339
|
-
class PublisherServerManagementTest <
|
339
|
+
class PublisherServerManagementTest < Minitest::Test
|
340
340
|
def setup
|
341
341
|
@client = Client.new
|
342
342
|
@pub = Publisher.new(@client)
|
@@ -413,7 +413,7 @@ module Beetle
|
|
413
413
|
end
|
414
414
|
|
415
415
|
|
416
|
-
class RPCTest <
|
416
|
+
class RPCTest < Minitest::Test
|
417
417
|
def setup
|
418
418
|
@client = Client.new
|
419
419
|
@pub = Publisher.new(@client)
|
data/test/beetle/r_c_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
3
|
module Beetle
|
4
|
-
class ReturnCodesTest <
|
4
|
+
class ReturnCodesTest < Minitest::Test
|
5
5
|
test "inspecting a return code should display the name of the returncode" do
|
6
6
|
assert_equal "Beetle::RC::OK", Beetle::RC::OK.inspect
|
7
7
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
3
|
module Beetle
|
4
|
-
class RedisConfigurationClientTest <
|
4
|
+
class RedisConfigurationClientTest < Minitest::Test
|
5
5
|
def setup
|
6
6
|
Beetle.config.redis_servers = "redis:0,redis:1"
|
7
7
|
@client = RedisConfigurationClient.new
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
3
|
module Beetle
|
4
|
-
class RedisConfigurationServerTest <
|
4
|
+
class RedisConfigurationServerTest < Minitest::Test
|
5
5
|
def setup
|
6
6
|
Beetle.config.redis_configuration_client_ids = "rc-client-1,rc-client-2"
|
7
7
|
@server = RedisConfigurationServer.new
|
@@ -113,7 +113,7 @@ module Beetle
|
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
|
-
class RedisConfigurationServerInvalidationTest <
|
116
|
+
class RedisConfigurationServerInvalidationTest < Minitest::Test
|
117
117
|
def setup
|
118
118
|
Beetle.config.redis_configuration_client_ids = "rc-client-1,rc-client-2"
|
119
119
|
Beetle.config.redis_servers = "redis:0,redis:1"
|
@@ -201,7 +201,7 @@ module Beetle
|
|
201
201
|
end
|
202
202
|
end
|
203
203
|
|
204
|
-
class RedisConfigurationServerInitialRedisMasterDeterminationTest <
|
204
|
+
class RedisConfigurationServerInitialRedisMasterDeterminationTest < Minitest::Test
|
205
205
|
def setup
|
206
206
|
EM::Timer.stubs(:new).returns(true)
|
207
207
|
EventMachine.stubs(:add_periodic_timer).yields
|
@@ -329,7 +329,7 @@ module Beetle
|
|
329
329
|
end
|
330
330
|
end
|
331
331
|
|
332
|
-
class RedisConfigurationServerSystemNotificationTest <
|
332
|
+
class RedisConfigurationServerSystemNotificationTest < Minitest::Test
|
333
333
|
def setup
|
334
334
|
Beetle.config.redis_configuration_client_ids = "rc-client-1,rc-client-2"
|
335
335
|
@server = RedisConfigurationServer.new
|
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
|
2
2
|
|
3
3
|
module Beetle
|
4
4
|
|
5
|
-
class NonExistentRedisTest <
|
5
|
+
class NonExistentRedisTest < Minitest::Test
|
6
6
|
def setup
|
7
7
|
@r = Redis.new(:host => "localhost", :port => 6390)
|
8
8
|
end
|
@@ -33,7 +33,7 @@ module Beetle
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
class AddedRedisMethodsTest <
|
36
|
+
class AddedRedisMethodsTest < Minitest::Test
|
37
37
|
def setup
|
38
38
|
@r = Redis.new(:host => "localhost", :port => 6390)
|
39
39
|
end
|
@@ -55,13 +55,13 @@ module Beetle
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
-
class HiredisLoadedTest <
|
58
|
+
class HiredisLoadedTest < Minitest::Test
|
59
59
|
test "should be using hiredis instead of the redis ruby backend" do
|
60
60
|
assert defined?(Hiredis)
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
class RedisShutdownTest <
|
64
|
+
class RedisShutdownTest < Minitest::Test
|
65
65
|
def setup
|
66
66
|
@r = Redis.new(:host => "localhost", :port => 6390)
|
67
67
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
3
|
module Beetle
|
4
|
-
class SubscriberTest <
|
4
|
+
class SubscriberTest < Minitest::Test
|
5
5
|
def setup
|
6
6
|
client = Client.new
|
7
7
|
@sub = client.send(:subscriber)
|
@@ -50,7 +50,7 @@ module Beetle
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
class SubscriberPauseAndResumeTest <
|
53
|
+
class SubscriberPauseAndResumeTest < Minitest::Test
|
54
54
|
def setup
|
55
55
|
@client = Client.new
|
56
56
|
@sub = @client.send(:subscriber)
|
@@ -119,7 +119,7 @@ module Beetle
|
|
119
119
|
|
120
120
|
end
|
121
121
|
|
122
|
-
class AdditionalSubscriptionServersTest <
|
122
|
+
class AdditionalSubscriptionServersTest < Minitest::Test
|
123
123
|
def setup
|
124
124
|
@config = Configuration.new
|
125
125
|
@config.additional_subscription_servers = "localhost:1234"
|
@@ -132,7 +132,7 @@ module Beetle
|
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
135
|
-
class SubscriberQueueManagementTest <
|
135
|
+
class SubscriberQueueManagementTest < Minitest::Test
|
136
136
|
def setup
|
137
137
|
@client = Client.new
|
138
138
|
@sub = @client.send(:subscriber)
|
@@ -189,7 +189,7 @@ module Beetle
|
|
189
189
|
|
190
190
|
end
|
191
191
|
|
192
|
-
class SubscriberExchangeManagementTest <
|
192
|
+
class SubscriberExchangeManagementTest < Minitest::Test
|
193
193
|
def setup
|
194
194
|
@client = Client.new
|
195
195
|
@sub = @client.send(:subscriber)
|
@@ -222,7 +222,7 @@ module Beetle
|
|
222
222
|
end
|
223
223
|
|
224
224
|
|
225
|
-
class DeadLetteringCallBackExecutionTest <
|
225
|
+
class DeadLetteringCallBackExecutionTest < Minitest::Test
|
226
226
|
def setup
|
227
227
|
@client = Client.new
|
228
228
|
@client.config.dead_lettering_enabled = true
|
@@ -255,7 +255,7 @@ module Beetle
|
|
255
255
|
|
256
256
|
end
|
257
257
|
|
258
|
-
class CallBackExecutionTest <
|
258
|
+
class CallBackExecutionTest < Minitest::Test
|
259
259
|
def setup
|
260
260
|
client = Client.new
|
261
261
|
@queue = "somequeue"
|
@@ -332,7 +332,7 @@ module Beetle
|
|
332
332
|
|
333
333
|
end
|
334
334
|
|
335
|
-
class SubscriptionTest <
|
335
|
+
class SubscriptionTest < Minitest::Test
|
336
336
|
def setup
|
337
337
|
@client = Client.new
|
338
338
|
@sub = @client.send(:subscriber)
|
@@ -386,7 +386,7 @@ module Beetle
|
|
386
386
|
end
|
387
387
|
end
|
388
388
|
|
389
|
-
class HandlersTest <
|
389
|
+
class HandlersTest < Minitest::Test
|
390
390
|
def setup
|
391
391
|
@client = Client.new
|
392
392
|
@sub = @client.send(:subscriber)
|
@@ -406,7 +406,7 @@ module Beetle
|
|
406
406
|
|
407
407
|
end
|
408
408
|
|
409
|
-
class ConnectionTest <
|
409
|
+
class ConnectionTest < Minitest::Test
|
410
410
|
def setup
|
411
411
|
@client = Client.new
|
412
412
|
@sub = @client.send(:subscriber)
|
@@ -454,7 +454,7 @@ module Beetle
|
|
454
454
|
test "channel opening, exchange creation, queue bindings and subscription" do
|
455
455
|
connection = mock("connection")
|
456
456
|
channel = mock("channel")
|
457
|
-
channel.expects(:prefetch).with(
|
457
|
+
channel.expects(:prefetch).with(@client.config.prefetch_count)
|
458
458
|
channel.expects(:auto_recovery=).with(true)
|
459
459
|
AMQP::Channel.expects(:new).with(connection).yields(channel)
|
460
460
|
@sub.expects(:create_exchanges)
|
data/test/test_helper.rb
CHANGED
@@ -13,7 +13,7 @@ require 'mocha/setup'
|
|
13
13
|
require File.expand_path(File.dirname(__FILE__) + '/../lib/beetle')
|
14
14
|
require 'eventmachine'
|
15
15
|
|
16
|
-
class
|
16
|
+
class Minitest::Test
|
17
17
|
require "active_support/testing/declarative"
|
18
18
|
extend ActiveSupport::Testing::Declarative
|
19
19
|
require "webmock"
|
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
|
+
version: 1.0.0
|
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: 2016-
|
15
|
+
date: 2016-09-07 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: uuid4r
|
@@ -49,9 +49,6 @@ dependencies:
|
|
49
49
|
- - ">="
|
50
50
|
- !ruby/object:Gem::Version
|
51
51
|
version: 2.2.2
|
52
|
-
- - "<"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '3.2'
|
55
52
|
type: :runtime
|
56
53
|
prerelease: false
|
57
54
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -59,71 +56,48 @@ dependencies:
|
|
59
56
|
- - ">="
|
60
57
|
- !ruby/object:Gem::Version
|
61
58
|
version: 2.2.2
|
62
|
-
- - "<"
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '3.2'
|
65
59
|
- !ruby/object:Gem::Dependency
|
66
60
|
name: hiredis
|
67
61
|
requirement: !ruby/object:Gem::Requirement
|
68
62
|
requirements:
|
69
63
|
- - ">="
|
70
64
|
- !ruby/object:Gem::Version
|
71
|
-
version: 0.
|
72
|
-
- - "<"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '0.6'
|
65
|
+
version: 0.6.1
|
75
66
|
type: :runtime
|
76
67
|
prerelease: false
|
77
68
|
version_requirements: !ruby/object:Gem::Requirement
|
78
69
|
requirements:
|
79
70
|
- - ">="
|
80
71
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.
|
82
|
-
- - "<"
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: '0.6'
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: amq-client
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - '='
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: 1.0.2
|
92
|
-
type: :runtime
|
93
|
-
prerelease: false
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
95
|
-
requirements:
|
96
|
-
- - '='
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: 1.0.2
|
72
|
+
version: 0.6.1
|
99
73
|
- !ruby/object:Gem::Dependency
|
100
74
|
name: amq-protocol
|
101
75
|
requirement: !ruby/object:Gem::Requirement
|
102
76
|
requirements:
|
103
77
|
- - '='
|
104
78
|
- !ruby/object:Gem::Version
|
105
|
-
version:
|
79
|
+
version: 2.0.1
|
106
80
|
type: :runtime
|
107
81
|
prerelease: false
|
108
82
|
version_requirements: !ruby/object:Gem::Requirement
|
109
83
|
requirements:
|
110
84
|
- - '='
|
111
85
|
- !ruby/object:Gem::Version
|
112
|
-
version:
|
86
|
+
version: 2.0.1
|
113
87
|
- !ruby/object:Gem::Dependency
|
114
88
|
name: amqp
|
115
89
|
requirement: !ruby/object:Gem::Requirement
|
116
90
|
requirements:
|
117
91
|
- - '='
|
118
92
|
- !ruby/object:Gem::Version
|
119
|
-
version: 1.0
|
93
|
+
version: 1.6.0
|
120
94
|
type: :runtime
|
121
95
|
prerelease: false
|
122
96
|
version_requirements: !ruby/object:Gem::Requirement
|
123
97
|
requirements:
|
124
98
|
- - '='
|
125
99
|
- !ruby/object:Gem::Version
|
126
|
-
version: 1.0
|
100
|
+
version: 1.6.0
|
127
101
|
- !ruby/object:Gem::Dependency
|
128
102
|
name: activesupport
|
129
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,20 +140,6 @@ dependencies:
|
|
166
140
|
- - ">="
|
167
141
|
- !ruby/object:Gem::Version
|
168
142
|
version: 1.2.0
|
169
|
-
- !ruby/object:Gem::Dependency
|
170
|
-
name: webmock
|
171
|
-
requirement: !ruby/object:Gem::Requirement
|
172
|
-
requirements:
|
173
|
-
- - "~>"
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version: 1.21.0
|
176
|
-
type: :development
|
177
|
-
prerelease: false
|
178
|
-
version_requirements: !ruby/object:Gem::Requirement
|
179
|
-
requirements:
|
180
|
-
- - "~>"
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
version: 1.21.0
|
183
143
|
description: A highly available, reliable messaging infrastructure
|
184
144
|
email: opensource@xing.com
|
185
145
|
executables:
|