banter 2.2.0 → 2.2.2

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: 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