beetle 0.4.12 → 1.0.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.
- 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:
|