ElmerFudd 0.0.6 → 0.0.8
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/lib/ElmerFudd/rspec.rb +40 -0
- data/lib/ElmerFudd/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80f2b057fa64edb8d27708145a4b151981690d09
|
4
|
+
data.tar.gz: 635f9057a19bcf0a3ef9e0c047c5adf57f585a3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87eee20ecbba4b850704a6d3cc32a37a5f4da670ed788d58731a4f287c720f1257bdba616bd7d2779f6aec50f08d9792c5e57b06d12dfc5dcf3b14963f80c349
|
7
|
+
data.tar.gz: b1526ae41596bed6bda730d63d323e092100601c9acd750a337cd8f18fe3fe8d0241e084d405594ffcf7088c730066e019a0b5d22e7ab45d73c991f6551741d3
|
data/lib/ElmerFudd/rspec.rb
CHANGED
@@ -72,3 +72,43 @@ RSpec::Matchers.define :have_received_cast_on do |queue_name|
|
|
72
72
|
"receive a message on '#{queue_name}'"
|
73
73
|
end
|
74
74
|
end
|
75
|
+
|
76
|
+
RSpec::Matchers.define :have_received_notification_on do |exchange_name, options|
|
77
|
+
routing_key = options.fetch(:routing_key)
|
78
|
+
|
79
|
+
match do |rabbit|
|
80
|
+
queue(rabbit).size == (@count || 1)
|
81
|
+
end
|
82
|
+
|
83
|
+
chain :with_payload do |payload|
|
84
|
+
@payload = payload
|
85
|
+
end
|
86
|
+
|
87
|
+
chain :times do |times|
|
88
|
+
@count = times
|
89
|
+
end
|
90
|
+
|
91
|
+
define_method :queue do |server|
|
92
|
+
queue = server.instance_eval { @notifications }[exchange_name][routing_key]
|
93
|
+
if @payload
|
94
|
+
queue = queue.select { |payload| payload == @payload }
|
95
|
+
end
|
96
|
+
queue
|
97
|
+
end
|
98
|
+
|
99
|
+
failure_message_for_should do |rabbit|
|
100
|
+
if @count
|
101
|
+
"expected a message on '#{exchange_name}' with routing key '#{routing_key}' #{@count} times, but received #{queue(rabbit).size} times"
|
102
|
+
else
|
103
|
+
"expected a message on '#{exchange_name}' with routing key '#{routing_key}' 1 time, but received #{queue(rabbit).size} times"
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
failure_message_for_should_not do |rabbit|
|
108
|
+
"expected no message on '#{queue_name}', but receved at least one"
|
109
|
+
end
|
110
|
+
|
111
|
+
description do
|
112
|
+
"receive a message on '#{queue_name}'"
|
113
|
+
end
|
114
|
+
end
|
data/lib/ElmerFudd/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrzej Sliwa
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-06-
|
12
|
+
date: 2014-06-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bunny
|