banter 2.2.0 → 2.2.2
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/banter.gemspec +4 -4
- data/lib/banter/rabbit_logger.rb +9 -2
- data/lib/banter/server/rabbit_mq_subscriber.rb +1 -1
- data/lib/banter/subscriber.rb +1 -1
- data/lib/banter/version.rb +1 -1
- data/spec/banter/rabbit_logger_spec.rb +18 -5
- data/spec/banter/subscriber_spec.rb +6 -1
- metadata +10 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd2dfa466f501c97c8cf3702abe02ca15013084f
|
4
|
+
data.tar.gz: c0f17e5e0729ad21abf1c9cafe5a6f3e3484b684
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2e50ccdab095c293ec03406428849bb34069024ceab1c421e19e36f6779e4484fa994fe0c52fa16c87ab60db9214ba27af32c23547b04206132e0be85234913
|
7
|
+
data.tar.gz: 2ff1ad572c1fb1388792eb3ae3c2944c221e8623c2990d44eb480192d3aa8c9e9e8393d5eddba29b6462e22eded18e58480627b6229134baf01758a30b924bda
|
data/banter.gemspec
CHANGED
@@ -23,9 +23,9 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
24
|
spec.add_development_dependency "rspec", "~> 3.0", ">=3.0.0"
|
25
25
|
spec.add_development_dependency "awesome_print", '~> 1.6', ">=1.6.1"
|
26
|
-
spec.add_runtime_dependency "bunny", "~> 1.5.1"
|
27
|
-
spec.add_runtime_dependency "hashie", "
|
26
|
+
spec.add_runtime_dependency "bunny", "~> 1.5", ">= 1.5.1"
|
27
|
+
spec.add_runtime_dependency "hashie", ">=1.2.0"
|
28
28
|
spec.add_runtime_dependency "json", "~> 1.8", ">=1.8.0"
|
29
|
-
spec.add_runtime_dependency "celluloid", "~> 0.17"
|
30
|
-
spec.add_runtime_dependency "celluloid-io", "~> 0.17
|
29
|
+
spec.add_runtime_dependency "celluloid", "~> 0.17"
|
30
|
+
spec.add_runtime_dependency "celluloid-io", "~> 0.17", ">=0.17.1"
|
31
31
|
end
|
data/lib/banter/rabbit_logger.rb
CHANGED
@@ -25,8 +25,15 @@ module Banter
|
|
25
25
|
internal_log(:warn, "BANTER COMPLETED", envelope, routing_key, envelope[:payload])
|
26
26
|
end
|
27
27
|
|
28
|
-
def self.log_subscriber_failed(routing_key, delivery_info, properties, envelope)
|
29
|
-
|
28
|
+
def self.log_subscriber_failed(routing_key, delivery_info, properties, envelope, contents)
|
29
|
+
if envelope.nil?
|
30
|
+
# message could not be parsed, so we have to log this one differently.
|
31
|
+
tags = ["BANTER SUBSCRIBER FAILED", Time.now.to_i.to_s, routing_key].map{|x| utf(x)}
|
32
|
+
logger.tagged(tags) { logger.send(:error, utf( "contents: #{contents.to_s} -- properties: #{properties.to_s}")) }
|
33
|
+
else
|
34
|
+
internal_log(:warn, "BANTER SUBSCRIBER FAILED", envelope, routing_key, { delivery_info: delivery_info, properties: properties,
|
35
|
+
contents: envelope[:payload] } )
|
36
|
+
end
|
30
37
|
end
|
31
38
|
|
32
39
|
def self.log_service(service_name, message)
|
@@ -83,7 +83,7 @@ module Banter
|
|
83
83
|
Banter::RabbitLogger.log(Logger::WARN, "Error in message: #{e}")
|
84
84
|
e.backtrace.each{|line| Banter::RabbitLogger.log(Logger::WARN, "-- #{line}") }
|
85
85
|
Banter::RabbitLogger.log(Logger::WARN, "contents: #{contents}")
|
86
|
-
Banter::RabbitLogger.log_subscriber_failed(delivery_info[:routing_key], delivery_info, properties, envelope)
|
86
|
+
Banter::RabbitLogger.log_subscriber_failed(delivery_info[:routing_key], delivery_info, properties, envelope, contents)
|
87
87
|
|
88
88
|
# Does not get put back on the queue, and instead, will need to be processed either by the log parser
|
89
89
|
# later or by dead letter exchange
|
data/lib/banter/subscriber.rb
CHANGED
@@ -150,7 +150,7 @@ module Banter
|
|
150
150
|
|
151
151
|
def self.validate_routing_key_name(key)
|
152
152
|
return true if key.blank?
|
153
|
-
key.match(/\A([a-z_]
|
153
|
+
key.match(/\A([a-z_]+[\.\d]*)*([a-z\_]+)\d*\Z/).present?
|
154
154
|
end
|
155
155
|
|
156
156
|
def self.generated_application_name(application_name)
|
data/lib/banter/version.rb
CHANGED
@@ -101,14 +101,27 @@ describe Banter::RabbitLogger do
|
|
101
101
|
end
|
102
102
|
|
103
103
|
describe "#log_subscriber_failed" do
|
104
|
-
let
|
104
|
+
let(:contents) { {"data"=>"filler text"} }
|
105
|
+
context "message is badly set up" do
|
106
|
+
let(:message) { nil }
|
107
|
+
let!(:result) { subject.log_subscriber_failed(routing_key, delivery_info, properties, message, contents ) }
|
108
|
+
|
109
|
+
it "should not fail" do
|
110
|
+
expect{ result }.not_to raise_error()
|
111
|
+
end
|
105
112
|
|
106
|
-
it "should not fail" do
|
107
|
-
expect{ result }.not_to raise_error()
|
108
113
|
end
|
109
114
|
|
110
|
-
|
111
|
-
|
115
|
+
context "message is correct" do
|
116
|
+
let!(:result) { subject.log_subscriber_failed(routing_key, delivery_info, properties, message, contents )}
|
117
|
+
|
118
|
+
it "should not fail" do
|
119
|
+
expect{ result }.not_to raise_error()
|
120
|
+
end
|
121
|
+
|
122
|
+
it "should respect the log level of the file" do
|
123
|
+
expect(Banter.logger).to have_received(:warn).with(anything)
|
124
|
+
end
|
112
125
|
end
|
113
126
|
|
114
127
|
end
|
@@ -122,10 +122,14 @@ describe Banter::Subscriber do
|
|
122
122
|
it { expect(Klass.send(:validate_routing_key_name, 'abcdef.abcdef')).to eq(true) }
|
123
123
|
it { expect(Klass.send(:validate_routing_key_name, 'abcdef.abcdef.asd')).to eq(true) }
|
124
124
|
it { expect(Klass.send(:validate_routing_key_name, 'abcdef.abcdef/')).to eq(false) }
|
125
|
-
it { expect(Klass.send(:validate_routing_key_name, 'abcdef.abcdef.
|
125
|
+
it { expect(Klass.send(:validate_routing_key_name, 'abcdef.abcdef.5123')).to eq(false) }
|
126
126
|
it { expect(Klass.send(:validate_routing_key_name, 'abcdef.stuff_happened')).to eq(true) }
|
127
127
|
it { expect(Klass.send(:validate_routing_key_name, 'abcdef.')).to eq(false) }
|
128
128
|
it { expect(Klass.send(:validate_routing_key_name, 'abcAf')).to eq(false) }
|
129
|
+
it { expect(Klass.send(:validate_routing_key_name, 'eis.wms.ohl.current.v0.inbound')).to eq(true) }
|
130
|
+
it { expect(Klass.send(:validate_routing_key_name, 'eis.wms.ohl.current.v0')).to eq(true) }
|
131
|
+
it { expect(Klass.send(:validate_routing_key_name, '0.inbound')).to eq(false) }
|
132
|
+
it { expect(Klass.send(:validate_routing_key_name, 'a0b.inbound')).to eq(true) }
|
129
133
|
end
|
130
134
|
|
131
135
|
describe "#generated_queue_name" do
|
@@ -134,6 +138,7 @@ describe Banter::Subscriber do
|
|
134
138
|
it { expect(Klass.send(:generated_queue_name, 'abcdef', nil)).to eq('abcdef') }
|
135
139
|
it { expect(Klass.send(:generated_queue_name, 'abcdef.abcd', nil)).to eq('abcdef.abcd') }
|
136
140
|
it { expect(Klass.send(:generated_queue_name, 'a.b.c', nil)).to eq('a.b.c') }
|
141
|
+
it { expect(Klass.send(:generated_queue_name, 'eis.wms.ohl.current.v0.inbound', nil)).to eq('eis.wms.ohl.current.v0.inbound') }
|
137
142
|
end
|
138
143
|
|
139
144
|
describe '.subscribe_to' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: banter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Honest Company
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2016-
|
14
|
+
date: 2016-09-16 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
@@ -86,6 +86,9 @@ dependencies:
|
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '1.5'
|
91
|
+
- - ">="
|
89
92
|
- !ruby/object:Gem::Version
|
90
93
|
version: 1.5.1
|
91
94
|
type: :runtime
|
@@ -93,15 +96,15 @@ dependencies:
|
|
93
96
|
version_requirements: !ruby/object:Gem::Requirement
|
94
97
|
requirements:
|
95
98
|
- - "~>"
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '1.5'
|
101
|
+
- - ">="
|
96
102
|
- !ruby/object:Gem::Version
|
97
103
|
version: 1.5.1
|
98
104
|
- !ruby/object:Gem::Dependency
|
99
105
|
name: hashie
|
100
106
|
requirement: !ruby/object:Gem::Requirement
|
101
107
|
requirements:
|
102
|
-
- - "~>"
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: '1.2'
|
105
108
|
- - ">="
|
106
109
|
- !ruby/object:Gem::Version
|
107
110
|
version: 1.2.0
|
@@ -109,9 +112,6 @@ dependencies:
|
|
109
112
|
prerelease: false
|
110
113
|
version_requirements: !ruby/object:Gem::Requirement
|
111
114
|
requirements:
|
112
|
-
- - "~>"
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: '1.2'
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: 1.2.0
|
@@ -142,9 +142,6 @@ dependencies:
|
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0.17'
|
145
|
-
- - ">="
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
version: 0.17.0
|
148
145
|
type: :runtime
|
149
146
|
prerelease: false
|
150
147
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -152,16 +149,13 @@ dependencies:
|
|
152
149
|
- - "~>"
|
153
150
|
- !ruby/object:Gem::Version
|
154
151
|
version: '0.17'
|
155
|
-
- - ">="
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 0.17.0
|
158
152
|
- !ruby/object:Gem::Dependency
|
159
153
|
name: celluloid-io
|
160
154
|
requirement: !ruby/object:Gem::Requirement
|
161
155
|
requirements:
|
162
156
|
- - "~>"
|
163
157
|
- !ruby/object:Gem::Version
|
164
|
-
version: 0.17
|
158
|
+
version: '0.17'
|
165
159
|
- - ">="
|
166
160
|
- !ruby/object:Gem::Version
|
167
161
|
version: 0.17.1
|
@@ -171,7 +165,7 @@ dependencies:
|
|
171
165
|
requirements:
|
172
166
|
- - "~>"
|
173
167
|
- !ruby/object:Gem::Version
|
174
|
-
version: 0.17
|
168
|
+
version: '0.17'
|
175
169
|
- - ">="
|
176
170
|
- !ruby/object:Gem::Version
|
177
171
|
version: 0.17.1
|