hq-check-site 0.0.0 → 0.1.0
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/bin/hq-check-site +3 -8
- data/features/body-regex.feature +29 -0
- data/features/config-edge-cases.feature +21 -0
- data/features/errors.feature +36 -0
- data/features/headers-auth.feature +42 -0
- data/features/http-auth.feature +28 -0
- data/features/login-form.feature +28 -0
- data/features/support/env.rb +11 -0
- data/features/support/steps.rb +17 -0
- data/features/timeout.feature +38 -0
- data/lib/hq/check-site/script.rb +15 -9
- metadata +15 -19
- data/features/check-site.feature +0 -178
data/bin/hq-check-site
CHANGED
@@ -1,15 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
4
|
-
script_path = File.readlink(script_path) while File.symlink?(script_path)
|
5
|
-
CONFIG = File.expand_path("#{File.dirname(script_path)}/../..")
|
6
|
-
$LOAD_PATH.unshift "#{CONFIG}/alchemy-hq/ruby"
|
3
|
+
require "hq/check-site/script"
|
7
4
|
|
8
|
-
|
5
|
+
include HQ::CheckSite
|
9
6
|
|
10
|
-
|
11
|
-
|
12
|
-
script = CheckSiteScript.new
|
7
|
+
script = Script.new
|
13
8
|
script.args = ARGV
|
14
9
|
script.main
|
15
10
|
exit script.status
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Feature: Check for regex in HTTP response
|
2
|
+
|
3
|
+
Background:
|
4
|
+
|
5
|
+
Given a config "regex":
|
6
|
+
"""
|
7
|
+
<check-site-script base-url="http://hostname:${port}">
|
8
|
+
<timings warning="2" critical="4" timeout="10"/>
|
9
|
+
<step name="page">
|
10
|
+
<request path="/page"/>
|
11
|
+
<response body-regex="y+e+s+"/>
|
12
|
+
</step>
|
13
|
+
</check-site-script>
|
14
|
+
"""
|
15
|
+
|
16
|
+
Scenario: Body contains regex
|
17
|
+
Given one server which responds with "-yes-"
|
18
|
+
When check-site is run with config "regex"
|
19
|
+
Then all servers should receive page requests
|
20
|
+
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
21
|
+
And the status should be 0
|
22
|
+
|
23
|
+
Scenario: Body does not contain regex
|
24
|
+
Given one server which responds with "-yes-"
|
25
|
+
And one server which responds with "-no-"
|
26
|
+
When check-site is run with config "regex"
|
27
|
+
Then all servers should receive page requests
|
28
|
+
And the message should be "Site CRITICAL: 2 hosts found, 1 mismatches, 0.0s time"
|
29
|
+
And the status should be 2
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Feature: Function correctly in edge cases based on config file
|
2
|
+
|
3
|
+
Background:
|
4
|
+
|
5
|
+
Given a config "no-path":
|
6
|
+
"""
|
7
|
+
<check-site-script base-url="http://hostname:${port}/page">
|
8
|
+
<timings warning="2" critical="4" timeout="10"/>
|
9
|
+
<step name="page">
|
10
|
+
<request/>
|
11
|
+
<response/>
|
12
|
+
</step>
|
13
|
+
</check-site-script>
|
14
|
+
"""
|
15
|
+
|
16
|
+
Scenario: No path specified
|
17
|
+
Given one server which responds in 0 seconds
|
18
|
+
When check-site is run with config "no-path"
|
19
|
+
Then all servers should receive page requests
|
20
|
+
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
21
|
+
And the status should be 0
|
@@ -0,0 +1,36 @@
|
|
1
|
+
Feature: Handle various types of connection error
|
2
|
+
|
3
|
+
Background:
|
4
|
+
|
5
|
+
Given a config "default":
|
6
|
+
"""
|
7
|
+
<check-site-script base-url="http://hostname:${port}">
|
8
|
+
<timings warning="2" critical="4" timeout="10"/>
|
9
|
+
<step name="page">
|
10
|
+
<request path="/page"/>
|
11
|
+
<response/>
|
12
|
+
</step>
|
13
|
+
</check-site-script>
|
14
|
+
"""
|
15
|
+
|
16
|
+
Given a config "wrong-port":
|
17
|
+
"""
|
18
|
+
<check-site-script base-url="http://hostname:65535">
|
19
|
+
<timings warning="2" critical="4" timeout="10"/>
|
20
|
+
<step name="page">
|
21
|
+
<request path="/path"/>
|
22
|
+
<response/>
|
23
|
+
</step>
|
24
|
+
</check-site-script>
|
25
|
+
"""
|
26
|
+
|
27
|
+
Scenario: No servers
|
28
|
+
When check-site is run with config "default"
|
29
|
+
And the message should be "Site CRITICAL: unable to resolve hostname"
|
30
|
+
And the status should be 2
|
31
|
+
|
32
|
+
Scenario: Connection refused
|
33
|
+
Given one server which responds in 0 seconds
|
34
|
+
When check-site is run with config "wrong-port"
|
35
|
+
Then the message should be "Site CRITICAL: 1 hosts found, 1 uncontactable"
|
36
|
+
And the status should be 2
|
@@ -0,0 +1,42 @@
|
|
1
|
+
Feature: Authenticate via custom HTTP headers
|
2
|
+
|
3
|
+
Background:
|
4
|
+
|
5
|
+
Given a config "default":
|
6
|
+
"""
|
7
|
+
<check-site-script base-url="http://hostname:${port}">
|
8
|
+
<timings warning="2" critical="4" timeout="10"/>
|
9
|
+
<step name="page">
|
10
|
+
<request path="/page"/>
|
11
|
+
<response/>
|
12
|
+
</step>
|
13
|
+
</check-site-script>
|
14
|
+
"""
|
15
|
+
|
16
|
+
Given a config "headers-auth":
|
17
|
+
"""
|
18
|
+
<check-site-script base-url="http://hostname:${port}">
|
19
|
+
<timings warning="2" critical="4" timeout="10"/>
|
20
|
+
<step name="page">
|
21
|
+
<request path="/page">
|
22
|
+
<header name="username" value="USER"/>
|
23
|
+
<header name="password" value="PASS"/>
|
24
|
+
</request>
|
25
|
+
<response/>
|
26
|
+
</step>
|
27
|
+
</check-site-script>
|
28
|
+
"""
|
29
|
+
|
30
|
+
Scenario: Form based login success
|
31
|
+
Given one server which requires header based login
|
32
|
+
When check-site is run with config "headers-auth"
|
33
|
+
Then all servers should receive page requests
|
34
|
+
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
35
|
+
And the status should be 0
|
36
|
+
|
37
|
+
Scenario: Form based login failure
|
38
|
+
Given one server which requires header based login
|
39
|
+
When check-site is run with config "default"
|
40
|
+
Then all servers should receive page requests
|
41
|
+
And the message should be "Site CRITICAL: 1 hosts found, 1 errors (500), 0.0s time"
|
42
|
+
And the status should be 2
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Feature: Supply credentials via HTTP authentication
|
2
|
+
|
3
|
+
Background:
|
4
|
+
|
5
|
+
Given a config "http-auth":
|
6
|
+
"""
|
7
|
+
<check-site-script base-url="http://hostname:${port}">
|
8
|
+
<timings warning="2" critical="4" timeout="10"/>
|
9
|
+
<step name="page">
|
10
|
+
<request path="/page" username="USER" password="PASS"/>
|
11
|
+
<response/>
|
12
|
+
</step>
|
13
|
+
</check-site-script>
|
14
|
+
"""
|
15
|
+
|
16
|
+
Scenario: Username and password are correct
|
17
|
+
Given one server which requires username "USER" and password "PASS"
|
18
|
+
When check-site is run with config "http-auth"
|
19
|
+
Then all servers should receive page requests
|
20
|
+
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
21
|
+
And the status should be 0
|
22
|
+
|
23
|
+
Scenario: Username and password are incorrect
|
24
|
+
Given one server which requires username "USER" and password "SECRET"
|
25
|
+
When check-site is run with config "http-auth"
|
26
|
+
Then all servers should receive page requests
|
27
|
+
And the message should be "Site CRITICAL: 1 hosts found, 1 errors (401), 0.0s time"
|
28
|
+
And the status should be 2
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Feature: Log in via an HTML form
|
2
|
+
|
3
|
+
Background:
|
4
|
+
|
5
|
+
Given a config "form-auth":
|
6
|
+
"""
|
7
|
+
<check-site-script base-url="http://hostname:${port}">
|
8
|
+
<timings warning="2" critical="4" timeout="10"/>
|
9
|
+
<step name="login">
|
10
|
+
<request path="/login" method="post">
|
11
|
+
<param name="username" value="USER"/>
|
12
|
+
<param name="password" value="PASS"/>
|
13
|
+
</request>
|
14
|
+
<response/>
|
15
|
+
</step>
|
16
|
+
<step name="page">
|
17
|
+
<request path="/page" username="USER" password="PASS"/>
|
18
|
+
<response/>
|
19
|
+
</step>
|
20
|
+
</check-site-script>
|
21
|
+
"""
|
22
|
+
|
23
|
+
Scenario: Form based login
|
24
|
+
Given one server which requires form based login with "USER" and "PASS"
|
25
|
+
When check-site is run with config "form-auth"
|
26
|
+
Then all servers should receive page requests
|
27
|
+
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
28
|
+
And the status should be 0
|
data/features/support/env.rb
CHANGED
@@ -11,6 +11,8 @@ $web_config = {
|
|
11
11
|
:DoNotReverseLookup => true,
|
12
12
|
}
|
13
13
|
|
14
|
+
$servers = {}
|
15
|
+
|
14
16
|
$web_server =
|
15
17
|
WEBrick::HTTPServer.new \
|
16
18
|
$web_config
|
@@ -63,11 +65,13 @@ $web_server.mount_proc "/page" do
|
|
63
65
|
server[:request_count] += 1
|
64
66
|
|
65
67
|
if server[:auth_method] == :http
|
68
|
+
|
66
69
|
WEBrick::HTTPAuth.basic_auth request, response, "Realm" do
|
67
70
|
|user, pass|
|
68
71
|
user == server[:auth_username] &&
|
69
72
|
pass == server[:auth_password]
|
70
73
|
end
|
74
|
+
|
71
75
|
end
|
72
76
|
|
73
77
|
if server[:auth_method] == :form
|
@@ -86,6 +90,13 @@ $web_server.mount_proc "/page" do
|
|
86
90
|
|
87
91
|
end
|
88
92
|
|
93
|
+
if server[:auth_method] == :headers
|
94
|
+
|
95
|
+
raise "username" unless request["username"] == "USER"
|
96
|
+
raise "password" unless request["password"] == "PASS"
|
97
|
+
|
98
|
+
end
|
99
|
+
|
89
100
|
response.status = server[:response_code]
|
90
101
|
response.body = server[:response_body]
|
91
102
|
|
data/features/support/steps.rb
CHANGED
@@ -69,6 +69,23 @@ Given /^one server which requires form based login with "([^"]*)" and "([^"]*)"$
|
|
69
69
|
|
70
70
|
end
|
71
71
|
|
72
|
+
Given /^one server which requires header based login$/ do
|
73
|
+
|
74
|
+
server = {
|
75
|
+
address: "127.0.1.#{$servers.size}",
|
76
|
+
request_count: 0,
|
77
|
+
response_code: "200",
|
78
|
+
response_time: 0,
|
79
|
+
response_body: "",
|
80
|
+
auth_method: :headers,
|
81
|
+
auth_username: "USER",
|
82
|
+
auth_password: "PASS",
|
83
|
+
}
|
84
|
+
|
85
|
+
$servers[server[:address]] = server
|
86
|
+
|
87
|
+
end
|
88
|
+
|
72
89
|
When /^check\-site is run with config "([^"]*)"$/ do
|
73
90
|
|config_name|
|
74
91
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
Feature: Handle timeout correctly
|
2
|
+
|
3
|
+
Background:
|
4
|
+
|
5
|
+
Given a config "default":
|
6
|
+
"""
|
7
|
+
<check-site-script base-url="http://hostname:${port}">
|
8
|
+
<timings warning="2" critical="4" timeout="10"/>
|
9
|
+
<step name="page">
|
10
|
+
<request path="/page"/>
|
11
|
+
<response/>
|
12
|
+
</step>
|
13
|
+
</check-site-script>
|
14
|
+
"""
|
15
|
+
|
16
|
+
Given a config "timeout":
|
17
|
+
"""
|
18
|
+
<check-site-script base-url="http://hostname:${port}">
|
19
|
+
<timings warning="2" critical="4" timeout="0"/>
|
20
|
+
<step name="page">
|
21
|
+
<request path="/page"/>
|
22
|
+
<response/>
|
23
|
+
</step>
|
24
|
+
</check-site-script>
|
25
|
+
"""
|
26
|
+
|
27
|
+
Scenario: Timeout does not expire
|
28
|
+
Given one server which responds in 0 seconds
|
29
|
+
When check-site is run with config "default"
|
30
|
+
Then all servers should receive page requests
|
31
|
+
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
32
|
+
And the status should be 0
|
33
|
+
|
34
|
+
Scenario: Timeout expires
|
35
|
+
Given one server which responds in 0 seconds
|
36
|
+
When check-site is run with config "timeout"
|
37
|
+
And the message should be "Site CRITICAL: 1 hosts found, 1 uncontactable"
|
38
|
+
And the status should be 2
|
data/lib/hq/check-site/script.rb
CHANGED
@@ -12,12 +12,6 @@ module HQ
|
|
12
12
|
module CheckSite
|
13
13
|
class Script < Tools::CheckScript
|
14
14
|
|
15
|
-
# custom http class allows us to connect to a different address
|
16
|
-
|
17
|
-
class CustomHTTP < Net::HTTP
|
18
|
-
attr_accessor :conn_address
|
19
|
-
end
|
20
|
-
|
21
15
|
def initialize
|
22
16
|
super
|
23
17
|
@name = "Site"
|
@@ -122,8 +116,13 @@ class Script < Tools::CheckScript
|
|
122
116
|
|
123
117
|
# open http connection
|
124
118
|
|
125
|
-
http =
|
126
|
-
|
119
|
+
http =
|
120
|
+
Net::HTTP.new \
|
121
|
+
@base_url.host,
|
122
|
+
@base_url.port,
|
123
|
+
address,
|
124
|
+
@base_url.port
|
125
|
+
|
127
126
|
http.open_timeout = @timeout_time
|
128
127
|
http.read_timeout = @timeout_time
|
129
128
|
http.use_ssl = @base_url.scheme == "https"
|
@@ -176,7 +175,7 @@ class Script < Tools::CheckScript
|
|
176
175
|
raise "error"
|
177
176
|
end
|
178
177
|
|
179
|
-
# set headers
|
178
|
+
# set standard headers
|
180
179
|
|
181
180
|
req["host"] = @base_url.host
|
182
181
|
req["user-agent"] = "hq check-site"
|
@@ -189,6 +188,13 @@ class Script < Tools::CheckScript
|
|
189
188
|
}.join ", "
|
190
189
|
end
|
191
190
|
|
191
|
+
# set custom headers
|
192
|
+
|
193
|
+
request_elem.find("header").each do
|
194
|
+
|header_elem|
|
195
|
+
req[header_elem["name"]] = header_elem["value"]
|
196
|
+
end
|
197
|
+
|
192
198
|
# set http auth
|
193
199
|
|
194
200
|
if request_elem["username"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hq-check-site
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -43,22 +43,6 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 2.6.0
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: capybara
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 2.0.2
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 2.0.2
|
62
46
|
- !ruby/object:Gem::Dependency
|
63
47
|
name: cucumber
|
64
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,7 +132,13 @@ extensions: []
|
|
148
132
|
extra_rdoc_files: []
|
149
133
|
files:
|
150
134
|
- lib/hq/check-site/script.rb
|
151
|
-
- features/
|
135
|
+
- features/headers-auth.feature
|
136
|
+
- features/config-edge-cases.feature
|
137
|
+
- features/http-auth.feature
|
138
|
+
- features/timeout.feature
|
139
|
+
- features/body-regex.feature
|
140
|
+
- features/errors.feature
|
141
|
+
- features/login-form.feature
|
152
142
|
- features/support/steps.rb
|
153
143
|
- features/support/env.rb
|
154
144
|
- bin/hq-check-site
|
@@ -177,6 +167,12 @@ signing_key:
|
|
177
167
|
specification_version: 3
|
178
168
|
summary: HQ check site script
|
179
169
|
test_files:
|
180
|
-
- features/
|
170
|
+
- features/headers-auth.feature
|
171
|
+
- features/config-edge-cases.feature
|
172
|
+
- features/http-auth.feature
|
173
|
+
- features/timeout.feature
|
174
|
+
- features/body-regex.feature
|
175
|
+
- features/errors.feature
|
176
|
+
- features/login-form.feature
|
181
177
|
- features/support/steps.rb
|
182
178
|
- features/support/env.rb
|
data/features/check-site.feature
DELETED
@@ -1,178 +0,0 @@
|
|
1
|
-
Feature: Check site script
|
2
|
-
|
3
|
-
Background:
|
4
|
-
|
5
|
-
Given a config "default":
|
6
|
-
"""
|
7
|
-
<check-site-script base-url="http://hostname:${port}">
|
8
|
-
<timings warning="2" critical="4" timeout="10"/>
|
9
|
-
<step name="page">
|
10
|
-
<request path="/page"/>
|
11
|
-
<response/>
|
12
|
-
</step>
|
13
|
-
</check-site-script>
|
14
|
-
"""
|
15
|
-
|
16
|
-
Given a config "regex":
|
17
|
-
"""
|
18
|
-
<check-site-script base-url="http://hostname:${port}">
|
19
|
-
<timings warning="2" critical="4" timeout="10"/>
|
20
|
-
<step name="page">
|
21
|
-
<request path="/page"/>
|
22
|
-
<response body-regex="y+e+s+"/>
|
23
|
-
</step>
|
24
|
-
</check-site-script>
|
25
|
-
"""
|
26
|
-
|
27
|
-
Given a config "timeout":
|
28
|
-
"""
|
29
|
-
<check-site-script base-url="http://hostname:${port}">
|
30
|
-
<timings warning="2" critical="4" timeout="0"/>
|
31
|
-
<step name="page">
|
32
|
-
<request path="/page"/>
|
33
|
-
<response/>
|
34
|
-
</step>
|
35
|
-
</check-site-script>
|
36
|
-
"""
|
37
|
-
|
38
|
-
Given a config "http-auth":
|
39
|
-
"""
|
40
|
-
<check-site-script base-url="http://hostname:${port}">
|
41
|
-
<timings warning="2" critical="4" timeout="10"/>
|
42
|
-
<step name="page">
|
43
|
-
<request path="/page" username="USER" password="PASS"/>
|
44
|
-
<response/>
|
45
|
-
</step>
|
46
|
-
</check-site-script>
|
47
|
-
"""
|
48
|
-
|
49
|
-
Given a config "form-auth":
|
50
|
-
"""
|
51
|
-
<check-site-script base-url="http://hostname:${port}">
|
52
|
-
<timings warning="2" critical="4" timeout="10"/>
|
53
|
-
<step name="login">
|
54
|
-
<request path="/login" method="post">
|
55
|
-
<param name="username" value="USER"/>
|
56
|
-
<param name="password" value="PASS"/>
|
57
|
-
</request>
|
58
|
-
<response/>
|
59
|
-
</step>
|
60
|
-
<step name="page">
|
61
|
-
<request path="/page" username="USER" password="PASS"/>
|
62
|
-
<response/>
|
63
|
-
</step>
|
64
|
-
</check-site-script>
|
65
|
-
"""
|
66
|
-
|
67
|
-
Given a config "no-path":
|
68
|
-
"""
|
69
|
-
<check-site-script base-url="http://hostname:${port}/page">
|
70
|
-
<timings warning="2" critical="4" timeout="10"/>
|
71
|
-
<step name="page">
|
72
|
-
<request/>
|
73
|
-
<response/>
|
74
|
-
</step>
|
75
|
-
</check-site-script>
|
76
|
-
"""
|
77
|
-
|
78
|
-
Given a config "wrong-port":
|
79
|
-
"""
|
80
|
-
<check-site-script base-url="http://hostname:65535">
|
81
|
-
<timings warning="2" critical="4" timeout="10"/>
|
82
|
-
<step name="page">
|
83
|
-
<request path="/path"/>
|
84
|
-
<response/>
|
85
|
-
</step>
|
86
|
-
</check-site-script>
|
87
|
-
"""
|
88
|
-
|
89
|
-
Scenario: Site responds in ok time
|
90
|
-
Given one server which responds in 1 second
|
91
|
-
When check-site is run with config "default"
|
92
|
-
Then all servers should receive page requests
|
93
|
-
And the message should be "Site OK: 1 hosts found, 1.0s time"
|
94
|
-
And the status should be 0
|
95
|
-
|
96
|
-
Scenario: Site responds in warning time
|
97
|
-
Given one server which responds in 1 second
|
98
|
-
And one server which responds in 3 seconds
|
99
|
-
When check-site is run with config "default"
|
100
|
-
Then all servers should receive page requests
|
101
|
-
And the message should be "Site WARNING: 2 hosts found, 3.0s time (warning is 2.0)"
|
102
|
-
And the status should be 1
|
103
|
-
|
104
|
-
Scenario: Site responds in critical time
|
105
|
-
Given one server which responds in 1 second
|
106
|
-
And one server which responds in 3 seconds
|
107
|
-
And one server which responds in 5 seconds
|
108
|
-
When check-site is run with config "default"
|
109
|
-
Then all servers should receive page requests
|
110
|
-
And the message should be "Site CRITICAL: 3 hosts found, 5.0s time (critical is 4.0)"
|
111
|
-
And the status should be 2
|
112
|
-
|
113
|
-
Scenario: Body contains regex
|
114
|
-
Given one server which responds with "-yes-"
|
115
|
-
When check-site is run with config "regex"
|
116
|
-
Then all servers should receive page requests
|
117
|
-
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
118
|
-
And the status should be 0
|
119
|
-
|
120
|
-
Scenario: Body does not contain regex
|
121
|
-
Given one server which responds with "-yes-"
|
122
|
-
And one server which responds with "-no-"
|
123
|
-
When check-site is run with config "regex"
|
124
|
-
Then all servers should receive page requests
|
125
|
-
And the message should be "Site CRITICAL: 2 hosts found, 1 mismatches, 0.0s time"
|
126
|
-
And the status should be 2
|
127
|
-
|
128
|
-
Scenario: Timeout does not expire
|
129
|
-
Given one server which responds in 0 seconds
|
130
|
-
When check-site is run with config "default"
|
131
|
-
Then all servers should receive page requests
|
132
|
-
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
133
|
-
And the status should be 0
|
134
|
-
|
135
|
-
Scenario: Timeout expires
|
136
|
-
Given one server which responds in 0 seconds
|
137
|
-
When check-site is run with config "timeout"
|
138
|
-
And the message should be "Site CRITICAL: 1 hosts found, 1 uncontactable"
|
139
|
-
And the status should be 2
|
140
|
-
|
141
|
-
Scenario: Username and password are correct
|
142
|
-
Given one server which requires username "USER" and password "PASS"
|
143
|
-
When check-site is run with config "http-auth"
|
144
|
-
Then all servers should receive page requests
|
145
|
-
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
146
|
-
And the status should be 0
|
147
|
-
|
148
|
-
Scenario: Username and password are incorrect
|
149
|
-
Given one server which requires username "USER" and password "SECRET"
|
150
|
-
When check-site is run with config "http-auth"
|
151
|
-
Then all servers should receive page requests
|
152
|
-
And the message should be "Site CRITICAL: 1 hosts found, 1 errors (401), 0.0s time"
|
153
|
-
And the status should be 2
|
154
|
-
|
155
|
-
Scenario: No servers
|
156
|
-
When check-site is run with config "default"
|
157
|
-
And the message should be "Site CRITICAL: unable to resolve hostname"
|
158
|
-
And the status should be 2
|
159
|
-
|
160
|
-
Scenario: Form based login
|
161
|
-
Given one server which requires form based login with "USER" and "PASS"
|
162
|
-
When check-site is run with config "form-auth"
|
163
|
-
Then all servers should receive page requests
|
164
|
-
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
165
|
-
And the status should be 0
|
166
|
-
|
167
|
-
Scenario: No path specified
|
168
|
-
Given one server which responds in 0 seconds
|
169
|
-
When check-site is run with config "no-path"
|
170
|
-
Then all servers should receive page requests
|
171
|
-
And the message should be "Site OK: 1 hosts found, 0.0s time"
|
172
|
-
And the status should be 0
|
173
|
-
|
174
|
-
Scenario: Connection refused
|
175
|
-
Given one server which responds in 0 seconds
|
176
|
-
When check-site is run with config "wrong-port"
|
177
|
-
Then the message should be "Site CRITICAL: 1 hosts found, 1 uncontactable"
|
178
|
-
And the status should be 2
|