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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 97c5a20be7d8609e0189b266838385bf77752b6c
4
- data.tar.gz: e33e3ebf5bb8ee35134109633b8124751e61467c
3
+ metadata.gz: dd2dfa466f501c97c8cf3702abe02ca15013084f
4
+ data.tar.gz: c0f17e5e0729ad21abf1c9cafe5a6f3e3484b684
5
5
  SHA512:
6
- metadata.gz: a59bb462b03b2370748f3f39ccb78a27f5babf8272bf1e08ede78fa985bafdf26c14c1eabaec75c7bcda8ec196dabb557825c75b33d3b8076675b9e2aaeffdac
7
- data.tar.gz: ccb12a8ff6288e19e08bff59ff89bde6988fcad5c1403b9256f1c4d75d8f09a1af20e9665361e3ff62855c7b09467b882903dbc6e1ebc6113a0c261ea36a4179
6
+ metadata.gz: a2e50ccdab095c293ec03406428849bb34069024ceab1c421e19e36f6779e4484fa994fe0c52fa16c87ab60db9214ba27af32c23547b04206132e0be85234913
7
+ data.tar.gz: 2ff1ad572c1fb1388792eb3ae3c2944c221e8623c2990d44eb480192d3aa8c9e9e8393d5eddba29b6462e22eded18e58480627b6229134baf01758a30b924bda
@@ -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", "~> 1.2", ">=1.2.0"
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", ">=0.17.0"
30
- spec.add_runtime_dependency "celluloid-io", "~> 0.17.0", ">=0.17.1"
29
+ spec.add_runtime_dependency "celluloid", "~> 0.17"
30
+ spec.add_runtime_dependency "celluloid-io", "~> 0.17", ">=0.17.1"
31
31
  end
@@ -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
- internal_log(:warn, "BANTER SUBSCRIBER FAILED", envelope, routing_key, { delivery_info: delivery_info, properties: properties, contents: envelope[:payload]} )
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
@@ -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_]+\.?)*([a-z\_]+)\Z/).present?
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)
@@ -1,3 +1,3 @@
1
1
  module Banter
2
- VERSION = "2.2.0"
2
+ VERSION = "2.2.2"
3
3
  end
@@ -101,14 +101,27 @@ describe Banter::RabbitLogger do
101
101
  end
102
102
 
103
103
  describe "#log_subscriber_failed" do
104
- let!(:result) { subject.log_subscriber_failed(routing_key, delivery_info, properties, message)}
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
- it "should respect the log level of the file" do
111
- expect(Banter.logger).to have_received(:warn).with(anything)
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.a123')).to eq(false) }
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.0
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-07-19 00:00:00.000000000 Z
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.0
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.0
168
+ version: '0.17'
175
169
  - - ">="
176
170
  - !ruby/object:Gem::Version
177
171
  version: 0.17.1