nagios_output 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +0 -2
- data/CHANGELOG.md +10 -0
- data/README.md +63 -21
- data/example/example.rb +8 -34
- data/lib/nagios_output.rb +71 -87
- data/lib/nagios_output/overloads.rb +41 -0
- data/lib/nagios_output/version.rb +2 -2
- data/spec/nagios_output_spec.rb +99 -179
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4172f5d8746d3b5e1e9e087d4831a7906f3e8cb1496fc93ebe5b47c5089b776d
|
4
|
+
data.tar.gz: 11b3228d492c3815cbd91543e29ee457a81aae0d62d528079068136a873f0c17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7158efab6d70fdb0c65b56c562d444790d40af3987bd2d0cdcd8d3eb2645b98aa0d7d693c67899b2037acb708c11c1edc879e09c4b05da5f89d67ababb8db1d
|
7
|
+
data.tar.gz: 5e44474adf8eb041d28661e56bc05c866df4d19fb808caeff7c82c0d444314f64767c14a872dda2923ae5c45fe5c8522e70d94fed37bf1878bb8fd2c37c16edf
|
data/.travis.yml
CHANGED
@@ -30,7 +30,5 @@ matrix:
|
|
30
30
|
- ./travis/awesomebot/scan.sh
|
31
31
|
notifications:
|
32
32
|
email: false
|
33
|
-
slack:
|
34
|
-
notifications:
|
35
33
|
slack:
|
36
34
|
secure: N7+MOIX567Z2E2eyKaLngafy8QeJ4uvgWkWhp7nEWTbw989namVeymljYrNLSuykVgX6rn0Wq95LUPm0uUuRawULzMgzFv0wIMcbbbX+4ZAuEUvWxHWCGo8qfins15Px9EgkT/UrYYblywYlwelQHOu++MkxyQ9mHwypKS4z5IyzW/mwFoZ+HKQCOqYw8TrR7aHGSpe9PUVK9Lj2XXmK1QaaBW7GabW6ugmHMbL46xhxMdBBpJfotRbwdHnyKXPfrhSbj95+tZxY1NY33ZOBdgiQDuOYpkA51GObBUZ4TKwhQS3OX0pp490QvJBR0Jf84waF7sMBx1E03haPgFwNiLayvtA8YkpJBJTOaVhCc6i504r9Sf3ZBBdjVULLG0W1hGZuhXZrsrTE6IyTomIjifmA1L795CRgLAPyecqAVf2Z2JQlN48Pt7TbGEUWXxUlCSlen45B4XBZaNoqX02AzugcztqEdqdAAe6mga0bHwjrzErkAxUXP4u9GyTKCy8FV8KEg6k//g0TLkQzaFM1p521TBMI9AsGwO4OvE0mXq3sRK5wJ1ojQCleINP6ijAg0F186DzD4l8Uj22K44IidSa4P9rxRM2drMttNscNGfFddBbcG8isLTVoldsZHvzMa90lVe86xtiGo2/Kjt7g490pvMRXOf2XzEG3yy3nec8=
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## 2.0.0 (January 25, 2019)
|
2
|
+
|
3
|
+
IMPROVEMENTS:
|
4
|
+
|
5
|
+
* Move the code inside of a module namespace. ([@TGWolf][])
|
6
|
+
* Extend the string class so that str.ok, str.warn, str.critical and str.unknown works. ([@TGWolf][])
|
7
|
+
* Extend the integer class so that str.ok, str.warn, str.critical and str.unknown works. ([@TGWolf][])
|
8
|
+
* Update the documentation. ([@TGWolf][])
|
9
|
+
* Removed the old static and global access methods as they were a hack. ([@TGWolf][])
|
10
|
+
|
1
11
|
## 1.0.0 (January 18, 2019)
|
2
12
|
|
3
13
|
* Initial Release ([@TGWolf][])
|
data/README.md
CHANGED
@@ -28,43 +28,85 @@ Or install it yourself as:
|
|
28
28
|
|
29
29
|
## Usage
|
30
30
|
|
31
|
-
|
31
|
+
### OK Messages
|
32
32
|
|
33
|
-
|
33
|
+
```ruby
|
34
|
+
require 'nagios_output'
|
35
|
+
|
36
|
+
NagiosOutput::Nagios.ok('Everything is ok')
|
37
|
+
|
38
|
+
# or
|
39
|
+
|
40
|
+
'Everything is ok'.nagios_ok
|
41
|
+
```
|
42
|
+
|
43
|
+
### Warning Messages
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
require 'nagios_output'
|
47
|
+
|
48
|
+
NagiosOutput::Nagios.warning('This is a warning')
|
49
|
+
|
50
|
+
# or
|
51
|
+
|
52
|
+
'This is a warning'.nagios_warning
|
53
|
+
```
|
54
|
+
|
55
|
+
### Critical Messages
|
34
56
|
|
35
57
|
```ruby
|
36
|
-
require 'nagios_output'
|
58
|
+
require 'nagios_output'
|
37
59
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
60
|
+
NagiosOutput::Nagios.critical('Everything is on fire')
|
61
|
+
|
62
|
+
# or
|
63
|
+
|
64
|
+
'Everything is on fire'.nagios_critical
|
43
65
|
```
|
44
66
|
|
45
|
-
###
|
67
|
+
### Unknown Messages
|
46
68
|
|
47
69
|
```ruby
|
48
|
-
require 'nagios_output'
|
70
|
+
require 'nagios_output'
|
71
|
+
|
72
|
+
NagiosOutput::Nagios.unknown('Everything is erm...')
|
73
|
+
|
74
|
+
# or
|
49
75
|
|
50
|
-
|
51
|
-
NagiosOutputStatic.warning('Everything is ok-ish (Static)')
|
52
|
-
NagiosOutputStatic.critical('Everything is cirtial (Static)')
|
53
|
-
NagiosOutputStatic.unknown('Everything is erm - I don\'t know (Static)')
|
76
|
+
'Everything is erm...'.nagios_unknown
|
54
77
|
```
|
55
78
|
|
56
|
-
|
79
|
+
## Colours
|
80
|
+
|
81
|
+
By default output is coloured however this can be turned off (or back on)
|
57
82
|
|
58
83
|
```ruby
|
59
|
-
require 'nagios_output'
|
84
|
+
require 'nagios_output'
|
85
|
+
|
86
|
+
NagiosOutput::Nagios.use_colour(false)
|
87
|
+
|
88
|
+
# or
|
60
89
|
|
61
|
-
|
62
|
-
warning('Everything is ok-ish (Direct)')
|
63
|
-
critical('Everything is cirtial (Direct)')
|
64
|
-
unknown('Everything is erm - I don\'t know (Direct)')
|
90
|
+
NagiosOutput::Nagios.use_color(false)
|
65
91
|
```
|
66
92
|
|
67
|
-
|
93
|
+
You can also turn colour off for single alerts
|
94
|
+
|
95
|
+
```ruby
|
96
|
+
require 'nagios_output'
|
97
|
+
|
98
|
+
'message'.nagios_ok(false)
|
99
|
+
'message'.nagios_warning(false)
|
100
|
+
'message'.nagios_critical(false)
|
101
|
+
'message'.nagios_unknown(false)
|
102
|
+
|
103
|
+
# or
|
104
|
+
|
105
|
+
'message'.nagios_ok(false)
|
106
|
+
'message'.nagios_warning(false)
|
107
|
+
'message'.nagios_critical(false)
|
108
|
+
'message'.nagios_unknown(false)
|
109
|
+
```
|
68
110
|
|
69
111
|
## Development
|
70
112
|
|
data/example/example.rb
CHANGED
@@ -13,76 +13,50 @@
|
|
13
13
|
|
14
14
|
require 'nagios_output'
|
15
15
|
|
16
|
-
n = NagiosOutput.new
|
17
|
-
|
18
|
-
begin
|
19
|
-
n.ok('Everything is ok (Class))')
|
20
|
-
rescue SystemExit => e
|
21
|
-
_actual = e
|
22
|
-
end
|
23
|
-
|
24
|
-
begin
|
25
|
-
n.warning('Everything is ok-ish (Class)')
|
26
|
-
rescue SystemExit => e
|
27
|
-
_actual = e
|
28
|
-
end
|
29
|
-
|
30
|
-
begin
|
31
|
-
n.critical('Everything is cirtial (Class)')
|
32
|
-
rescue SystemExit => e
|
33
|
-
_actual = e
|
34
|
-
end
|
35
|
-
|
36
|
-
begin
|
37
|
-
n.unknown('Everything is erm - I don\'t know (Class)')
|
38
|
-
rescue SystemExit => e
|
39
|
-
_actual = e
|
40
|
-
end
|
41
|
-
|
42
16
|
begin
|
43
|
-
|
17
|
+
NagiosOutput::Nagios.ok('Everything is ok')
|
44
18
|
rescue SystemExit => e
|
45
19
|
_actual = e
|
46
20
|
end
|
47
21
|
|
48
22
|
begin
|
49
|
-
|
23
|
+
NagiosOutput::Nagios.warning('Everything is ok-ish')
|
50
24
|
rescue SystemExit => e
|
51
25
|
_actual = e
|
52
26
|
end
|
53
27
|
|
54
28
|
begin
|
55
|
-
|
29
|
+
NagiosOutput::Nagios.critical('Everything is critical')
|
56
30
|
rescue SystemExit => e
|
57
31
|
_actual = e
|
58
32
|
end
|
59
33
|
|
60
34
|
begin
|
61
|
-
|
35
|
+
NagiosOutput::Nagios.unknown('Everything is erm - I don\'t know')
|
62
36
|
rescue SystemExit => e
|
63
37
|
_actual = e
|
64
38
|
end
|
65
39
|
|
66
40
|
begin
|
67
|
-
|
41
|
+
'Everything is ok'.nagios_ok
|
68
42
|
rescue SystemExit => e
|
69
43
|
_actual = e
|
70
44
|
end
|
71
45
|
|
72
46
|
begin
|
73
|
-
|
47
|
+
'Everything is ok-ish'.nagios_warning
|
74
48
|
rescue SystemExit => e
|
75
49
|
_actual = e
|
76
50
|
end
|
77
51
|
|
78
52
|
begin
|
79
|
-
|
53
|
+
'Everything is critical'.nagios_critical
|
80
54
|
rescue SystemExit => e
|
81
55
|
_actual = e
|
82
56
|
end
|
83
57
|
|
84
58
|
begin
|
85
|
-
|
59
|
+
'Everything is erm - I don\'t know'.nagios_unknown
|
86
60
|
rescue SystemExit => e
|
87
61
|
_actual = e
|
88
62
|
end
|
data/lib/nagios_output.rb
CHANGED
@@ -1,110 +1,94 @@
|
|
1
1
|
require 'colorize'
|
2
|
+
|
2
3
|
require 'nagios_output/version'
|
4
|
+
require 'nagios_output/overloads'
|
5
|
+
|
6
|
+
#
|
7
|
+
# Docs to follow
|
8
|
+
#
|
9
|
+
module NagiosOutput
|
10
|
+
#
|
11
|
+
# Docs to follow
|
12
|
+
#
|
13
|
+
class Nagios
|
14
|
+
$use_colour = true
|
15
|
+
|
16
|
+
def self.use_colour(colour = true)
|
17
|
+
raise ArgumentError.new('Invalid option: use true or false only') unless [true, false].include? colour
|
18
|
+
|
19
|
+
$use_colour = colour
|
20
|
+
end
|
3
21
|
|
4
|
-
|
5
|
-
# Description #
|
6
|
-
# -------------------------------------------------------------------------------- #
|
7
|
-
# Display elapsed time in a more human readable way. #
|
8
|
-
# -------------------------------------------------------------------------------- #
|
22
|
+
singleton_class.send(:alias_method, :use_color, :use_colour)
|
9
23
|
|
10
|
-
def
|
11
|
-
|
12
|
-
|
13
|
-
|
24
|
+
def self.check_colour(use_colour_local = nil)
|
25
|
+
unless use_colour_local.nil?
|
26
|
+
return true if use_colour_local
|
27
|
+
return false unless use_colour_local
|
28
|
+
end
|
29
|
+
return true if $use_colour
|
30
|
+
return false unless $use_colour
|
31
|
+
end
|
14
32
|
|
15
|
-
def
|
16
|
-
|
17
|
-
n.warning(message)
|
18
|
-
end
|
33
|
+
def self.clean_string(message)
|
34
|
+
return nil if message.nil?
|
19
35
|
|
20
|
-
|
21
|
-
|
22
|
-
n.critical(message)
|
23
|
-
end
|
36
|
+
message = message.to_s.rstrip
|
37
|
+
return nil if message.empty?
|
24
38
|
|
25
|
-
|
26
|
-
|
27
|
-
n.unknown(message)
|
28
|
-
end
|
29
|
-
|
30
|
-
# -------------------------------------------------------------------------------- #
|
31
|
-
# Description #
|
32
|
-
# -------------------------------------------------------------------------------- #
|
33
|
-
# This is a static access wrapper to the main HumanDuration class below. #
|
34
|
-
# -------------------------------------------------------------------------------- #
|
35
|
-
class NagiosOutputStatic
|
36
|
-
def self.ok(message = nil, config = { 'colour' => true })
|
37
|
-
n = NagiosOutput.new(config)
|
38
|
-
n.ok(message)
|
39
|
-
end
|
39
|
+
message
|
40
|
+
end
|
40
41
|
|
41
|
-
|
42
|
-
|
43
|
-
n.warning(message)
|
44
|
-
end
|
42
|
+
def self.ok(message = nil, use_colour_local = nil)
|
43
|
+
message = clean_string(message)
|
45
44
|
|
46
|
-
|
47
|
-
n = NagiosOutput.new(config)
|
48
|
-
n.critical(message)
|
49
|
-
end
|
45
|
+
exit 0 if message.nil?
|
50
46
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
end
|
47
|
+
if check_colour(use_colour_local)
|
48
|
+
puts "OK - #{message}".green
|
49
|
+
else
|
50
|
+
puts "OK - #{message}"
|
51
|
+
end
|
52
|
+
exit 0
|
53
|
+
end
|
56
54
|
|
57
|
-
|
58
|
-
|
59
|
-
# -------------------------------------------------------------------------------- #
|
60
|
-
# Display elapsed time in a more human readable way. #
|
61
|
-
# -------------------------------------------------------------------------------- #
|
62
|
-
class NagiosOutput
|
63
|
-
def initialize(config = { 'colour' => true })
|
64
|
-
@colour = config['colour']
|
65
|
-
end
|
55
|
+
def self.warning(message = nil, use_colour_local = nil)
|
56
|
+
message = clean_string(message)
|
66
57
|
|
67
|
-
|
68
|
-
exit 0 if message.nil? || message.empty?
|
58
|
+
exit 1 if message.nil?
|
69
59
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
60
|
+
if check_colour(use_colour_local)
|
61
|
+
puts "WARNING - #{message}".yellow
|
62
|
+
else
|
63
|
+
puts "WARNING - #{message}"
|
64
|
+
end
|
65
|
+
exit 1
|
74
66
|
end
|
75
|
-
exit 0
|
76
|
-
end
|
77
67
|
|
78
|
-
|
79
|
-
|
68
|
+
def self.critical(message = nil, use_colour_local = nil)
|
69
|
+
message = clean_string(message)
|
80
70
|
|
81
|
-
|
82
|
-
puts "WARNING - #{message}".yellow
|
83
|
-
else
|
84
|
-
puts "WARNING - #{message}"
|
85
|
-
end
|
86
|
-
exit 1
|
87
|
-
end
|
88
|
-
|
89
|
-
def critical(message = nil)
|
90
|
-
exit 2 if message.nil? || message.empty?
|
71
|
+
exit 2 if message.nil?
|
91
72
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
73
|
+
if check_colour(use_colour_local)
|
74
|
+
puts "CRITICAL - #{message}".red
|
75
|
+
else
|
76
|
+
puts "CRITICAL - #{message}"
|
77
|
+
end
|
78
|
+
exit 2
|
96
79
|
end
|
97
|
-
exit 2
|
98
|
-
end
|
99
80
|
|
100
|
-
|
101
|
-
|
81
|
+
def self.unknown(message = nil, use_colour_local = nil)
|
82
|
+
message = clean_string(message)
|
83
|
+
|
84
|
+
exit 3 if message.nil?
|
102
85
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
86
|
+
if check_colour(use_colour_local)
|
87
|
+
puts "UNKNOWN - #{message}".blue
|
88
|
+
else
|
89
|
+
puts "UNKNOWN - #{message}"
|
90
|
+
end
|
91
|
+
exit 3
|
107
92
|
end
|
108
|
-
exit 3
|
109
93
|
end
|
110
94
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#
|
2
|
+
# Overload the integer class
|
3
|
+
#
|
4
|
+
class Integer
|
5
|
+
def nagios_ok(colour = nil)
|
6
|
+
NagiosOutput::Nagios.ok(to_s, colour)
|
7
|
+
end
|
8
|
+
|
9
|
+
def nagios_warning(colour = nil)
|
10
|
+
NagiosOutput::Nagios.warning(to_s, colour)
|
11
|
+
end
|
12
|
+
|
13
|
+
def nagios_critical(colour = nil)
|
14
|
+
NagiosOutput::Nagios.critical(to_s, colour)
|
15
|
+
end
|
16
|
+
|
17
|
+
def nagios_unknown(colour = nil)
|
18
|
+
NagiosOutput::Nagios.unknown(to_s, colour)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# Overload the string class
|
24
|
+
#
|
25
|
+
class String
|
26
|
+
def nagios_ok(colour = nil)
|
27
|
+
NagiosOutput::Nagios.ok(self, colour)
|
28
|
+
end
|
29
|
+
|
30
|
+
def nagios_warning(colour = nil)
|
31
|
+
NagiosOutput::Nagios.warning(self, colour)
|
32
|
+
end
|
33
|
+
|
34
|
+
def nagios_critical(colour = nil)
|
35
|
+
NagiosOutput::Nagios.critical(self, colour)
|
36
|
+
end
|
37
|
+
|
38
|
+
def nagios_unknown(colour = nil)
|
39
|
+
NagiosOutput::Nagios.unknown(self, colour)
|
40
|
+
end
|
41
|
+
end
|
@@ -1,3 +1,3 @@
|
|
1
|
-
|
2
|
-
VERSION = '
|
1
|
+
module NagiosOutput
|
2
|
+
VERSION = '2.0.0'.freeze
|
3
3
|
end
|
data/spec/nagios_output_spec.rb
CHANGED
@@ -7,10 +7,10 @@ RSpec.describe NagiosOutput do
|
|
7
7
|
expect(NagiosOutput::VERSION).not_to be nil
|
8
8
|
end
|
9
9
|
|
10
|
-
context '
|
11
|
-
context '
|
10
|
+
context 'Class Accessor Method' do
|
11
|
+
context 'Test ok()' do
|
12
12
|
before(:each) do
|
13
|
-
@n = NagiosOutput
|
13
|
+
@n = NagiosOutput::Nagios
|
14
14
|
end
|
15
15
|
|
16
16
|
context 'With a message' do
|
@@ -50,91 +50,9 @@ RSpec.describe NagiosOutput do
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
context '
|
53
|
+
context 'Test warning()' do
|
54
54
|
before(:each) do
|
55
|
-
@n =
|
56
|
-
end
|
57
|
-
|
58
|
-
context 'With a message' do
|
59
|
-
it 'says OK - test 1 2 3' do
|
60
|
-
begin
|
61
|
-
expect(@n.ok('test 1 2 3')).to eql('OK - test 1 2 3')
|
62
|
-
rescue SystemExit => e
|
63
|
-
_actual = e.status
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
it 'the exit value should be 0' do
|
68
|
-
begin
|
69
|
-
@n.ok('test 1 2 3')
|
70
|
-
rescue SystemExit => e
|
71
|
-
expect(e.status).to eq(0)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
context 'Without a message' do
|
77
|
-
it 'says nothing at all' do
|
78
|
-
begin
|
79
|
-
expect(@n.ok).to eql
|
80
|
-
rescue SystemExit => e
|
81
|
-
_actual = e.status
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
it 'the exit value should be 0' do
|
86
|
-
begin
|
87
|
-
@n.ok
|
88
|
-
rescue SystemExit => e
|
89
|
-
expect(e.status).to eq(0)
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
context 'Direct method access' do
|
96
|
-
context 'With a message' do
|
97
|
-
it 'says OK - test 1 2 3' do
|
98
|
-
begin
|
99
|
-
expect(ok('test 1 2 3')).to eql('OK - test 1 2 3')
|
100
|
-
rescue SystemExit => e
|
101
|
-
_actual = e.status
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
it 'the exit value should be 0' do
|
106
|
-
begin
|
107
|
-
ok('test 1 2 3')
|
108
|
-
rescue SystemExit => e
|
109
|
-
expect(e.status).to eq(0)
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
context 'Without a message' do
|
115
|
-
it 'says nothing at all' do
|
116
|
-
begin
|
117
|
-
expect(ok).to eql
|
118
|
-
rescue SystemExit => e
|
119
|
-
_actual = e.status
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
it 'the exit value should be 0' do
|
124
|
-
begin
|
125
|
-
ok
|
126
|
-
rescue SystemExit => e
|
127
|
-
expect(e.status).to eq(0)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
context 'Test warning()' do
|
135
|
-
context 'Class method access' do
|
136
|
-
before(:each) do
|
137
|
-
@n = NagiosOutput.new
|
55
|
+
@n = NagiosOutput::Nagios
|
138
56
|
end
|
139
57
|
|
140
58
|
context 'With a message' do
|
@@ -174,25 +92,25 @@ RSpec.describe NagiosOutput do
|
|
174
92
|
end
|
175
93
|
end
|
176
94
|
|
177
|
-
context '
|
95
|
+
context 'Test critical()' do
|
178
96
|
before(:each) do
|
179
|
-
@n =
|
97
|
+
@n = NagiosOutput::Nagios
|
180
98
|
end
|
181
99
|
|
182
100
|
context 'With a message' do
|
183
|
-
it 'says
|
101
|
+
it 'says CRITICAL - test 1 2 3' do
|
184
102
|
begin
|
185
|
-
expect(@n.
|
103
|
+
expect(@n.critical('test 1 2 3')).to eql('CRITICAL - test 1 2 3')
|
186
104
|
rescue SystemExit => e
|
187
105
|
_actual = e.status
|
188
106
|
end
|
189
107
|
end
|
190
108
|
|
191
|
-
it 'the exit value should be
|
109
|
+
it 'the exit value should be 2' do
|
192
110
|
begin
|
193
|
-
@n.
|
111
|
+
@n.critical('test 1 2 3')
|
194
112
|
rescue SystemExit => e
|
195
|
-
expect(e.status).to eq(
|
113
|
+
expect(e.status).to eq(2)
|
196
114
|
end
|
197
115
|
end
|
198
116
|
end
|
@@ -200,37 +118,41 @@ RSpec.describe NagiosOutput do
|
|
200
118
|
context 'Without a message' do
|
201
119
|
it 'says nothing at all' do
|
202
120
|
begin
|
203
|
-
expect(@n.
|
121
|
+
expect(@n.critical).to eql
|
204
122
|
rescue SystemExit => e
|
205
123
|
_actual = e.status
|
206
124
|
end
|
207
125
|
end
|
208
126
|
|
209
|
-
it 'the exit value should be
|
127
|
+
it 'the exit value should be 2' do
|
210
128
|
begin
|
211
|
-
@n.
|
129
|
+
@n.critical
|
212
130
|
rescue SystemExit => e
|
213
|
-
expect(e.status).to eq(
|
131
|
+
expect(e.status).to eq(2)
|
214
132
|
end
|
215
133
|
end
|
216
134
|
end
|
217
135
|
end
|
218
136
|
|
219
|
-
context '
|
137
|
+
context 'Test unknown()' do
|
138
|
+
before(:each) do
|
139
|
+
@n = NagiosOutput::Nagios
|
140
|
+
end
|
141
|
+
|
220
142
|
context 'With a message' do
|
221
|
-
it 'says
|
143
|
+
it 'says UNKNOWN - test 1 2 3' do
|
222
144
|
begin
|
223
|
-
expect(
|
145
|
+
expect(@n.unknown('test 1 2 3')).to eql('UNKNOWN - test 1 2 3')
|
224
146
|
rescue SystemExit => e
|
225
147
|
_actual = e.status
|
226
148
|
end
|
227
149
|
end
|
228
150
|
|
229
|
-
it 'the exit value should be
|
151
|
+
it 'the exit value should be 3' do
|
230
152
|
begin
|
231
|
-
|
153
|
+
@n.unknown('test 1 2 3')
|
232
154
|
rescue SystemExit => e
|
233
|
-
expect(e.status).to eq(
|
155
|
+
expect(e.status).to eq(3)
|
234
156
|
end
|
235
157
|
end
|
236
158
|
end
|
@@ -238,43 +160,39 @@ RSpec.describe NagiosOutput do
|
|
238
160
|
context 'Without a message' do
|
239
161
|
it 'says nothing at all' do
|
240
162
|
begin
|
241
|
-
expect(
|
163
|
+
expect(@n.unknown).to eql
|
242
164
|
rescue SystemExit => e
|
243
165
|
_actual = e.status
|
244
166
|
end
|
245
167
|
end
|
246
168
|
|
247
|
-
it 'the exit value should be
|
169
|
+
it 'the exit value should be 3' do
|
248
170
|
begin
|
249
|
-
|
171
|
+
@n.unknown
|
250
172
|
rescue SystemExit => e
|
251
|
-
expect(e.status).to eq(
|
173
|
+
expect(e.status).to eq(3)
|
252
174
|
end
|
253
175
|
end
|
254
176
|
end
|
255
177
|
end
|
256
178
|
end
|
257
179
|
|
258
|
-
context '
|
259
|
-
context '
|
260
|
-
before(:each) do
|
261
|
-
@n = NagiosOutput.new
|
262
|
-
end
|
263
|
-
|
180
|
+
context 'String Accessor Method' do
|
181
|
+
context 'Test ok()' do
|
264
182
|
context 'With a message' do
|
265
|
-
it 'says
|
183
|
+
it 'says OK - test 1 2 3' do
|
266
184
|
begin
|
267
|
-
expect(
|
185
|
+
expect('test 1 2 3'.nagios_ok).to eql('OK - test 1 2 3')
|
268
186
|
rescue SystemExit => e
|
269
187
|
_actual = e.status
|
270
188
|
end
|
271
189
|
end
|
272
190
|
|
273
|
-
it 'the exit value should be
|
191
|
+
it 'the exit value should be 0' do
|
274
192
|
begin
|
275
|
-
|
193
|
+
'test 1 2 3'.nagios_ok
|
276
194
|
rescue SystemExit => e
|
277
|
-
expect(e.status).to eq(
|
195
|
+
expect(e.status).to eq(0)
|
278
196
|
end
|
279
197
|
end
|
280
198
|
end
|
@@ -282,41 +200,37 @@ RSpec.describe NagiosOutput do
|
|
282
200
|
context 'Without a message' do
|
283
201
|
it 'says nothing at all' do
|
284
202
|
begin
|
285
|
-
expect(
|
203
|
+
expect(''.nagios_ok).to eql('')
|
286
204
|
rescue SystemExit => e
|
287
205
|
_actual = e.status
|
288
206
|
end
|
289
207
|
end
|
290
208
|
|
291
|
-
it 'the exit value should be
|
209
|
+
it 'the exit value should be 0' do
|
292
210
|
begin
|
293
|
-
|
211
|
+
expect(''.nagios_ok)
|
294
212
|
rescue SystemExit => e
|
295
|
-
expect(e.status).to eq(
|
213
|
+
expect(e.status).to eq(0)
|
296
214
|
end
|
297
215
|
end
|
298
216
|
end
|
299
217
|
end
|
300
218
|
|
301
|
-
context '
|
302
|
-
before(:each) do
|
303
|
-
@n = NagiosOutputStatic
|
304
|
-
end
|
305
|
-
|
219
|
+
context 'Test warning()' do
|
306
220
|
context 'With a message' do
|
307
|
-
it 'says
|
221
|
+
it 'says WARNING - test 1 2 3' do
|
308
222
|
begin
|
309
|
-
expect(
|
223
|
+
expect('test 1 2 3'.nagios_warning).to eql('WARNING - test 1 2 3')
|
310
224
|
rescue SystemExit => e
|
311
225
|
_actual = e.status
|
312
226
|
end
|
313
227
|
end
|
314
228
|
|
315
|
-
it 'the exit value should be
|
229
|
+
it 'the exit value should be 1' do
|
316
230
|
begin
|
317
|
-
|
231
|
+
'test 1 2 3'.nagios_warning
|
318
232
|
rescue SystemExit => e
|
319
|
-
expect(e.status).to eq(
|
233
|
+
expect(e.status).to eq(1)
|
320
234
|
end
|
321
235
|
end
|
322
236
|
end
|
@@ -324,27 +238,27 @@ RSpec.describe NagiosOutput do
|
|
324
238
|
context 'Without a message' do
|
325
239
|
it 'says nothing at all' do
|
326
240
|
begin
|
327
|
-
expect(
|
241
|
+
expect(''.nagios_warning).to eql('')
|
328
242
|
rescue SystemExit => e
|
329
243
|
_actual = e.status
|
330
244
|
end
|
331
245
|
end
|
332
246
|
|
333
|
-
it 'the exit value should be
|
247
|
+
it 'the exit value should be 1' do
|
334
248
|
begin
|
335
|
-
|
249
|
+
''.nagios_warning
|
336
250
|
rescue SystemExit => e
|
337
|
-
expect(e.status).to eq(
|
251
|
+
expect(e.status).to eq(1)
|
338
252
|
end
|
339
253
|
end
|
340
254
|
end
|
341
255
|
end
|
342
256
|
|
343
|
-
context '
|
257
|
+
context 'Test critical()' do
|
344
258
|
context 'With a message' do
|
345
259
|
it 'says CRITICAL - test 1 2 3' do
|
346
260
|
begin
|
347
|
-
expect(
|
261
|
+
expect('test 1 2 3'.nagios_critical).to eql('CRITICAL - test 1 2 3')
|
348
262
|
rescue SystemExit => e
|
349
263
|
_actual = e.status
|
350
264
|
end
|
@@ -352,7 +266,7 @@ RSpec.describe NagiosOutput do
|
|
352
266
|
|
353
267
|
it 'the exit value should be 2' do
|
354
268
|
begin
|
355
|
-
|
269
|
+
'test 1 2 3'.nagios_critical
|
356
270
|
rescue SystemExit => e
|
357
271
|
expect(e.status).to eq(2)
|
358
272
|
end
|
@@ -362,7 +276,7 @@ RSpec.describe NagiosOutput do
|
|
362
276
|
context 'Without a message' do
|
363
277
|
it 'says nothing at all' do
|
364
278
|
begin
|
365
|
-
expect(
|
279
|
+
expect(''.nagios_critical).to eql('')
|
366
280
|
rescue SystemExit => e
|
367
281
|
_actual = e.status
|
368
282
|
end
|
@@ -370,25 +284,19 @@ RSpec.describe NagiosOutput do
|
|
370
284
|
|
371
285
|
it 'the exit value should be 2' do
|
372
286
|
begin
|
373
|
-
|
287
|
+
''.nagios_critical
|
374
288
|
rescue SystemExit => e
|
375
289
|
expect(e.status).to eq(2)
|
376
290
|
end
|
377
291
|
end
|
378
292
|
end
|
379
293
|
end
|
380
|
-
end
|
381
|
-
|
382
|
-
context 'Test unknown()' do
|
383
|
-
context 'Class method access' do
|
384
|
-
before(:each) do
|
385
|
-
@n = NagiosOutput.new
|
386
|
-
end
|
387
294
|
|
295
|
+
context 'Test unknown()' do
|
388
296
|
context 'With a message' do
|
389
297
|
it 'says UNKNOWN - test 1 2 3' do
|
390
298
|
begin
|
391
|
-
expect(
|
299
|
+
expect('test 1 2 3'.nagios_unknown).to eql('UNKNOWN - test 1 2 3')
|
392
300
|
rescue SystemExit => e
|
393
301
|
_actual = e.status
|
394
302
|
end
|
@@ -396,7 +304,7 @@ RSpec.describe NagiosOutput do
|
|
396
304
|
|
397
305
|
it 'the exit value should be 3' do
|
398
306
|
begin
|
399
|
-
|
307
|
+
'test 1 2 3'.nagios_unknown
|
400
308
|
rescue SystemExit => e
|
401
309
|
expect(e.status).to eq(3)
|
402
310
|
end
|
@@ -406,7 +314,7 @@ RSpec.describe NagiosOutput do
|
|
406
314
|
context 'Without a message' do
|
407
315
|
it 'says nothing at all' do
|
408
316
|
begin
|
409
|
-
expect(
|
317
|
+
expect(''.nagios_unknown).to eql('')
|
410
318
|
rescue SystemExit => e
|
411
319
|
_actual = e.status
|
412
320
|
end
|
@@ -414,79 +322,81 @@ RSpec.describe NagiosOutput do
|
|
414
322
|
|
415
323
|
it 'the exit value should be 3' do
|
416
324
|
begin
|
417
|
-
|
325
|
+
''.nagios_unknown
|
418
326
|
rescue SystemExit => e
|
419
327
|
expect(e.status).to eq(3)
|
420
328
|
end
|
421
329
|
end
|
422
330
|
end
|
423
331
|
end
|
332
|
+
end
|
424
333
|
|
425
|
-
|
426
|
-
|
427
|
-
@n = NagiosOutputStatic
|
428
|
-
end
|
429
|
-
|
334
|
+
context 'Int Accessor Method' do
|
335
|
+
context 'Test ok()' do
|
430
336
|
context 'With a message' do
|
431
|
-
it 'says
|
337
|
+
it 'says OK - 123' do
|
432
338
|
begin
|
433
|
-
expect(
|
339
|
+
expect(123.nagios_ok).to eql('OK - 123')
|
434
340
|
rescue SystemExit => e
|
435
341
|
_actual = e.status
|
436
342
|
end
|
437
343
|
end
|
438
344
|
|
439
|
-
it 'the exit value should be
|
345
|
+
it 'the exit value should be 0' do
|
440
346
|
begin
|
441
|
-
|
347
|
+
123.nagios_ok
|
442
348
|
rescue SystemExit => e
|
443
|
-
expect(e.status).to eq(
|
349
|
+
expect(e.status).to eq(0)
|
444
350
|
end
|
445
351
|
end
|
446
352
|
end
|
353
|
+
end
|
447
354
|
|
448
|
-
|
449
|
-
|
355
|
+
context 'Test warning()' do
|
356
|
+
context 'With a message' do
|
357
|
+
it 'says WARNING - 123' do
|
450
358
|
begin
|
451
|
-
expect(
|
359
|
+
expect(123.nagios_warning).to eql('WARNING - 123')
|
452
360
|
rescue SystemExit => e
|
453
361
|
_actual = e.status
|
454
362
|
end
|
455
363
|
end
|
456
364
|
|
457
|
-
it 'the exit value should be
|
365
|
+
it 'the exit value should be 1' do
|
458
366
|
begin
|
459
|
-
|
367
|
+
123.nagios_warning
|
460
368
|
rescue SystemExit => e
|
461
|
-
expect(e.status).to eq(
|
369
|
+
expect(e.status).to eq(1)
|
462
370
|
end
|
463
371
|
end
|
464
372
|
end
|
465
373
|
end
|
466
374
|
|
467
|
-
context '
|
375
|
+
context 'Test critical()' do
|
468
376
|
context 'With a message' do
|
469
|
-
it 'says
|
377
|
+
it 'says CRITICAL - 123' do
|
470
378
|
begin
|
471
|
-
expect(
|
379
|
+
expect(123.nagios_critical).to eql('CRITICAL - 123')
|
472
380
|
rescue SystemExit => e
|
473
381
|
_actual = e.status
|
474
382
|
end
|
475
383
|
end
|
476
384
|
|
477
|
-
it 'the exit value should be
|
385
|
+
it 'the exit value should be 2' do
|
478
386
|
begin
|
479
|
-
|
387
|
+
123.nagios_critical
|
480
388
|
rescue SystemExit => e
|
481
|
-
expect(e.status).to eq(
|
389
|
+
expect(e.status).to eq(2)
|
482
390
|
end
|
483
391
|
end
|
484
392
|
end
|
393
|
+
end
|
485
394
|
|
486
|
-
|
487
|
-
|
395
|
+
context 'Test unknown()' do
|
396
|
+
context 'With a message' do
|
397
|
+
it 'says UNKNOWN - 123' do
|
488
398
|
begin
|
489
|
-
expect(
|
399
|
+
expect(123.nagios_unknown).to eql('UNKNOWN - 123')
|
490
400
|
rescue SystemExit => e
|
491
401
|
_actual = e.status
|
492
402
|
end
|
@@ -494,7 +404,7 @@ RSpec.describe NagiosOutput do
|
|
494
404
|
|
495
405
|
it 'the exit value should be 3' do
|
496
406
|
begin
|
497
|
-
|
407
|
+
123.nagios_unknown
|
498
408
|
rescue SystemExit => e
|
499
409
|
expect(e.status).to eq(3)
|
500
410
|
end
|
@@ -502,6 +412,16 @@ RSpec.describe NagiosOutput do
|
|
502
412
|
end
|
503
413
|
end
|
504
414
|
end
|
415
|
+
|
416
|
+
context 'Test Error Handling' do
|
417
|
+
it 'Test invalid set colour type raises an exception direct call' do
|
418
|
+
expect { NagiosOutput::Nagios.use_colour('invalid') }.to raise_error(ArgumentError, 'Invalid option: use true or false only')
|
419
|
+
end
|
420
|
+
|
421
|
+
it 'Test invalid set colour type raises an exception aliases call' do
|
422
|
+
expect { NagiosOutput::Nagios.use_color('invalid') }.to raise_error(ArgumentError, 'Invalid option: use true or false only')
|
423
|
+
end
|
424
|
+
end
|
505
425
|
end
|
506
426
|
|
507
427
|
# rubocop:enable Metrics/BlockLength
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nagios_output
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Gurney aka Wolf
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- bin/setup
|
89
89
|
- example/example.rb
|
90
90
|
- lib/nagios_output.rb
|
91
|
+
- lib/nagios_output/overloads.rb
|
91
92
|
- lib/nagios_output/version.rb
|
92
93
|
- nagios_output.gemspec
|
93
94
|
- spec/nagios_output_spec.rb
|