ElmerFudd 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4fd0f0a4198957737ee29f192d6c00adc1363d06
4
- data.tar.gz: 1fd5846c089a76a01430f50851b6ee358c77b8c4
3
+ metadata.gz: 75c3d78c67fb6c2aa3feac15e1a1ba3844cba487
4
+ data.tar.gz: 8e663cb8a2ebd052a25341265a545b58defa4edf
5
5
  SHA512:
6
- metadata.gz: b64a5022079b20036c39ac50fb71227c32f9cbf112827f22b4258e6e10d422eb1573a08f59497ffd1299611f6e42c5bf6d2052c4f9ec87e528dfeaeac9f6a05f
7
- data.tar.gz: a12d7755090768a1481ae7b3668f57f6e1b7baa80a563db17584398beb061b91a42111af3975bfc441460f983a12c037d06c284eeb61015d46685f2ab576067c
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
@@ -1,3 +1,3 @@
1
1
  module ElmerFudd
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
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.5
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-02 00:00:00.000000000 Z
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