freddy-jruby 0.4.3

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.
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Logging' do
4
+ let(:freddy1) { Freddy.build(logger1, config) }
5
+ let(:freddy2) { Freddy.build(logger2, config) }
6
+
7
+ let(:logger1) { spy('logger1') }
8
+ let(:logger2) { spy('logger2') }
9
+
10
+ let(:destination) { random_destination }
11
+ let(:payload) { {pay: 'load'} }
12
+
13
+ after { [freddy1, freddy2].each(&:close) }
14
+
15
+ before do
16
+ freddy1.respond_to destination do |payload, msg_handler|
17
+ msg_handler.success
18
+ end
19
+
20
+ freddy2.deliver_with_response(destination, payload) { }
21
+ default_sleep
22
+ end
23
+
24
+ it 'logs all consumed messages' do
25
+ expect(logger1).to have_received(:info).with(/Listening for requests on \S+/)
26
+ expect(logger1).to have_received(:debug).with(/Consuming messages on \S+/)
27
+ expect(logger1).to have_received(:debug).with(/Received message on \S+ with payload {:pay=>"load"}/)
28
+ end
29
+
30
+ it 'logs all produced messages' do
31
+ expect(logger2).to have_received(:debug).with(/Consuming messages on \S+/)
32
+ expect(logger2).to have_received(:debug).with(/Publishing request to \S+, waiting for response on amq.gen-\S+ with correlation_id .*/)
33
+ expect(logger2).to have_received(:debug).with(/Producing message {:pay=>"load"} to \S+/)
34
+ end
35
+ end
@@ -0,0 +1,40 @@
1
+ require 'pry'
2
+ require 'securerandom'
3
+ require 'freddy'
4
+ require 'logger'
5
+
6
+ Thread.abort_on_exception = true
7
+
8
+ RSpec.configure do |config|
9
+ config.run_all_when_everything_filtered = true
10
+ config.filter_run :focus
11
+ config.order = 'random'
12
+ end
13
+
14
+ def random_destination
15
+ SecureRandom.hex
16
+ end
17
+
18
+ def default_sleep
19
+ sleep 0.05
20
+ end
21
+
22
+ def wait_for(&block)
23
+ 100.times do
24
+ return if block.call
25
+ sleep 0.005
26
+ end
27
+ end
28
+
29
+ def deliver(custom_destination = destination)
30
+ freddy.deliver custom_destination, payload
31
+ default_sleep
32
+ end
33
+
34
+ def logger
35
+ Logger.new(STDOUT).tap { |l| l.level = Logger::ERROR }
36
+ end
37
+
38
+ def config
39
+ {host: 'localhost', port: 5672, user: 'guest', pass: 'guest'}
40
+ end
metadata ADDED
@@ -0,0 +1,168 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: freddy-jruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.3
5
+ platform: ruby
6
+ authors:
7
+ - Urmas Talimaa
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-11-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0'
19
+ name: bundler
20
+ prerelease: false
21
+ type: :development
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ name: rake
34
+ prerelease: false
35
+ type: :development
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 2.12.0
47
+ name: march_hare
48
+ prerelease: false
49
+ type: :runtime
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.12.0
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ name: symbolizer
62
+ prerelease: false
63
+ type: :runtime
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 1.0.1.pre.rc3
75
+ name: hamster
76
+ prerelease: false
77
+ type: :runtime
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.0.1.pre.rc3
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.2'
89
+ name: thread
90
+ prerelease: false
91
+ type: :runtime
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.2'
97
+ description: Messaging API
98
+ email:
99
+ - urmas.talimaa@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".npmignore"
106
+ - ".rspec"
107
+ - ".ruby-gemset"
108
+ - ".ruby-version"
109
+ - ".travis.yml"
110
+ - Gemfile
111
+ - LICENCE.txt
112
+ - README.md
113
+ - Rakefile
114
+ - freddy.gemspec
115
+ - lib/freddy.rb
116
+ - lib/freddy/adaptive_queue.rb
117
+ - lib/freddy/consumer.rb
118
+ - lib/freddy/delivery.rb
119
+ - lib/freddy/message_handler.rb
120
+ - lib/freddy/message_handlers.rb
121
+ - lib/freddy/producer.rb
122
+ - lib/freddy/request.rb
123
+ - lib/freddy/request_manager.rb
124
+ - lib/freddy/responder_handler.rb
125
+ - lib/freddy/sync_response_container.rb
126
+ - spec/freddy/consumer_spec.rb
127
+ - spec/freddy/error_response_spec.rb
128
+ - spec/freddy/freddy_spec.rb
129
+ - spec/freddy/message_handler_spec.rb
130
+ - spec/freddy/request_spec.rb
131
+ - spec/freddy/responder_handler_spec.rb
132
+ - spec/integration/concurrency_spec.rb
133
+ - spec/integration/logging_spec.rb
134
+ - spec/spec_helper.rb
135
+ homepage:
136
+ licenses:
137
+ - Private
138
+ metadata: {}
139
+ post_install_message:
140
+ rdoc_options: []
141
+ require_paths:
142
+ - lib
143
+ required_ruby_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ requirements: []
154
+ rubyforge_project:
155
+ rubygems_version: 2.4.8
156
+ signing_key:
157
+ specification_version: 4
158
+ summary: API for inter-application messaging supporting acknowledgements and request-response
159
+ test_files:
160
+ - spec/freddy/consumer_spec.rb
161
+ - spec/freddy/error_response_spec.rb
162
+ - spec/freddy/freddy_spec.rb
163
+ - spec/freddy/message_handler_spec.rb
164
+ - spec/freddy/request_spec.rb
165
+ - spec/freddy/responder_handler_spec.rb
166
+ - spec/integration/concurrency_spec.rb
167
+ - spec/integration/logging_spec.rb
168
+ - spec/spec_helper.rb