litmus_paper 0.8.3 → 0.8.4

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.
@@ -3,14 +3,15 @@ module LitmusPaper
3
3
  disable :show_exceptions
4
4
 
5
5
  get "/" do
6
- output = "Litmus Paper #{LitmusPaper::VERSION}\n\n"
7
- output += "Services monitored:\n"
8
- output += " Service ( Health / Measured Health )\n"
6
+ output = "Litmus Paper #{LitmusPaper::VERSION}\n"
7
+ max_service_length = (LitmusPaper.services.keys << "Service").max { |a, b| a.length <=> b.length }.length
8
+ output += sprintf " %-#{max_service_length}s %6s [%s] [%s]\n", "", "", "Measured", "Forced"
9
+ output += sprintf " %-#{max_service_length}s %6s [%s] [%s]\n", "Service", "Health", "Health".center(8), "Reason"
9
10
  LitmusPaper.services.each do |service_name, service|
10
11
  health = service.current_health
11
- output += "* #{service_name} ( #{health.value} / #{health.measured_health} )"
12
+ output += sprintf "* %-#{max_service_length}s %6s", service_name, health.value
12
13
  if health.forced?
13
- output += " - forced: #{service.current_health.summary}"
14
+ output += sprintf " %10s %s", health.measured_health, service.current_health.forced_reason
14
15
  end
15
16
  output += "\n"
16
17
  end
@@ -51,6 +52,7 @@ module LitmusPaper
51
52
  body = "Health: #{health.value}\n"
52
53
  if health.forced?
53
54
  body << "Measured Health: #{health.measured_health}\n"
55
+ body << "Forced Reason: #{health.forced_reason}\n"
54
56
  end
55
57
  body << health.summary
56
58
 
@@ -1,13 +1,14 @@
1
1
  module LitmusPaper
2
2
  class Health
3
3
 
4
- attr_reader :summary
4
+ attr_reader :summary, :forced_reason
5
5
 
6
- def initialize(forced = :none, summary = "")
6
+ def initialize(forced = :none, forced_reason = "")
7
7
  @value = 0
8
8
  @dependencies_available = true
9
- @summary = summary
9
+ @summary = ""
10
10
  @forced = forced
11
+ @forced_reason = forced_reason
11
12
  end
12
13
 
13
14
  def ok?
@@ -33,7 +33,7 @@ module LitmusPaper
33
33
  end
34
34
 
35
35
  def content
36
- File.read(@path).chomp + "\n"
36
+ File.read(@path).chomp
37
37
  end
38
38
 
39
39
  def create(reason)
@@ -1,3 +1,3 @@
1
1
  module LitmusPaper
2
- VERSION = "0.8.3"
2
+ VERSION = "0.8.4"
3
3
  end
@@ -35,7 +35,7 @@ describe LitmusPaper::App do
35
35
  get "/"
36
36
 
37
37
  last_response.status.should == 200
38
- last_response.body.should include("* test ( 0 / 0 )\n")
38
+ last_response.body.should match(/\* test +0\n/)
39
39
  end
40
40
 
41
41
  it "includes the status if forced" do
@@ -48,8 +48,8 @@ describe LitmusPaper::App do
48
48
  get "/"
49
49
 
50
50
  last_response.status.should == 200
51
- last_response.body.should include("* another ( 0 / 0 ) - forced: Down for testing\n")
52
- last_response.body.should include("* test ( 100 / 0 ) - forced: Up for testing\n")
51
+ last_response.body.should match(/\* another +0 +0 +Down for testing\n/)
52
+ last_response.body.should match(/\* test +100 +0 +Up for testing\n/)
53
53
  end
54
54
  end
55
55
 
@@ -26,7 +26,7 @@ describe LitmusPaper::Service do
26
26
  LitmusPaper::StatusFile.service_down_file("test").create("Down for testing")
27
27
 
28
28
  service.current_health.value.should == 0
29
- service.current_health.summary.should match(/Down for testing/)
29
+ service.current_health.forced_reason.should match(/Down for testing/)
30
30
  end
31
31
 
32
32
  it "is 0 when a global down file exists" do
@@ -37,7 +37,7 @@ describe LitmusPaper::Service do
37
37
  LitmusPaper::StatusFile.global_down_file.create("Down for testing")
38
38
 
39
39
  service.current_health.value.should == 0
40
- service.current_health.summary.should match(/Down for testing/)
40
+ service.current_health.forced_reason.should match(/Down for testing/)
41
41
  end
42
42
 
43
43
  it "is 100 when an up file exists" do
@@ -48,7 +48,7 @@ describe LitmusPaper::Service do
48
48
  LitmusPaper::StatusFile.service_up_file("test").create("Up for testing")
49
49
 
50
50
  service.current_health.value.should == 100
51
- service.current_health.summary.should match(/Up for testing/)
51
+ service.current_health.forced_reason.should match(/Up for testing/)
52
52
  end
53
53
 
54
54
  it "is 100 when a global up file exists" do
@@ -59,7 +59,7 @@ describe LitmusPaper::Service do
59
59
  LitmusPaper::StatusFile.global_up_file.create("Up for testing")
60
60
 
61
61
  service.current_health.value.should == 100
62
- service.current_health.summary.should match(/Up for testing/)
62
+ service.current_health.forced_reason.should match(/Up for testing/)
63
63
  end
64
64
  end
65
65
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: litmus_paper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-05 00:00:00.000000000 Z
12
+ date: 2014-05-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
@@ -246,15 +246,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
246
246
  - - ! '>='
247
247
  - !ruby/object:Gem::Version
248
248
  version: '0'
249
+ segments:
250
+ - 0
251
+ hash: -2773355175135324952
249
252
  required_rubygems_version: !ruby/object:Gem::Requirement
250
253
  none: false
251
254
  requirements:
252
255
  - - ! '>='
253
256
  - !ruby/object:Gem::Version
254
257
  version: '0'
258
+ segments:
259
+ - 0
260
+ hash: -2773355175135324952
255
261
  requirements: []
256
262
  rubyforge_project:
257
- rubygems_version: 1.8.23
263
+ rubygems_version: 1.8.24
258
264
  signing_key:
259
265
  specification_version: 3
260
266
  summary: Backend health tester for HA Services, partner project of big_brother