health_check 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +62 -0
- data/README.rdoc +15 -9
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/gemfiles/rails1_2.gemfile +13 -0
- data/gemfiles/rails2_3.gemfile +18 -0
- data/gemfiles/rails3_0.gemfile +18 -0
- data/gemfiles/rails3_1.gemfile +18 -0
- data/gemfiles/rails3_2.gemfile +18 -0
- data/gemfiles/rails_edge.gemfile +24 -0
- data/health_check.gemspec +10 -2
- data/lib/health_check/health_check_controller.rb +1 -2
- data/test/fake_smtp_server +38 -0
- data/test/test_with_railsapp +127 -33
- metadata +12 -4
data/.travis.yml
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
language: ruby
|
2
|
+
notifications:
|
3
|
+
email:
|
4
|
+
on_success: change
|
5
|
+
on_failure: always
|
6
|
+
rvm:
|
7
|
+
- 1.8.7
|
8
|
+
- 1.9.3
|
9
|
+
- rbx-18mode
|
10
|
+
- rbx-19mode
|
11
|
+
- jruby-18mode
|
12
|
+
- jruby-19mode
|
13
|
+
#- jruby-head
|
14
|
+
#- ruby-head
|
15
|
+
- ree
|
16
|
+
before_install:
|
17
|
+
- gem update --system
|
18
|
+
- gem --version
|
19
|
+
- gem install bundler
|
20
|
+
- bundle --version
|
21
|
+
- mkdir -p tmp/bundle
|
22
|
+
|
23
|
+
gemfile:
|
24
|
+
- gemfiles/rails2_3.gemfile
|
25
|
+
- gemfiles/rails3_0.gemfile
|
26
|
+
- gemfiles/rails3_1.gemfile
|
27
|
+
- gemfiles/rails3_2.gemfile
|
28
|
+
#- gemfiles/rails_edge.gemfile
|
29
|
+
|
30
|
+
bundler_args: "--binstubs"
|
31
|
+
|
32
|
+
script: ./test/test_with_railsapp
|
33
|
+
|
34
|
+
matrix:
|
35
|
+
exclude:
|
36
|
+
- rvm: rbx-18mode
|
37
|
+
gemfile: gemfiles/rails2_3.gemfile
|
38
|
+
- rvm: rbx-19mode
|
39
|
+
gemfile: gemfiles/rails2_3.gemfile
|
40
|
+
- rvm: jruby-18mode
|
41
|
+
gemfile: gemfiles/rails2_3.gemfile
|
42
|
+
- rvm: jruby-19mode
|
43
|
+
gemfile: gemfiles/rails2_3.gemfile
|
44
|
+
- rvm: jruby-head
|
45
|
+
gemfile: gemfiles/rails2_3.gemfile
|
46
|
+
- rvm: ruby-head
|
47
|
+
gemfile: gemfiles/rails2_3.gemfile
|
48
|
+
- rvm: 1.9.3
|
49
|
+
gemfile: gemfiles/rails2_3.gemfile
|
50
|
+
|
51
|
+
- rvm: 1.8.7
|
52
|
+
gemfile: gemfiles/rails_edge.gemfile
|
53
|
+
- rvm: rbx-18mode
|
54
|
+
gemfile: gemfiles/rails_edge.gemfile
|
55
|
+
- rvm: jruby-18mode
|
56
|
+
gemfile: gemfiles/rails_edge.gemfile
|
57
|
+
- rvm: ree
|
58
|
+
gemfile: gemfiles/rails_edge.gemfile
|
59
|
+
allow_failures:
|
60
|
+
- gemfile: gemfiles/rails_edge.gemfile
|
61
|
+
- rvm: jruby-head
|
62
|
+
- rvm: ruby-head
|
data/README.rdoc
CHANGED
@@ -22,9 +22,11 @@ health_check provides various monitoring URIs
|
|
22
22
|
% curl localhost:3000/health_check/site_and_database_and_email_migrations
|
23
23
|
success
|
24
24
|
|
25
|
+
The health_check controller disables sessions and logging for its actions to minimise the impact of frequent uptime checks on the session store and the log file.
|
26
|
+
|
25
27
|
== Installation
|
26
28
|
|
27
|
-
|
29
|
+
=== As a Gem from rubygems (Rails 3.0 and above)
|
28
30
|
|
29
31
|
Add the following line to Gemfile
|
30
32
|
|
@@ -34,7 +36,7 @@ Then run
|
|
34
36
|
|
35
37
|
% bundle
|
36
38
|
|
37
|
-
|
39
|
+
=== As a Gem from rubygems (Rails 2.3)
|
38
40
|
|
39
41
|
Install the gem using the following command
|
40
42
|
|
@@ -44,7 +46,7 @@ Then add the following line to config/environment.rb within the config block
|
|
44
46
|
|
45
47
|
config.gem "health_check"
|
46
48
|
|
47
|
-
|
49
|
+
=== As a Plugin (Rails 2.3.x)
|
48
50
|
|
49
51
|
Run the following commands from the root of your rails application
|
50
52
|
|
@@ -56,10 +58,10 @@ Run the following commands from the root of your rails application
|
|
56
58
|
Use a website monitoring service to check the url regularly for the word "success" rather than just a 200 return code.
|
57
59
|
|
58
60
|
See
|
59
|
-
*
|
60
|
-
*
|
61
|
-
*
|
62
|
-
*
|
61
|
+
* Pingdom Website Monitoring - https://www.pingdom.com
|
62
|
+
* NewRelic Availability Monitoring - http://newrelic.com/docs/features/availability-monitoring-faq
|
63
|
+
* Uptime by OpenACS - http://uptime.openacs.org/uptime/
|
64
|
+
* Engine Yard's guide - https://support.cloud.engineyard.com/entries/20996821-monitor-application-uptime (although the guide is based on fitter_happier plugin it will also work with this gem)
|
63
65
|
* Any other montoring service that can be set to check for the word success in the test returned from a url
|
64
66
|
|
65
67
|
== Checks
|
@@ -89,7 +91,6 @@ See MIT-LICENSE for details.
|
|
89
91
|
== Known Issues
|
90
92
|
|
91
93
|
* No inline documentation for methods
|
92
|
-
|
93
94
|
* Feedback welcome especially with suggested replacement code and corresponding tests
|
94
95
|
|
95
96
|
== Similar projects
|
@@ -98,5 +99,10 @@ See MIT-LICENSE for details.
|
|
98
99
|
|
99
100
|
== Continuous integration tests
|
100
101
|
|
101
|
-
Travis CI testing result: {<img src="https://travis-ci.org/ianheggie/health_check.png" />}[https://travis-ci.org/ianheggie/health_check]
|
102
|
+
See Travis CI testing result: {<img src="https://travis-ci.org/ianheggie/health_check.png" />}[https://travis-ci.org/ianheggie/health_check]
|
103
|
+
|
104
|
+
== Versions
|
102
105
|
|
106
|
+
* 0.x - Rails 2.3
|
107
|
+
* 1.x - Includes Rails 3.x suppprt as an Engine
|
108
|
+
* 1.0.2 - Included travis config and gemfiles used in travis tests in gem and changes to test setup so that gem test
|
data/Rakefile
CHANGED
@@ -12,7 +12,6 @@ begin
|
|
12
12
|
gem.authors = ["Ian Heggie"]
|
13
13
|
# Gemfile contains gem dependencies, apart from bundler itself
|
14
14
|
gem.add_development_dependency 'bundler', '~> 1.2.0'
|
15
|
-
gem.files.exclude 'gemfiles/*', '.travis.yml'
|
16
15
|
|
17
16
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
18
17
|
end
|
@@ -26,6 +25,7 @@ end
|
|
26
25
|
# Tests are conducted with health_test as a plugin
|
27
26
|
environment_file = File.join(File.dirname(__FILE__), '..', '..', '..', 'config', 'environment.rb')
|
28
27
|
plugin_dir = File.join(File.dirname(__FILE__), '..', 'plugins')
|
28
|
+
|
29
29
|
if File.exists?(environment_file) and File.directory?(plugin_dir)
|
30
30
|
# test as plugin
|
31
31
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.2
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Gemfile for health_test testing
|
2
|
+
|
3
|
+
source :rubygems
|
4
|
+
|
5
|
+
gem 'rails', "~> 2.3.15"
|
6
|
+
# rails requires rake >= 0.8.3
|
7
|
+
if defined?(JRUBY_VERSION)
|
8
|
+
gem 'jruby-openssl'
|
9
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
10
|
+
else
|
11
|
+
gem 'sqlite3', "~> 1.3.7"
|
12
|
+
end
|
13
|
+
|
14
|
+
group :development, :test do
|
15
|
+
gem 'jeweler', '~> 1.8.4'
|
16
|
+
gem 'shoulda', "~> 2.11.0"
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Gemfile for health_test testing
|
2
|
+
|
3
|
+
source :rubygems
|
4
|
+
|
5
|
+
gem 'rails', "~> 3.0.19"
|
6
|
+
gem 'rake', '>= 0.8.3'
|
7
|
+
if defined?(JRUBY_VERSION)
|
8
|
+
gem 'jruby-openssl'
|
9
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
10
|
+
else
|
11
|
+
gem 'sqlite3', "~> 1.3.7"
|
12
|
+
end
|
13
|
+
|
14
|
+
group :development, :test do
|
15
|
+
gem 'jeweler', '~> 1.8.4'
|
16
|
+
gem 'shoulda', "~> 2.11.0"
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Gemfile for health_test testing
|
2
|
+
|
3
|
+
source :rubygems
|
4
|
+
|
5
|
+
gem 'rails', "~> 3.1.0"
|
6
|
+
gem 'rake', '>= 0.8.3'
|
7
|
+
if defined?(JRUBY_VERSION)
|
8
|
+
gem 'jruby-openssl'
|
9
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
10
|
+
else
|
11
|
+
gem 'sqlite3', "~> 1.3.7"
|
12
|
+
end
|
13
|
+
|
14
|
+
group :development, :test do
|
15
|
+
gem 'jeweler', '~> 1.8.4'
|
16
|
+
gem 'shoulda', "~> 2.11.0"
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Gemfile for health_test testing
|
2
|
+
|
3
|
+
source :rubygems
|
4
|
+
|
5
|
+
gem 'rails', "~> 3.2.0"
|
6
|
+
gem 'rake', '>= 0.8.3'
|
7
|
+
if defined?(JRUBY_VERSION)
|
8
|
+
gem 'jruby-openssl'
|
9
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
10
|
+
else
|
11
|
+
gem 'sqlite3', "~> 1.3.7"
|
12
|
+
end
|
13
|
+
|
14
|
+
group :development, :test do
|
15
|
+
gem 'jeweler', '~> 1.8.4'
|
16
|
+
gem 'shoulda', "~> 2.11.0"
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Gemfile for health_test testing
|
2
|
+
|
3
|
+
source :rubygems
|
4
|
+
|
5
|
+
# Bundle edge Rails instead:
|
6
|
+
|
7
|
+
gem 'rails', :git => 'git://github.com/rails/rails.git'
|
8
|
+
|
9
|
+
gem 'arel', :git => 'git://github.com/rails/arel.git'
|
10
|
+
|
11
|
+
gem "rack", '~> 1.4.3'
|
12
|
+
|
13
|
+
if defined?(JRUBY_VERSION)
|
14
|
+
gem 'jruby-openssl'
|
15
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
16
|
+
else
|
17
|
+
gem 'sqlite3', "~> 1.3.7"
|
18
|
+
end
|
19
|
+
|
20
|
+
group :development, :test do
|
21
|
+
gem 'jeweler'
|
22
|
+
gem 'shoulda'
|
23
|
+
end
|
24
|
+
|
data/health_check.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "health_check"
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ian Heggie"]
|
12
|
-
s.date = "2013-01-
|
12
|
+
s.date = "2013-01-24"
|
13
13
|
s.description = "Simple health check of Rails app for use with Pingdom, NewRelic, EngineYard or uptime.openacs.org etc."
|
14
14
|
s.email = "ian@heggie.biz"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
]
|
18
18
|
s.files = [
|
19
19
|
".document",
|
20
|
+
".travis.yml",
|
20
21
|
"Gemfile",
|
21
22
|
"Gemfile.lock",
|
22
23
|
"MIT-LICENSE",
|
@@ -24,12 +25,19 @@ Gem::Specification.new do |s|
|
|
24
25
|
"Rakefile",
|
25
26
|
"VERSION",
|
26
27
|
"config/routes.rb",
|
28
|
+
"gemfiles/rails1_2.gemfile",
|
29
|
+
"gemfiles/rails2_3.gemfile",
|
30
|
+
"gemfiles/rails3_0.gemfile",
|
31
|
+
"gemfiles/rails3_1.gemfile",
|
32
|
+
"gemfiles/rails3_2.gemfile",
|
33
|
+
"gemfiles/rails_edge.gemfile",
|
27
34
|
"health_check.gemspec",
|
28
35
|
"init.rb",
|
29
36
|
"lib/health_check.rb",
|
30
37
|
"lib/health_check/add_23_routes.rb",
|
31
38
|
"lib/health_check/health_check_controller.rb",
|
32
39
|
"lib/health_check/utils.rb",
|
40
|
+
"test/fake_smtp_server",
|
33
41
|
"test/migrate/empty/do_not_remove.txt",
|
34
42
|
"test/migrate/nine/9_create_countries.rb",
|
35
43
|
"test/migrate/twelve/012_create_users.rb",
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'socket'
|
4
|
+
|
5
|
+
port = 3555
|
6
|
+
|
7
|
+
|
8
|
+
server = TCPServer.new port
|
9
|
+
puts "fake_smtp_server: Waiting for one connection to port #{port} ..."
|
10
|
+
|
11
|
+
def send(client, line)
|
12
|
+
client.puts line
|
13
|
+
puts "> #{line}"
|
14
|
+
end
|
15
|
+
|
16
|
+
def receive(client)
|
17
|
+
line = client.gets
|
18
|
+
puts "< #{line}"
|
19
|
+
line
|
20
|
+
end
|
21
|
+
|
22
|
+
client = server.accept # Wait for a client to connect
|
23
|
+
send(client, "220 dummy-smtp.example.com SMTP")
|
24
|
+
cmd = receive(client)
|
25
|
+
|
26
|
+
while cmd !~ /^QUIT/
|
27
|
+
if cmd =~ /^HELO/
|
28
|
+
send(client, "250 Welcome to a dummy smtp server")
|
29
|
+
else
|
30
|
+
send(client, "502 I am so dumb I only understand HELO and QUIT")
|
31
|
+
end
|
32
|
+
cmd = receive(client)
|
33
|
+
end
|
34
|
+
send(client, "221 Bye Bye")
|
35
|
+
|
36
|
+
client.close
|
37
|
+
puts "fake_smtp_server: Exiting now the conversation has finished."
|
38
|
+
exit 0
|
data/test/test_with_railsapp
CHANGED
@@ -5,7 +5,8 @@ set -e
|
|
5
5
|
|
6
6
|
base_dir=`pwd`
|
7
7
|
|
8
|
-
testurl
|
8
|
+
testurl="$base_dir/test/testurl"
|
9
|
+
fake_smtp_server="$base_dir/test/fake_smtp_server"
|
9
10
|
|
10
11
|
test_dir=`pwd`/tmp
|
11
12
|
rm -rf tmp/Gemfile* tmp/railsapp tmp/bin tmp/gems
|
@@ -24,7 +25,7 @@ echo GEM LIST
|
|
24
25
|
gem list
|
25
26
|
|
26
27
|
echo Environment:
|
27
|
-
env | egrep 'TRAVIS|RAILS|RUBY|_ENV'
|
28
|
+
env | egrep 'TRAVIS|RAILS|RUBY|_ENV|GEM|BUNDLE'
|
28
29
|
|
29
30
|
server_pid=''
|
30
31
|
|
@@ -35,11 +36,14 @@ finish()
|
|
35
36
|
echo ========================================================
|
36
37
|
echo TEST ${1:-FAILED}
|
37
38
|
echo ========================================================
|
39
|
+
ls -lR $test_dir/railsapp/log $test_dir/railsapp/db
|
40
|
+
|
38
41
|
if [ -s $test_dir/railsapp/log/test.log ]
|
39
42
|
then
|
40
43
|
echo Last 300 lines of test log
|
41
44
|
tail -300 $test_dir/railsapp/log/test.log
|
42
45
|
fi
|
46
|
+
|
43
47
|
case "$server_pid" in
|
44
48
|
[0-9]*)
|
45
49
|
echo "Killing rails server [pid: $server_pid]"
|
@@ -53,17 +57,40 @@ finish()
|
|
53
57
|
|
54
58
|
trap "finish FAILED 1" 0
|
55
59
|
|
56
|
-
|
57
|
-
|
60
|
+
rails='rails'
|
61
|
+
if [ -x bin/rails ]
|
62
|
+
then
|
63
|
+
rails="`pwd`/bin/rails"
|
64
|
+
echo "Using binstub: $rails for rails command"
|
65
|
+
fi
|
66
|
+
rake='rake'
|
67
|
+
if [ -x bin/rake ]
|
68
|
+
then
|
69
|
+
rake="`pwd`/bin/rake"
|
70
|
+
echo "Using binstub: $rake for rake command"
|
71
|
+
fi
|
58
72
|
|
59
73
|
cd $test_dir
|
60
74
|
|
75
|
+
actual_rails_version=`$rails -v`
|
76
|
+
|
77
|
+
case `ruby -e 'puts JRUBY_VERSION' 2> /dev/null` in
|
78
|
+
[0-9]*)
|
79
|
+
db=jdbcsqlite3
|
80
|
+
# Appears to need a bit extra time
|
81
|
+
;;
|
82
|
+
*)
|
83
|
+
db=sqlite3
|
84
|
+
;;
|
85
|
+
esac
|
86
|
+
|
87
|
+
echo "Creating $actual_rails_version app in $test_dir/railsapp using adapter $db"
|
61
88
|
case "$actual_rails_version" in
|
62
89
|
*' '[12].*)
|
63
|
-
rails railsapp
|
90
|
+
$rails railsapp -d $db
|
64
91
|
;;
|
65
92
|
*' '[34].*)
|
66
|
-
rails new railsapp
|
93
|
+
$rails new railsapp -d $db
|
67
94
|
;;
|
68
95
|
*)
|
69
96
|
echo "Unknown rails version"
|
@@ -74,39 +101,73 @@ cd railsapp
|
|
74
101
|
echo "Changed current directory to railsapp root: `pwd`"
|
75
102
|
|
76
103
|
echo "Fixing rdoc require in Rakefile if needed"
|
77
|
-
ruby -
|
104
|
+
ruby -p -i.bak -e '$_.gsub!(/rake.rdoctask/, "rdoc/task")' Rakefile
|
78
105
|
|
79
|
-
|
106
|
+
echo "Configuring mailer to point to fake_smtp_server port 3555"
|
107
|
+
cat >> config/environment.rb <<'!EOF!'
|
108
|
+
|
109
|
+
ActionMailer::Base.delivery_method = :smtp
|
110
|
+
ActionMailer::Base.smtp_settings = { :address => "localhost", :port => 3555 }
|
111
|
+
|
112
|
+
!EOF!
|
113
|
+
|
114
|
+
echo "Last ten lines of config/environment.rb:"
|
115
|
+
tail -10 config/environment.rb
|
116
|
+
echo
|
117
|
+
|
118
|
+
if [ -s Gemfile ]
|
80
119
|
then
|
81
120
|
echo Installing health_check as gem ...
|
82
121
|
echo "gem 'health_check', :path => '$base_dir'" >> Gemfile
|
122
|
+
|
83
123
|
case "$BUNDLE_GEMFILE" in
|
84
124
|
?*)
|
85
125
|
echo Unsetting BUNDLE_GEMFILE '(so Gemfile will be used)'
|
86
126
|
unset BUNDLE_GEMFILE
|
87
127
|
;;
|
88
128
|
esac
|
89
|
-
|
129
|
+
echo
|
130
|
+
echo Gemfile contents:
|
131
|
+
cat Gemfile
|
132
|
+
echo
|
133
|
+
echo running bundle --binstubs
|
134
|
+
bundle --binstubs
|
135
|
+
echo "Using binstubs in `pwd`/bin for rails and rake commands"
|
136
|
+
rails="`pwd`/bin/rails"
|
137
|
+
rake="`pwd`/bin/rake"
|
90
138
|
else
|
91
|
-
echo Installing health_check as plugin ...
|
92
139
|
dest=`pwd`/vendor/plugins/health_check
|
140
|
+
echo Installing health_check as plugin in $dest ...
|
93
141
|
mkdir -p $dest
|
94
142
|
(
|
95
143
|
cd $base_dir
|
96
144
|
find . | egrep -v '/tmp|/\.git|\.gem$' | cpio -pdl $dest
|
145
|
+
cd $dest
|
146
|
+
echo Files installed as plugin:
|
147
|
+
find . -type f
|
148
|
+
echo
|
97
149
|
)
|
98
150
|
fi
|
99
151
|
|
152
|
+
export RAILS_ENV=test RACK_ENV=test
|
153
|
+
|
154
|
+
case $db in
|
155
|
+
jdbcsqlite3)
|
156
|
+
echo
|
157
|
+
echo 'Jruby requires the dastabase to be created before the server is started: running rake db:migrate'
|
158
|
+
$rake db:migrate
|
159
|
+
echo
|
160
|
+
;;
|
161
|
+
esac
|
162
|
+
|
100
163
|
port=3456
|
101
164
|
echo Starting server on port $port ...
|
102
165
|
|
103
|
-
export RAILS_ENV=test
|
104
|
-
|
105
166
|
if [ -x script/server ]
|
106
167
|
then
|
107
|
-
script/server webrick -p $port &
|
168
|
+
bundle exec ./script/server webrick -p $port &
|
108
169
|
else
|
109
|
-
rails s webrick -p $port &
|
170
|
+
$rails s webrick -p $port &
|
110
171
|
fi
|
111
172
|
server_pid=$!
|
112
173
|
|
@@ -120,43 +181,76 @@ echo 'TESTING can get a static file ...'
|
|
120
181
|
$testurl ${host}/static.txt STATIC-FILE
|
121
182
|
echo
|
122
183
|
|
123
|
-
echo 'TESTING health_check should pass with no database migrations ...'
|
184
|
+
echo 'TESTING health_check/migration should pass with no database migrations ...'
|
124
185
|
mkdir -p db/migrate
|
125
186
|
ls db/migrate
|
126
|
-
$testurl ${host}/health_check success
|
187
|
+
$testurl ${host}/health_check/migration success
|
127
188
|
echo
|
128
189
|
|
129
|
-
echo 'TESTING health_check should fail without initial database migration ...'
|
190
|
+
echo 'TESTING health_check/migration should fail without initial database migration ...'
|
130
191
|
cp $base_dir/test/migrate/nine/* db/migrate
|
131
192
|
ls db/migrate
|
132
|
-
$testurl ${host}/health_check failed
|
193
|
+
$testurl ${host}/health_check/migration failed
|
133
194
|
echo
|
134
195
|
|
135
|
-
echo 'TESTING health_check should pass
|
136
|
-
|
137
|
-
|
196
|
+
echo 'TESTING health_check/database should pass without initial database migration (since it ignores the difference) ...'
|
197
|
+
$testurl ${host}/health_check/database success
|
198
|
+
echo
|
199
|
+
|
200
|
+
echo 'TESTING health_check/site should pass ...'
|
201
|
+
$testurl ${host}/health_check/site success
|
202
|
+
echo
|
203
|
+
|
204
|
+
echo 'TESTING health_check/migration should pass after initial database migration ...'
|
205
|
+
$rake db:migrate
|
206
|
+
$testurl ${host}/health_check/migration success
|
138
207
|
echo
|
139
208
|
|
140
|
-
echo 'TESTING health_check should fail without all migrations ...'
|
209
|
+
echo 'TESTING health_check/migration should fail without all migrations ...'
|
141
210
|
cp $base_dir/test/migrate/twelve/* db/migrate
|
142
211
|
ls db/migrate
|
212
|
+
$testurl ${host}/health_check/migration failed
|
213
|
+
echo
|
214
|
+
|
215
|
+
echo 'TESTING health_check/migration should pass after both database migrations ...'
|
216
|
+
$rake db:migrate
|
217
|
+
$testurl ${host}/health_check/migration success
|
218
|
+
echo
|
219
|
+
|
220
|
+
echo 'TESTING health_check/migration should pass after both database migrations ...'
|
221
|
+
$rake db:migrate
|
222
|
+
$testurl ${host}/health_check/migration success
|
223
|
+
echo
|
224
|
+
|
225
|
+
echo 'TESTING health_check/email should fail without smtp available ...'
|
226
|
+
$testurl ${host}/health_check/email failed
|
227
|
+
echo
|
228
|
+
|
229
|
+
echo 'TESTING health_check/email should pass with smtp available ...'
|
230
|
+
$fake_smtp_server &
|
231
|
+
sleep 5
|
232
|
+
$testurl ${host}/health_check/email success
|
233
|
+
echo
|
234
|
+
|
235
|
+
echo 'TESTING health_check (all) should fail without smtp available ...'
|
143
236
|
$testurl ${host}/health_check failed
|
144
237
|
echo
|
145
238
|
|
146
|
-
echo 'TESTING health_check should
|
147
|
-
|
148
|
-
$testurl ${host}/health_check success
|
239
|
+
echo 'TESTING health_check/all should fail without smtp available ...'
|
240
|
+
$testurl ${host}/health_check failed
|
149
241
|
echo
|
150
242
|
|
151
|
-
echo
|
152
|
-
|
153
|
-
|
243
|
+
echo 'TESTING health_check (all) should pass with smtp available ...'
|
244
|
+
$fake_smtp_server &
|
245
|
+
sleep 5
|
246
|
+
$testurl ${host}/health_check success
|
247
|
+
echo
|
154
248
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
249
|
+
echo 'TESTING health_check/all should pass with smtp available ...'
|
250
|
+
$fake_smtp_server &
|
251
|
+
sleep 5
|
252
|
+
$testurl ${host}/health_check/all success
|
253
|
+
echo
|
160
254
|
|
161
255
|
finish PASSED 0
|
162
256
|
exit 0
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: health_check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 2
|
10
|
+
version: 1.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ian Heggie
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-01-
|
18
|
+
date: 2013-01-24 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
requirement: &id001 !ruby/object:Gem::Requirement
|
@@ -123,6 +123,7 @@ extra_rdoc_files:
|
|
123
123
|
- README.rdoc
|
124
124
|
files:
|
125
125
|
- .document
|
126
|
+
- .travis.yml
|
126
127
|
- Gemfile
|
127
128
|
- Gemfile.lock
|
128
129
|
- MIT-LICENSE
|
@@ -130,12 +131,19 @@ files:
|
|
130
131
|
- Rakefile
|
131
132
|
- VERSION
|
132
133
|
- config/routes.rb
|
134
|
+
- gemfiles/rails1_2.gemfile
|
135
|
+
- gemfiles/rails2_3.gemfile
|
136
|
+
- gemfiles/rails3_0.gemfile
|
137
|
+
- gemfiles/rails3_1.gemfile
|
138
|
+
- gemfiles/rails3_2.gemfile
|
139
|
+
- gemfiles/rails_edge.gemfile
|
133
140
|
- health_check.gemspec
|
134
141
|
- init.rb
|
135
142
|
- lib/health_check.rb
|
136
143
|
- lib/health_check/add_23_routes.rb
|
137
144
|
- lib/health_check/health_check_controller.rb
|
138
145
|
- lib/health_check/utils.rb
|
146
|
+
- test/fake_smtp_server
|
139
147
|
- test/migrate/empty/do_not_remove.txt
|
140
148
|
- test/migrate/nine/9_create_countries.rb
|
141
149
|
- test/migrate/twelve/012_create_users.rb
|