ElmerFudd 0.0.5 → 0.0.6
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/ElmerFudd.gemspec +2 -2
- data/lib/ElmerFudd/rspec.rb +74 -0
- data/lib/ElmerFudd/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75c3d78c67fb6c2aa3feac15e1a1ba3844cba487
|
4
|
+
data.tar.gz: 8e663cb8a2ebd052a25341265a545b58defa4edf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ae4f19d80ed9eaaa4917ae6ecbfd503abe9dae727ac2e83b1973cce1935070804b549ec1040c49021c1a4494d647df24a8b8985582a364a9607a320d9124986
|
7
|
+
data.tar.gz: 6ab24ac75141721591974e97dc31f094b49f4826545138c351d2dfe22c30fe6d7b6484dce8f9b441add2d88cd16c4449caaf33c47fc697be2daf2f0c4a1860b4
|
data/ElmerFudd.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'ElmerFudd/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "ElmerFudd"
|
8
8
|
spec.version = ElmerFudd::VERSION
|
9
|
-
spec.authors = ["Andrzej Sliwa"]
|
10
|
-
spec.email = ["andrzej.sliwa@i-tool.eu"]
|
9
|
+
spec.authors = ["Andrzej Sliwa", "Artur Roszczyk"]
|
10
|
+
spec.email = ["andrzej.sliwa@i-tool.eu", "artur.roszczyk@gmail.com"]
|
11
11
|
spec.summary = %q{RabbitMQ in OTP way}
|
12
12
|
spec.description = %q{Be vewwy, vewwy quiet...I'm hunting wabbits!}
|
13
13
|
spec.homepage = "https://github.com/bonusboxme/ElmerFudd"
|
@@ -0,0 +1,74 @@
|
|
1
|
+
class ElmerFudd::FakeProducer
|
2
|
+
def initialize(_connection = :no_connection)
|
3
|
+
@casts = Hash.new do |hash, queue_name|
|
4
|
+
hash[queue_name] = []
|
5
|
+
end
|
6
|
+
|
7
|
+
@notifications = Hash.new do |hash, exchange|
|
8
|
+
hash[exchange] = Hash.new do |hash, event_name|
|
9
|
+
hash[event_name] = []
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def call(queue_name, payload, timeout: 10)
|
15
|
+
# not implemented, behaving like other side does not respond
|
16
|
+
raise Timeout::Error
|
17
|
+
end
|
18
|
+
|
19
|
+
def cast(queue_name, payload)
|
20
|
+
@casts[queue_name] << payload
|
21
|
+
end
|
22
|
+
|
23
|
+
def notify(exchange, event_name, payload)
|
24
|
+
@notifications[exchange][event_name] << payload
|
25
|
+
end
|
26
|
+
|
27
|
+
def clear!
|
28
|
+
initialize(nil)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
RSpec.configure do |config|
|
33
|
+
config.before(:each) do
|
34
|
+
ObjectSpace.each_object(ElmerFudd::FakeProducer, &:clear!)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
RSpec::Matchers.define :have_received_cast_on do |queue_name|
|
39
|
+
match do |rabbit|
|
40
|
+
queue(rabbit).size == (@count || 1)
|
41
|
+
end
|
42
|
+
|
43
|
+
chain :with_payload do |payload|
|
44
|
+
@payload = payload
|
45
|
+
end
|
46
|
+
|
47
|
+
chain :times do |times|
|
48
|
+
@count = times
|
49
|
+
end
|
50
|
+
|
51
|
+
define_method :queue do |server|
|
52
|
+
queue = server.instance_eval { @casts }[queue_name]
|
53
|
+
if @payload
|
54
|
+
queue = queue.select { |payload| payload == @payload }
|
55
|
+
end
|
56
|
+
queue
|
57
|
+
end
|
58
|
+
|
59
|
+
failure_message_for_should do |rabbit|
|
60
|
+
if @count
|
61
|
+
"expected a message on '#{queue_name}' #{@count} times, but received #{queue(rabbit).size} times"
|
62
|
+
else
|
63
|
+
"expected a message on '#{queue_name}' 1 time, but received #{queue(rabbit).size} times"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
failure_message_for_should_not do |rabbit|
|
68
|
+
"expected no message on '#{queue_name}', but receved at least one"
|
69
|
+
end
|
70
|
+
|
71
|
+
description do
|
72
|
+
"receive a message on '#{queue_name}'"
|
73
|
+
end
|
74
|
+
end
|
data/lib/ElmerFudd/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ElmerFudd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrzej Sliwa
|
8
|
+
- Artur Roszczyk
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
12
|
+
date: 2014-06-17 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bunny
|
@@ -69,6 +70,7 @@ dependencies:
|
|
69
70
|
description: Be vewwy, vewwy quiet...I'm hunting wabbits!
|
70
71
|
email:
|
71
72
|
- andrzej.sliwa@i-tool.eu
|
73
|
+
- artur.roszczyk@gmail.com
|
72
74
|
executables: []
|
73
75
|
extensions: []
|
74
76
|
extra_rdoc_files: []
|
@@ -84,6 +86,7 @@ files:
|
|
84
86
|
- Rakefile
|
85
87
|
- elmer-fudd.jpg
|
86
88
|
- lib/ElmerFudd.rb
|
89
|
+
- lib/ElmerFudd/rspec.rb
|
87
90
|
- lib/ElmerFudd/version.rb
|
88
91
|
- spec/spec_helper.rb
|
89
92
|
homepage: https://github.com/bonusboxme/ElmerFudd
|