opticon 0.0.1
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/CHANGELOG.txt +0 -0
- data/History.txt +0 -0
- data/Manifest.txt +24 -0
- data/README.txt +15 -0
- data/Rakefile +55 -0
- data/examples/sample.rb +58 -0
- data/lib/opticon.rb +19 -0
- data/lib/opticon/failure.rb +40 -0
- data/lib/opticon/http.rb +39 -0
- data/lib/opticon/mailer.rb +20 -0
- data/lib/opticon/mailer/failure_notification.rhtml +5 -0
- data/lib/opticon/notifier.rb +18 -0
- data/lib/opticon/runner.rb +4 -0
- data/lib/opticon/service.rb +67 -0
- data/lib/opticon/tester.rb +118 -0
- data/lib/opticon/version.rb +9 -0
- data/setup.rb +1585 -0
- data/test/opticon/http_test.rb +45 -0
- data/test/opticon/mailer_test.rb +26 -0
- data/test/opticon/tester_test.rb +77 -0
- data/test/opticon_test.rb +11 -0
- data/test/test_helper.rb +2 -0
- metadata +78 -0
@@ -0,0 +1,45 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
+
|
3
|
+
class Opticon::HTTPTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@test_uri = URI.parse("http://google.com")
|
7
|
+
@test_https_uri = URI.parse("https://www.google.com/accounts/ServiceLogin")
|
8
|
+
|
9
|
+
@http = TestHTTP.new
|
10
|
+
@http.extend Opticon::HTTP
|
11
|
+
|
12
|
+
@http.uri = @test_uri
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_get
|
16
|
+
assert_kind_of Net::HTTPResponse, @http.get(@test_uri)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_response
|
20
|
+
assert_kind_of Net::HTTPResponse, @http.response
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_response_reuse
|
24
|
+
response = @http.response
|
25
|
+
|
26
|
+
assert_equal response.object_id, @http.response.object_id
|
27
|
+
|
28
|
+
@http.uri = "http://www.google.ca"
|
29
|
+
|
30
|
+
response2 = @http.response
|
31
|
+
assert_not_equal response.object_id, @http.response.object_id
|
32
|
+
assert_equal response2.object_id, @http.response.object_id
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_https_get
|
36
|
+
@http.uri = @test_https_uri
|
37
|
+
assert_kind_of Net::HTTPResponse, @http.response
|
38
|
+
assert_match "Sign in", @http.response.body
|
39
|
+
end
|
40
|
+
|
41
|
+
class TestHTTP
|
42
|
+
include Opticon::HTTP
|
43
|
+
attr_accessor :uri
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
+
require 'net/http'
|
3
|
+
require 'opticon/failure'
|
4
|
+
require 'opticon/notifier'
|
5
|
+
require 'opticon/mailer'
|
6
|
+
|
7
|
+
class Opticon::HTTPTest < Test::Unit::TestCase
|
8
|
+
|
9
|
+
class DummyFailure < Opticon::Failure::Base
|
10
|
+
def failure_message
|
11
|
+
"This is a test!"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def setup
|
16
|
+
@failure = DummyFailure.new("http://nowhere.test/test", 200, nil)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_failure_notification
|
20
|
+
email = Opticon::Mailer.create_failure_notification(@failure, "test@test.ruby", "opticon@test.ruby")
|
21
|
+
assert_match(@failure.uri, email.subject)
|
22
|
+
assert_equal("test@test.ruby", email.to.first)
|
23
|
+
assert_match(@failure.uri, email.body)
|
24
|
+
assert_match(@failure.failure_message, email.body)
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
+
|
3
|
+
class Opticon::HTTPTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_response_code_tester
|
9
|
+
tester = Opticon::Tester::ResponseCodeTester.new
|
10
|
+
tester.uri = "http://www.yahoo.com"
|
11
|
+
|
12
|
+
assert tester.test(:success)
|
13
|
+
assert tester.test(200)
|
14
|
+
assert tester.test([200, 302])
|
15
|
+
assert !tester.test(:server_error)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_response_code_tester_failure
|
19
|
+
tester = Opticon::Tester::ResponseCodeTester.new
|
20
|
+
tester.uri = "http://www.yahoo.com/alskjdflaksjflkasjfklsTHIS_PAGE_DOESNT_EXIST"
|
21
|
+
|
22
|
+
assert tester.test(404)
|
23
|
+
assert !tester.test(:success)
|
24
|
+
assert_kind_of Opticon::Failure::ResponseCodeTestFailure, tester.failure
|
25
|
+
assert_equal 404.to_s, tester.failure.response.code.to_s
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_response_code_tester_cant_connect
|
29
|
+
tester = Opticon::Tester::ResponseCodeTester.new
|
30
|
+
tester.uri = "http://there.is.no.such.server.foobarblah/test"
|
31
|
+
|
32
|
+
assert !tester.test(:success)
|
33
|
+
assert_kind_of Opticon::Failure::ConnectionFailure, tester.failure
|
34
|
+
|
35
|
+
tester = Opticon::Tester::ResponseCodeTester.new
|
36
|
+
tester.uri = "http://localhost:65489789"
|
37
|
+
|
38
|
+
assert !tester.test(:success)
|
39
|
+
assert_kind_of Opticon::Failure::ConnectionFailure, tester.failure
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_content_tester_string
|
43
|
+
tester = Opticon::Tester::ContentTester.new
|
44
|
+
|
45
|
+
tester.uri = "http://code.google.com/p/opticon/"
|
46
|
+
assert tester.test("matt.zukowski"), tester.failure
|
47
|
+
assert_nil tester.failure
|
48
|
+
|
49
|
+
bad_string = "THIS STRING DOESNT EXIST IN OPTICON's GOOGLE CODE PAGE!!!"
|
50
|
+
assert !tester.test(bad_string), tester.failure
|
51
|
+
assert_equal bad_string, tester.failure.condition
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_content_tester_regexp
|
55
|
+
tester = Opticon::Tester::ContentTester.new
|
56
|
+
|
57
|
+
tester.uri = "http://code.google.com/p/opticon/"
|
58
|
+
assert tester.test(/gnu general public license [23]\.[0-9]/i), tester.failure
|
59
|
+
assert_nil tester.failure
|
60
|
+
|
61
|
+
bad_regexp = /klasjfkljasdlkfjasklfjslkdfj/
|
62
|
+
assert !tester.test(bad_regexp), tester.failure
|
63
|
+
assert_equal bad_regexp, tester.failure.condition
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_content_tester_fail_on_redirect
|
67
|
+
tester = Opticon::Tester::ContentTester.new
|
68
|
+
|
69
|
+
tester.uri = "http://google.com/"
|
70
|
+
# google will try to redirect to http://www.google.com/
|
71
|
+
assert_equal 302, tester.response.code.to_i
|
72
|
+
assert !tester.test("Google Search"), tester.failure
|
73
|
+
assert_equal "http://www.google.com/", tester.failure.response['location']
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
end
|
data/test/test_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.9.0
|
3
|
+
specification_version: 1
|
4
|
+
name: opticon
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.0.1
|
7
|
+
date: 2007-02-20 00:00:00 -05:00
|
8
|
+
summary: Peace of mind through automated monitoring of your HTTP services.
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email: matt [at] roughest.net
|
12
|
+
homepage: http://opticon.rubyforge.org
|
13
|
+
rubyforge_project: opticon
|
14
|
+
description: Peace of mind through automated monitoring of your HTTP services.
|
15
|
+
autorequire:
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: true
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
24
|
+
version:
|
25
|
+
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
post_install_message:
|
29
|
+
authors:
|
30
|
+
- Matt Zukowski
|
31
|
+
files:
|
32
|
+
- Rakefile
|
33
|
+
- README.txt
|
34
|
+
- CHANGELOG.txt
|
35
|
+
- History.txt
|
36
|
+
- Manifest.txt
|
37
|
+
- examples/sample.rb
|
38
|
+
- lib/opticon.rb
|
39
|
+
- lib/opticon/failure.rb
|
40
|
+
- lib/opticon/http.rb
|
41
|
+
- lib/opticon/mailer.rb
|
42
|
+
- lib/opticon/mailer/failure_notification.rhtml
|
43
|
+
- lib/opticon/notifier.rb
|
44
|
+
- lib/opticon/runner.rb
|
45
|
+
- lib/opticon/service.rb
|
46
|
+
- lib/opticon/tester.rb
|
47
|
+
- lib/opticon/version.rb
|
48
|
+
- setup.rb
|
49
|
+
- test/opticon/http_test.rb
|
50
|
+
- test/opticon/mailer_test.rb
|
51
|
+
- test/opticon/tester_test.rb
|
52
|
+
- test/opticon_test.rb
|
53
|
+
- test/test_helper.rb
|
54
|
+
test_files:
|
55
|
+
- test/opticon_test.rb
|
56
|
+
- test/opticon/tester_test.rb
|
57
|
+
- test/opticon/mailer_test.rb
|
58
|
+
- test/opticon/http_test.rb
|
59
|
+
rdoc_options: []
|
60
|
+
|
61
|
+
extra_rdoc_files: []
|
62
|
+
|
63
|
+
executables: []
|
64
|
+
|
65
|
+
extensions: []
|
66
|
+
|
67
|
+
requirements: []
|
68
|
+
|
69
|
+
dependencies:
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: actionmailer
|
72
|
+
version_requirement:
|
73
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.0.0
|
78
|
+
version:
|