health_check 1.0.1 → 1.0.2
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/.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
|