freddy-jruby 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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