deputy 0.1.57 → 0.1.58

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.57
1
+ 0.1.58
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "deputy"
8
- s.version = "0.1.57"
8
+ s.version = "0.1.58"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Grosser"]
12
- s.date = "2012-11-05"
12
+ s.date = "2012-11-21"
13
13
  s.email = "mirko@dawanda.com"
14
14
  s.executables = ["deputy"]
15
15
  s.files = [
@@ -146,6 +146,7 @@ module Deputy
146
146
  url = "http://#{url}" unless url =~ %r{://}
147
147
  options[:http_basic_authentication] = extract_auth_from_url!(url)
148
148
  url = add_host_to_url(url, options.delete(:host))
149
+ url = add_ip_to_url(url)
149
150
  puts "getting #{url} with options: #{options.inspect}" if options[:verbose]
150
151
 
151
152
  http_options = {}
@@ -228,6 +229,20 @@ module Deputy
228
229
 
229
230
  def self.add_host_to_url(url, host=nil)
230
231
  query = "hostname=#{host || Socket.gethostname}#{'&forced_host=true' if host}"
232
+ add_query_to_url(url, query)
233
+ end
234
+
235
+
236
+ def self.add_ip_to_url(url, ip=nil)
237
+ query = "ip=#{ip ||real_ip}"
238
+ add_query_to_url(url, query)
239
+ end
240
+
241
+ def self.real_ip
242
+ %x(host $(hostname))[/\d+.\d+.\d+.\d+/]
243
+ end
244
+
245
+ def self.add_query_to_url(url, query)
231
246
  separator = (url.include?('?') ? "&" : "?")
232
247
  url + separator + query
233
248
  end
@@ -32,9 +32,15 @@ class OptionsPlugin < Scout::Plugin
32
32
  end
33
33
 
34
34
  describe Deputy do
35
+ def append_ip(url)
36
+ Deputy.add_query_to_url(url, "ip=10.10.10.10")
37
+ end
38
+
39
+
35
40
  before do
36
41
  srand(Time.now.to_f * 100000) # fixes rand in klass() not being random
37
42
  Socket.stub!(:gethostname).and_return 'my_host'
43
+ Deputy.stub!(:real_ip).and_return '10.10.10.10'
38
44
  end
39
45
 
40
46
  it "has a VERSION" do
@@ -165,16 +171,16 @@ describe Deputy do
165
171
 
166
172
  it "executes all plugins" do
167
173
  $notify = 0
168
- FakeWeb.register_uri(:get, "http://sheri.ff/plugins.rb?hostname=my_host", :body => klass('C', :code => '$notify=1'))
169
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Deputies.finished&value=OK&hostname=my_host", :body => 'OK')
174
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/plugins.rb?hostname=my_host"), :body => klass('C', :code => '$notify=1'))
175
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Deputies.finished&value=OK&hostname=my_host"), :body => 'OK')
170
176
  Deputy.run_plugins
171
177
  $notify.should == 1
172
178
  end
173
179
 
174
180
  it "does not execute not-running plugins" do
175
181
  $notify = 0
176
- FakeWeb.register_uri(:get, "http://sheri.ff/plugins.rb?hostname=my_host", :body => klass('C', :code => '$notify=1', :interval => 9999999))
177
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Deputies.finished&value=OK&hostname=my_host", :body => 'OK')
182
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/plugins.rb?hostname=my_host"), :body => klass('C', :code => '$notify=1', :interval => 9999999))
183
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Deputies.finished&value=OK&hostname=my_host"), :body => 'OK')
178
184
  Deputy.run_plugins
179
185
  $notify.should == 0
180
186
  end
@@ -190,17 +196,17 @@ describe Deputy do
190
196
  end
191
197
 
192
198
  it "does not sleeps no_wait given" do
193
- FakeWeb.register_uri(:get, "http://sheri.ff/plugins.rb?hostname=my_host", :body => '')
194
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Deputies.finished&value=OK&hostname=my_host", :body => 'OK')
199
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/plugins.rb?hostname=my_host"), :body => '')
200
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Deputies.finished&value=OK&hostname=my_host"), :body => 'OK')
195
201
  Deputy.stub!(:send_report)
196
202
  Deputy.should_not_receive(:sleep)
197
203
  Deputy.run_plugins
198
204
  end
199
205
 
200
206
  it "fails with nice backtrace" do
201
- FakeWeb.register_uri(:get, "http://sheri.ff/plugins.rb?hostname=my_host", :body => klass('FooBar', :code => 'raise'))
202
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Deputies.finished&value=Error&hostname=my_host", :body => 'OK')
203
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Deputies.Error&value=FooBar&hostname=my_host", :body => 'OK')
207
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/plugins.rb?hostname=my_host"), :body => klass('FooBar', :code => 'raise'))
208
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Deputies.finished&value=Error&hostname=my_host"), :body => 'OK')
209
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Deputies.Error&value=FooBar&hostname=my_host"), :body => 'OK')
204
210
  lambda{
205
211
  Deputy.run_plugins
206
212
  }.should raise_error('FooBar')
@@ -208,9 +214,9 @@ describe Deputy do
208
214
 
209
215
  it "continues to run plugins when one fails" do
210
216
  $notify = 0
211
- FakeWeb.register_uri(:get, "http://sheri.ff/plugins.rb?hostname=my_host", :body => klass('FooBar', :code => 'raise') + klass('C', :code => '$notify = 1'))
212
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Deputies.finished&value=Error&hostname=my_host", :body => 'OK')
213
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Deputies.Error&value=&hostname=my_host", :body => 'OK')
217
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/plugins.rb?hostname=my_host"), :body => klass('FooBar', :code => 'raise') + klass('C', :code => '$notify = 1'))
218
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Deputies.finished&value=Error&hostname=my_host"), :body => 'OK')
219
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Deputies.Error&value=&hostname=my_host"), :body => 'OK')
214
220
  lambda{
215
221
  Deputy.run_plugins
216
222
  }.should raise_error
@@ -224,17 +230,17 @@ describe Deputy do
224
230
  end
225
231
 
226
232
  it "sends a report" do
227
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Xxx.yyy&value=123&hostname=my_host", :body => 'OK')
233
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Xxx.yyy&value=123&hostname=my_host"), :body => 'OK')
228
234
  Deputy.send_report('Xxx.yyy', '123').should == 'OK'
229
235
  end
230
236
 
231
237
  it "escapes metric names" do
232
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Xxx.yy%3Fy&value=123&hostname=my_host", :body => 'OK')
238
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Xxx.yy%3Fy&value=123&hostname=my_host"), :body => 'OK')
233
239
  Deputy.send_report('Xxx.yy?y', '123').should == 'OK'
234
240
  end
235
241
 
236
242
  it "overrides host, if specified in options" do
237
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Xxx.yy%3Fy&value=123&hostname=general&forced_host=true", :body => 'OK')
243
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Xxx.yy%3Fy&value=123&hostname=general&forced_host=true"), :body => 'OK')
238
244
  Deputy.send_report('Xxx.yy?y', '123', {:host => 'general'}).should == 'OK'
239
245
  end
240
246
 
@@ -245,7 +251,7 @@ describe Deputy do
245
251
 
246
252
  it "does not reraise if silent_on_errors configured" do
247
253
  Deputy.config['silent_on_errors'] = true
248
- FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Xxx.yy%3Fy&value=123&hostname=general&forced_host=true", :body => 'ERROR', :status => ["500", "Internal Server Error"])
254
+ FakeWeb.register_uri(:get, append_ip("http://sheri.ff/notify?group=Xxx.yy%3Fy&value=123&hostname=general&forced_host=true"), :body => 'ERROR', :status => ["500", "Internal Server Error"])
249
255
  Deputy.send_report('Xxx.yy?y', '123', {:host => 'general'}).should == nil
250
256
  end
251
257
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deputy
3
3
  version: !ruby/object:Gem::Version
4
- hash: 105
4
+ hash: 111
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 57
10
- version: 0.1.57
9
+ - 58
10
+ version: 0.1.58
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Grosser
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-11-05 00:00:00 Z
18
+ date: 2012-11-21 00:00:00 Z
19
19
  dependencies: []
20
20
 
21
21
  description: