basquiat 1.1.1 → 1.2.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/.gitignore +3 -0
- data/.metrics +5 -0
- data/.reek +3 -0
- data/.rspec +1 -0
- data/.rubocop.yml +2 -1
- data/.ruby-version +1 -1
- data/Guardfile +5 -4
- data/README.md +10 -8
- data/basquiat.gemspec +10 -8
- data/basquiat_docker.sh +35 -0
- data/docker-compose.yml +5 -1
- data/docker/Dockerfile +2 -3
- data/docker/guard_start.sh +3 -0
- data/lib/basquiat.rb +5 -0
- data/lib/basquiat/adapters/base_adapter.rb +21 -11
- data/lib/basquiat/adapters/base_message.rb +29 -0
- data/lib/basquiat/adapters/rabbitmq/configuration.rb +52 -0
- data/lib/basquiat/adapters/rabbitmq/connection.rb +89 -0
- data/lib/basquiat/adapters/rabbitmq/events.rb +49 -0
- data/lib/basquiat/adapters/rabbitmq/message.rb +33 -0
- data/lib/basquiat/adapters/rabbitmq/requeue_strategies.rb +3 -0
- data/lib/basquiat/adapters/rabbitmq/requeue_strategies/base_strategy.rb +33 -0
- data/lib/basquiat/adapters/rabbitmq/requeue_strategies/basic_acknowledge.rb +12 -0
- data/lib/basquiat/adapters/rabbitmq/requeue_strategies/dead_lettering.rb +58 -0
- data/lib/basquiat/adapters/rabbitmq/requeue_strategies/delayed_delivery.rb +27 -0
- data/lib/basquiat/adapters/rabbitmq/session.rb +47 -0
- data/lib/basquiat/adapters/rabbitmq_adapter.rb +39 -95
- data/lib/basquiat/adapters/test_adapter.rb +4 -3
- data/lib/basquiat/errors.rb +2 -0
- data/lib/basquiat/errors/strategy_not_registered.rb +14 -0
- data/lib/basquiat/errors/subclass_responsibility.rb +9 -0
- data/lib/basquiat/interfaces/base.rb +0 -1
- data/lib/basquiat/support/configuration.rb +4 -4
- data/lib/basquiat/support/hash_refinements.rb +2 -1
- data/lib/basquiat/version.rb +1 -1
- data/spec/lib/adapters/base_adapter_spec.rb +24 -6
- data/spec/lib/adapters/base_message_spec.rb +16 -0
- data/spec/lib/adapters/rabbitmq/configuration_spec.rb +47 -0
- data/spec/lib/adapters/rabbitmq/connection_spec.rb +45 -0
- data/spec/lib/adapters/rabbitmq/events_spec.rb +78 -0
- data/spec/lib/adapters/rabbitmq/message_spec.rb +26 -0
- data/spec/lib/adapters/rabbitmq/requeue_strategies/basic_acknowledge_spec.rb +38 -0
- data/spec/lib/adapters/rabbitmq/requeue_strategies/dead_lettering_spec.rb +102 -0
- data/spec/lib/adapters/rabbitmq_adapter_spec.rb +39 -49
- data/spec/lib/adapters/test_adapter_spec.rb +15 -19
- data/spec/lib/support/configuration_spec.rb +1 -1
- data/spec/lib/support/hash_refinements_spec.rb +8 -2
- data/spec/spec_helper.rb +8 -5
- data/spec/support/rabbitmq_queue_matchers.rb +53 -0
- data/spec/support/shared_examples/basquiat_adapter_shared_examples.rb +9 -20
- metadata +65 -6
- data/.travis.yml +0 -3
- data/docker/basquiat_start.sh +0 -9
@@ -2,78 +2,68 @@ require 'spec_helper'
|
|
2
2
|
require 'basquiat/adapters/rabbitmq_adapter'
|
3
3
|
|
4
4
|
describe Basquiat::Adapters::RabbitMq do
|
5
|
-
subject { Basquiat::Adapters::RabbitMq.new }
|
6
|
-
|
7
|
-
it_behaves_like 'a Basquiat::Adapter'
|
5
|
+
subject(:adapter) { Basquiat::Adapters::RabbitMq.new }
|
8
6
|
|
9
7
|
let(:base_options) do
|
10
|
-
{ servers:
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
before(:each) do
|
15
|
-
subject.adapter_options(base_options)
|
16
|
-
end
|
17
|
-
|
18
|
-
after(:each) do
|
19
|
-
remove_queues_and_exchanges
|
8
|
+
{ servers: [{ host: ENV.fetch('BASQUIAT_RABBITMQ_1_PORT_5672_TCP_ADDR') { 'localhost' },
|
9
|
+
port: ENV.fetch('BASQUIAT_RABBITMQ_1_PORT_5672_TCP_PORT') { 5672 } }],
|
10
|
+
publisher: { persistent: true } }
|
20
11
|
end
|
21
12
|
|
22
|
-
context '
|
23
|
-
|
24
|
-
|
25
|
-
|
13
|
+
context 'RabbitMQ interactions' do
|
14
|
+
before(:each) do
|
15
|
+
adapter.adapter_options(base_options)
|
16
|
+
adapter.reset_connection
|
26
17
|
end
|
27
18
|
|
28
|
-
|
29
|
-
|
30
|
-
failover: { default_timeout: 0.2, max_retries: 1 })
|
31
|
-
expect { subject.connect }.to raise_exception(Bunny::TCPConnectionFailed)
|
19
|
+
after(:each) do
|
20
|
+
remove_queues_and_exchanges
|
32
21
|
end
|
33
22
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
23
|
+
context 'publisher' do
|
24
|
+
it '#publish [enqueue a message]' do
|
25
|
+
expect do
|
26
|
+
adapter.publish('messages.welcome', data: 'A Nice Welcome Message')
|
27
|
+
end.to_not raise_error
|
28
|
+
end
|
38
29
|
end
|
39
|
-
end
|
40
30
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
31
|
+
context 'listener' do
|
32
|
+
it '#subscribe_to some event' do
|
33
|
+
message = ''
|
34
|
+
adapter.subscribe_to('some.event',
|
35
|
+
->(msg) { message << msg[:data].upcase! })
|
36
|
+
adapter.listen(block: false)
|
37
|
+
adapter.publish('some.event', data: 'coisa')
|
38
|
+
sleep 0.7 # Wait for the listening thread
|
46
39
|
|
47
|
-
|
48
|
-
|
49
|
-
expect do
|
50
|
-
subject.publish('messages.welcome', data: 'A Nice Welcome Message')
|
51
|
-
end.to_not raise_error
|
40
|
+
expect(message).to eq('COISA')
|
41
|
+
end
|
52
42
|
end
|
53
|
-
end
|
54
43
|
|
55
|
-
|
56
|
-
it '#subscribe_to some event' do
|
44
|
+
it '#subscribe_to other event with #' do
|
57
45
|
message_received = ''
|
58
|
-
subject.subscribe_to('
|
59
|
-
|
60
|
-
|
61
|
-
|
46
|
+
subject.subscribe_to('other.event.#',
|
47
|
+
lambda do |msg|
|
48
|
+
msg[:data].upcase!
|
49
|
+
message_received = msg
|
50
|
+
end)
|
62
51
|
subject.listen(block: false)
|
63
52
|
|
64
|
-
subject.publish('
|
65
|
-
sleep 0.
|
53
|
+
subject.publish('other.event.extra.info', data: 'some stuff')
|
54
|
+
sleep 0.3 # Wait for the listening thread.
|
66
55
|
|
67
|
-
expect(message_received).to eq(data: '
|
56
|
+
expect(message_received).to eq(data: 'SOME STUFF')
|
68
57
|
end
|
58
|
+
|
69
59
|
end
|
70
60
|
|
71
61
|
def remove_queues_and_exchanges
|
72
|
-
|
73
|
-
|
62
|
+
adapter.session.queue.delete
|
63
|
+
adapter.session.exchange.delete
|
74
64
|
rescue Bunny::TCPConnectionFailed
|
75
65
|
true
|
76
66
|
ensure
|
77
|
-
|
67
|
+
adapter.send(:disconnect)
|
78
68
|
end
|
79
69
|
end
|
@@ -1,59 +1,55 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Basquiat::Adapters::Test do
|
4
|
-
subject { Basquiat::Adapters::Test.new }
|
5
|
-
it_behaves_like 'a Basquiat::Adapter'
|
4
|
+
subject(:adapter) { Basquiat::Adapters::Test.new }
|
6
5
|
|
7
6
|
context 'publisher' do
|
8
7
|
it '#publish [enqueue a message]' do
|
9
8
|
expect do
|
10
|
-
|
11
|
-
end.to change {
|
12
|
-
expect(
|
9
|
+
adapter.publish('messages.welcome', value: 'A Nice Welcome Message')
|
10
|
+
end.to change { adapter.events('messages.welcome').size }.by(1)
|
11
|
+
expect(adapter.events('messages.welcome')[0]).to match(/A Nice Welcome Message/)
|
13
12
|
end
|
14
13
|
end
|
15
14
|
|
16
15
|
context 'listener' do
|
17
16
|
before(:each) do
|
18
|
-
|
17
|
+
adapter.publish('some.event', data: 'some message')
|
19
18
|
end
|
20
19
|
|
21
20
|
it '#subscribe_to some event' do
|
22
|
-
|
23
|
-
expect(
|
21
|
+
adapter.subscribe_to('some.event', ->(msg) { msg.values.map(&:upcase) })
|
22
|
+
expect(adapter.listen).to eq(['SOME MESSAGE'])
|
24
23
|
end
|
25
24
|
|
26
25
|
it '#subscribe_to multiple events' do
|
27
|
-
|
26
|
+
adapter.instance_eval <<-METHCALL
|
28
27
|
subscribe_to('some.event', ->(msg) { publish 'some.other', data: msg.values.first.upcase; msg })
|
29
28
|
METHCALL
|
30
|
-
|
31
|
-
expect(
|
32
|
-
expect(
|
33
|
-
expect(
|
29
|
+
adapter.subscribe_to('some.other', ->(msg) { msg.values.first.downcase })
|
30
|
+
expect(adapter.listen).to eq(data: 'some message')
|
31
|
+
expect(adapter.events('some.other')[0]).to match(/SOME MESSAGE/)
|
32
|
+
expect(adapter.listen).to eq('some message')
|
34
33
|
end
|
35
34
|
end
|
36
35
|
|
37
36
|
describe '#clean' do
|
38
37
|
context 'when no event has been published' do
|
39
|
-
|
40
38
|
it 'should have no event registered' do
|
41
39
|
Basquiat::Adapters::Test.clean
|
42
|
-
|
43
40
|
expect(Basquiat::Adapters::Test.events).to be_empty
|
44
41
|
end
|
45
42
|
end
|
46
43
|
|
47
44
|
context 'when some events have been published' do
|
48
45
|
before do
|
49
|
-
|
50
|
-
|
51
|
-
|
46
|
+
adapter.publish('some.message', value: 'A Nice Welcome Message')
|
47
|
+
adapter.publish('some.message', value: 'A Nasty Welcome Message')
|
48
|
+
adapter.publish('other.message', value: 'A Random Welcome Message')
|
52
49
|
end
|
53
50
|
|
54
51
|
it 'should have no event registered' do
|
55
52
|
Basquiat::Adapters::Test.clean
|
56
|
-
|
57
53
|
expect(Basquiat::Adapters::Test.events).to be_empty
|
58
54
|
end
|
59
55
|
end
|
@@ -58,7 +58,7 @@ describe Basquiat::Configuration do
|
|
58
58
|
|
59
59
|
it 'settings provided on the config file have lower precedence' do
|
60
60
|
config.exchange_name = 'super.nice_exchange'
|
61
|
-
config.config_file
|
61
|
+
config.config_file = File.join(File.dirname(__FILE__), '../../support/basquiat.yml')
|
62
62
|
|
63
63
|
expect(config.exchange_name).to eq('super.nice_exchange')
|
64
64
|
end
|
@@ -8,11 +8,18 @@ describe Basquiat::HashRefinements do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
it '#deep_merge' do
|
11
|
-
hash.deep_merge(
|
11
|
+
hash.deep_merge('hash' => { 'inner_key' => 7, 'other_inner_key' => 10 })
|
12
12
|
expect(hash['hash']).to have_key('other_inner_key')
|
13
13
|
expect(hash['hash']['inner_key']).to eq(7)
|
14
14
|
end
|
15
15
|
|
16
|
+
it '#deep_merge with nested different hashes' do
|
17
|
+
base = { queue: { options: { some: 'value' } } }
|
18
|
+
other = { queue: { options: { another: 'setting' } } }
|
19
|
+
base.deep_merge(other)
|
20
|
+
expect(base[:queue][:options].keys).to contain_exactly(:some, :another)
|
21
|
+
end
|
22
|
+
|
16
23
|
it '#symbolize_keys' do
|
17
24
|
symbol_hash = hash.symbolize_keys
|
18
25
|
expect(symbol_hash).to have_key(:array)
|
@@ -20,5 +27,4 @@ describe Basquiat::HashRefinements do
|
|
20
27
|
expect(symbol_hash).to have_key(:hash)
|
21
28
|
expect(symbol_hash[:hash]).to have_key(:inner_key)
|
22
29
|
end
|
23
|
-
|
24
30
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -6,10 +6,12 @@ SimpleCov.start do
|
|
6
6
|
add_filter { |source| source.lines_of_code <= 3 }
|
7
7
|
add_filter { |source| source.filename =~ /spec/ }
|
8
8
|
|
9
|
-
add_group('Adapters') { |source| source.filename =~ /basquiat
|
10
|
-
add_group('
|
11
|
-
add_group('
|
12
|
-
add_group('
|
9
|
+
add_group('Adapters') { |source| source.filename =~ %r{lib/basquiat/adapters} }
|
10
|
+
add_group('RabbitMQ') { |source| source.filename =~ %r{lib/basquiat/adapters/rabbitmq} }
|
11
|
+
add_group('Errors') { |source| source.filename =~ %r{lib/basquiat/errors} }
|
12
|
+
add_group('Interfaces') { |source| source.filename =~ %r{lib/basquiat/interfaces} }
|
13
|
+
add_group('Main') { |source| source.filename =~ %r{lib/basquiat\.rb$} }
|
14
|
+
add_group('Support') { |source| source.filename =~ %r{lib/basquiat/support} }
|
13
15
|
end
|
14
16
|
|
15
17
|
ENV['BASQUIAT_ENV'] = 'test'
|
@@ -17,6 +19,7 @@ require 'basquiat'
|
|
17
19
|
|
18
20
|
Basquiat.configure do |config|
|
19
21
|
config.config_file = File.expand_path('../support/basquiat.yml', __FILE__)
|
22
|
+
config.logger = Logger.new('log/basquiat_test.log')
|
20
23
|
end
|
21
|
-
|
22
24
|
require 'support/shared_examples/basquiat_adapter_shared_examples'
|
25
|
+
require 'support/rabbitmq_queue_matchers'
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class QueueStats
|
2
|
+
def initialize(queue)
|
3
|
+
@queue = queue
|
4
|
+
host = ENV.fetch('BASQUIAT_RABBITMQ_1_PORT_25672_TCP_ADDR', 'localhost')
|
5
|
+
port = ENV.fetch('BASQUIAT_RABBITMQ_1_PORT_15672_TCP_PORT', 15_672)
|
6
|
+
@uri = "http://guest:guest@#{host}:#{port}/api/queues/%2F/#{@queue}"
|
7
|
+
end
|
8
|
+
|
9
|
+
def unacked_messages
|
10
|
+
queue_status.fetch(:messages_unacknowledged)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def queue_status
|
16
|
+
@message ||= MultiJson.load(fetch, symbolize_keys: true)
|
17
|
+
end
|
18
|
+
|
19
|
+
def fetch
|
20
|
+
`curl -sXGET -H 'Accepts: application/json' #{@uri}`
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
RSpec::Matchers.define :have_n_unacked_messages do |expected| # number of unacked messages
|
25
|
+
match do |queue| # queue
|
26
|
+
expected == QueueStats.new(queue.name).unacked_messages
|
27
|
+
end
|
28
|
+
|
29
|
+
failure_message do |queue|
|
30
|
+
"expected #{expected} unacked messages but got #{QueueStats.new(queue.name).unacked_messages}"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
RSpec::Matchers.define :have_unacked_messages do
|
35
|
+
match do |queue|
|
36
|
+
QueueStats.new(queue.name).unacked_messages > 0
|
37
|
+
end
|
38
|
+
|
39
|
+
failure_message_when_negated do |queue|
|
40
|
+
"expected #{queue.name} to have 0 unacked messages but got #{QueueStats.new(queue.name).unacked_messages}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# convenience method
|
45
|
+
def remove_queues_and_exchanges(adapter)
|
46
|
+
# Ugly as hell. Probably transform into a proper method in session
|
47
|
+
adapter.session.channel.queues.each_pair { |_, queue| queue.delete }
|
48
|
+
adapter.session.channel.exchanges.each_pair { |_, ex| ex.delete }
|
49
|
+
rescue Bunny::TCPConnectionFailed
|
50
|
+
true
|
51
|
+
ensure
|
52
|
+
adapter.reset_connection
|
53
|
+
end
|
@@ -1,23 +1,12 @@
|
|
1
1
|
shared_examples_for 'a Basquiat::Adapter' do
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
expect(subject).to respond_to(:default_options)
|
12
|
-
end
|
13
|
-
|
14
|
-
it '#subscribe_to' do
|
15
|
-
expect(subject).to respond_to(:subscribe_to)
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'merges the options with the default ones' do
|
19
|
-
opts = subject.instance_variable_get(:@options)
|
20
|
-
subject.adapter_options(nice_option: '127.0.0.2')
|
21
|
-
expect(opts[:nice_option]).to eq('127.0.0.2')
|
2
|
+
[:adapter_options,
|
3
|
+
:base_options,
|
4
|
+
:default_options,
|
5
|
+
:publish,
|
6
|
+
:subscribe_to,
|
7
|
+
:disconnect].each do |meth|
|
8
|
+
it "#{meth}" do
|
9
|
+
expect(adapter).to respond_to(:meth)
|
10
|
+
end
|
22
11
|
end
|
23
12
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: basquiat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcello "mereghost" Rocha
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -192,6 +192,34 @@ dependencies:
|
|
192
192
|
- - ">="
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: byebug
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: pry-byebug
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
195
223
|
- !ruby/object:Gem::Dependency
|
196
224
|
name: multi_json
|
197
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -230,25 +258,40 @@ extra_rdoc_files: []
|
|
230
258
|
files:
|
231
259
|
- ".gitignore"
|
232
260
|
- ".metrics"
|
261
|
+
- ".reek"
|
233
262
|
- ".rspec"
|
234
263
|
- ".rubocop.yml"
|
235
264
|
- ".ruby-gemset"
|
236
265
|
- ".ruby-version"
|
237
|
-
- ".travis.yml"
|
238
266
|
- Gemfile
|
239
267
|
- Guardfile
|
240
268
|
- LICENSE.txt
|
241
269
|
- README.md
|
242
270
|
- Rakefile
|
243
271
|
- basquiat.gemspec
|
272
|
+
- basquiat_docker.sh
|
244
273
|
- docker-compose.yml
|
245
274
|
- docker/Dockerfile
|
246
|
-
- docker/
|
275
|
+
- docker/guard_start.sh
|
247
276
|
- lib/basquiat.rb
|
248
277
|
- lib/basquiat/adapters.rb
|
249
278
|
- lib/basquiat/adapters/base_adapter.rb
|
279
|
+
- lib/basquiat/adapters/base_message.rb
|
280
|
+
- lib/basquiat/adapters/rabbitmq/configuration.rb
|
281
|
+
- lib/basquiat/adapters/rabbitmq/connection.rb
|
282
|
+
- lib/basquiat/adapters/rabbitmq/events.rb
|
283
|
+
- lib/basquiat/adapters/rabbitmq/message.rb
|
284
|
+
- lib/basquiat/adapters/rabbitmq/requeue_strategies.rb
|
285
|
+
- lib/basquiat/adapters/rabbitmq/requeue_strategies/base_strategy.rb
|
286
|
+
- lib/basquiat/adapters/rabbitmq/requeue_strategies/basic_acknowledge.rb
|
287
|
+
- lib/basquiat/adapters/rabbitmq/requeue_strategies/dead_lettering.rb
|
288
|
+
- lib/basquiat/adapters/rabbitmq/requeue_strategies/delayed_delivery.rb
|
289
|
+
- lib/basquiat/adapters/rabbitmq/session.rb
|
250
290
|
- lib/basquiat/adapters/rabbitmq_adapter.rb
|
251
291
|
- lib/basquiat/adapters/test_adapter.rb
|
292
|
+
- lib/basquiat/errors.rb
|
293
|
+
- lib/basquiat/errors/strategy_not_registered.rb
|
294
|
+
- lib/basquiat/errors/subclass_responsibility.rb
|
252
295
|
- lib/basquiat/interfaces/base.rb
|
253
296
|
- lib/basquiat/rails/railtie.rb
|
254
297
|
- lib/basquiat/support.rb
|
@@ -257,6 +300,13 @@ files:
|
|
257
300
|
- lib/basquiat/support/json.rb
|
258
301
|
- lib/basquiat/version.rb
|
259
302
|
- spec/lib/adapters/base_adapter_spec.rb
|
303
|
+
- spec/lib/adapters/base_message_spec.rb
|
304
|
+
- spec/lib/adapters/rabbitmq/configuration_spec.rb
|
305
|
+
- spec/lib/adapters/rabbitmq/connection_spec.rb
|
306
|
+
- spec/lib/adapters/rabbitmq/events_spec.rb
|
307
|
+
- spec/lib/adapters/rabbitmq/message_spec.rb
|
308
|
+
- spec/lib/adapters/rabbitmq/requeue_strategies/basic_acknowledge_spec.rb
|
309
|
+
- spec/lib/adapters/rabbitmq/requeue_strategies/dead_lettering_spec.rb
|
260
310
|
- spec/lib/adapters/rabbitmq_adapter_spec.rb
|
261
311
|
- spec/lib/adapters/test_adapter_spec.rb
|
262
312
|
- spec/lib/basquiat_spec.rb
|
@@ -266,8 +316,9 @@ files:
|
|
266
316
|
- spec/lib/support/json_spec.rb
|
267
317
|
- spec/spec_helper.rb
|
268
318
|
- spec/support/basquiat.yml
|
319
|
+
- spec/support/rabbitmq_queue_matchers.rb
|
269
320
|
- spec/support/shared_examples/basquiat_adapter_shared_examples.rb
|
270
|
-
homepage: http://
|
321
|
+
homepage: http://github.com/VAGAScom/basquiat
|
271
322
|
licenses:
|
272
323
|
- MIT
|
273
324
|
metadata: {}
|
@@ -287,12 +338,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
287
338
|
version: '0'
|
288
339
|
requirements: []
|
289
340
|
rubyforge_project:
|
290
|
-
rubygems_version: 2.4.
|
341
|
+
rubygems_version: 2.4.8
|
291
342
|
signing_key:
|
292
343
|
specification_version: 4
|
293
344
|
summary: A pluggable library that aims to hide message queue complexity
|
294
345
|
test_files:
|
295
346
|
- spec/lib/adapters/base_adapter_spec.rb
|
347
|
+
- spec/lib/adapters/base_message_spec.rb
|
348
|
+
- spec/lib/adapters/rabbitmq/configuration_spec.rb
|
349
|
+
- spec/lib/adapters/rabbitmq/connection_spec.rb
|
350
|
+
- spec/lib/adapters/rabbitmq/events_spec.rb
|
351
|
+
- spec/lib/adapters/rabbitmq/message_spec.rb
|
352
|
+
- spec/lib/adapters/rabbitmq/requeue_strategies/basic_acknowledge_spec.rb
|
353
|
+
- spec/lib/adapters/rabbitmq/requeue_strategies/dead_lettering_spec.rb
|
296
354
|
- spec/lib/adapters/rabbitmq_adapter_spec.rb
|
297
355
|
- spec/lib/adapters/test_adapter_spec.rb
|
298
356
|
- spec/lib/basquiat_spec.rb
|
@@ -302,4 +360,5 @@ test_files:
|
|
302
360
|
- spec/lib/support/json_spec.rb
|
303
361
|
- spec/spec_helper.rb
|
304
362
|
- spec/support/basquiat.yml
|
363
|
+
- spec/support/rabbitmq_queue_matchers.rb
|
305
364
|
- spec/support/shared_examples/basquiat_adapter_shared_examples.rb
|