health_check 2.7.0 → 2.8.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/.travis.yml +1 -39
- data/CHANGELOG +7 -0
- data/Gemfile +3 -0
- data/README.rdoc +34 -35
- data/Vagrantfile +20 -0
- data/health_check.gemspec +2 -1
- data/lib/health_check.rb +1 -1
- data/lib/health_check/version.rb +1 -1
- data/test/provision_vagrant +61 -0
- data/test/rails_4.0.gemfile +7 -4
- data/test/rails_4.1.gemfile +4 -4
- data/test/rails_4.2.gemfile +5 -3
- data/test/setup_railsapp +67 -78
- data/test/test_with_railsapp +13 -4
- metadata +24 -9
- data/test/rails_5.0.gemfile +0 -26
- data/test/rails_edge.gemfile +0 -32
data/.travis.yml
CHANGED
@@ -15,6 +15,7 @@ before_install:
|
|
15
15
|
- gem update --system $RUBYGEMS_VERSION
|
16
16
|
- gem --version
|
17
17
|
- gem install bundler ${BUNDLER_VERSION:+-v} ${BUNDLER_VERSION}
|
18
|
+
- gem install smarter_bundler
|
18
19
|
- bundle --version
|
19
20
|
- mkdir -p tmp/bundle
|
20
21
|
|
@@ -25,29 +26,10 @@ script: ./test/test_with_railsapp
|
|
25
26
|
matrix:
|
26
27
|
fast_finish: true
|
27
28
|
|
28
|
-
allow_failures:
|
29
|
-
- rvm: 2.3.1
|
30
|
-
gemfile: test/rails_edge.gemfile
|
31
|
-
env: RAILS_VERSION=edge MIDDLEWARE=YES
|
32
|
-
|
33
|
-
- rvm: ruby-head
|
34
|
-
gemfile: test/rails_5.0.gemfile
|
35
|
-
env: RAILS_VERSION=5.0 MIDDLEWARE=YES
|
36
|
-
|
37
29
|
include:
|
38
30
|
# -------------------------------------
|
39
31
|
# Standard
|
40
32
|
|
41
|
-
# ruby 5.0 Jun. 2016
|
42
|
-
|
43
|
-
- rvm: 2.3.1
|
44
|
-
gemfile: test/rails_5.0.gemfile
|
45
|
-
env: RAILS_VERSION=5.0 MIDDLEWARE=no
|
46
|
-
|
47
|
-
- rvm: 2.2.2
|
48
|
-
gemfile: test/rails_5.0.gemfile
|
49
|
-
env: RAILS_VERSION=5.0 MIDDLEWARE=no
|
50
|
-
|
51
33
|
# rails 4.2 Dec, 2014
|
52
34
|
|
53
35
|
- rvm: 2.2.0
|
@@ -98,26 +80,6 @@ matrix:
|
|
98
80
|
# -------------------------------------
|
99
81
|
# INSTALLED AS MIDDLEWARE
|
100
82
|
|
101
|
-
# ruby / rails edge
|
102
|
-
|
103
|
-
- rvm: 2.3.1
|
104
|
-
gemfile: test/rails_edge.gemfile
|
105
|
-
env: RAILS_VERSION=edge MIDDLEWARE=YES
|
106
|
-
|
107
|
-
# ruby 5.0 Jun. 2016
|
108
|
-
|
109
|
-
- rvm: 2.3.1
|
110
|
-
gemfile: test/rails_5.0.gemfile
|
111
|
-
env: RAILS_VERSION=5.0 MIDDLEWARE=YES
|
112
|
-
|
113
|
-
- rvm: 2.2.2
|
114
|
-
gemfile: test/rails_5.0.gemfile
|
115
|
-
env: RAILS_VERSION=5.0 MIDDLEWARE=YES
|
116
|
-
|
117
|
-
- rvm: ruby-head
|
118
|
-
gemfile: test/rails_5.0.gemfile
|
119
|
-
env: RAILS_VERSION=5.0 MIDDLEWARE=YES
|
120
|
-
|
121
83
|
# rails 4.2 Dec, 2014
|
122
84
|
|
123
85
|
- rvm: 2.2.0
|
data/CHANGELOG
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
= Change Log =
|
2
2
|
|
3
|
+
* 2.8.0
|
4
|
+
* First release on renamed rails4 branch
|
5
|
+
* redis_url now defaults to nil (url determined by redis gem)
|
6
|
+
* Depends on railties rather than rails so it can be used with trimmed down stacks
|
7
|
+
* Cleaned up README, made install instructions version specific
|
8
|
+
* Cleaned up test code, uses smarter_bundler to handle gem ruby version isssues
|
9
|
+
|
3
10
|
* 2.7.0
|
4
11
|
* Add ability to check health of redis when url is non-standard redis url
|
5
12
|
* 2.6.0
|
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,14 +1,11 @@
|
|
1
|
-
= health_check gem
|
1
|
+
= health_check gem (rails4)
|
2
2
|
|
3
|
-
Simple health check of Rails 4.x
|
4
|
-
|
5
|
-
Use
|
6
|
-
* {master}[https://github.com/ianheggie/health_check/tree/master] branch or gem versions ~> 2.0 for Rails 4.x and 5.x;
|
7
|
-
* {pre_rails4}[https://github.com/ianheggie/health_check/tree/pre_rails4] branch or gem versions ~> 1.7 for Rails 3.x;
|
8
|
-
* {rails2.3}[https://github.com/ianheggie/health_check/tree/rails2.3] branch or gem versions ~> 1.6.1 for Rails 2.3;
|
3
|
+
Simple health check of Rails 4.x apps for use with Pingdom, NewRelic, EngineYard or uptime.openacs.org etc.
|
9
4
|
|
10
5
|
The basic goal is to quickly check that rails is up and running and that it has access to correctly configured resources (database, email gateway)
|
11
6
|
|
7
|
+
Check the latest README {master}[https://github.com/ianheggie/health_check/tree/master] for other versions
|
8
|
+
|
12
9
|
health_check provides various monitoring URIs, for example:
|
13
10
|
|
14
11
|
curl localhost:3000/health_check
|
@@ -54,13 +51,13 @@ The email gateway is not checked unless the smtp settings have been changed.
|
|
54
51
|
Specify full or include email in the list of checks to verify the smtp settings
|
55
52
|
(eg use 127.0.0.1 instead of localhost).
|
56
53
|
|
57
|
-
Note: rails
|
54
|
+
Note: rails also checks migrations by default in development mode and throws an ActiveRecord::PendingMigrationError exception (http error 500) if there is an error
|
58
55
|
|
59
56
|
== Installation
|
60
57
|
|
61
58
|
Add the following line to Gemfile
|
62
59
|
|
63
|
-
gem "health_check"
|
60
|
+
gem "health_check", "~> 2.8"
|
64
61
|
|
65
62
|
And then execute
|
66
63
|
|
@@ -68,7 +65,7 @@ And then execute
|
|
68
65
|
|
69
66
|
Or install it yourself as:
|
70
67
|
|
71
|
-
gem install health_check
|
68
|
+
gem install --version '~> 2.8' health_check
|
72
69
|
|
73
70
|
== Configuration
|
74
71
|
|
@@ -237,16 +234,6 @@ Cache-control is set with
|
|
237
234
|
|
238
235
|
Last-modified is set to the current time (rounded down to a multiple of max_age when max_age > 1)
|
239
236
|
|
240
|
-
== Note on Patches/Pull Requests
|
241
|
-
|
242
|
-
<em>Feedback welcome! Especially with suggested replacement code and corresponding tests</em>
|
243
|
-
|
244
|
-
1. Fork it
|
245
|
-
2. Create your feature branch (<tt>git checkout -b my-new-feature</tt>)
|
246
|
-
3. Commit your changes (<tt>git commit -am 'Add some feature'</tt>)
|
247
|
-
4. Push to the branch (<tt>git push origin my-new-feature</tt>)
|
248
|
-
5. Create new Pull Request.
|
249
|
-
|
250
237
|
== Known Issues
|
251
238
|
|
252
239
|
* No inline documentation for methods
|
@@ -260,36 +247,46 @@ Last-modified is set to the current time (rounded down to a multiple of max_age
|
|
260
247
|
|
261
248
|
=== Automated testing and other checks
|
262
249
|
|
263
|
-
* {<img src="https://
|
264
|
-
* {<img src="https://travis-ci.org/ianheggie/health_check.png">}[https://travis-ci.org/ianheggie/health_check] - Travis CI
|
265
|
-
* {<img src="https://codeclimate.com/github/ianheggie/health_check.png" />}[https://codeclimate.com/github/ianheggie/health_check] - Code quality
|
266
|
-
* {<img src="https://gemnasium.com/ianheggie/health_check.png">}[https://gemnasium.com/ianheggie/health_check] - Gem dependencies
|
250
|
+
* {<img src="https://travis-ci.org/ianheggie/health_check.svg?branch=rails4">}[https://travis-ci.org/ianheggie/health_check.svg?branch=rails4] - Travis CI
|
267
251
|
|
268
252
|
=== Manual testing
|
269
253
|
|
270
|
-
The
|
271
|
-
install the gem, and then run up tests against the server.
|
272
|
-
This will require TCP port 3456 to be free.
|
254
|
+
The instructions have been changed to using a vagrant virtual box for consistant results.
|
273
255
|
|
274
|
-
|
275
|
-
You will need to install the bundler gem if using rbenv.
|
276
|
-
See the <tt>.travis.yml</tt> file for the list of ruby versions that we test against.
|
277
|
-
|
278
|
-
* rbenv command: <tt>rbenv shell 1.8.7-p371</tt>
|
279
|
-
* rvm command: <tt>rvm use 1.9.3</tt>
|
256
|
+
Install vagrant 1.9.7 or later and virtual_box or other local virtual machine providor.
|
280
257
|
|
281
258
|
Create a temp directory for throw away testing, and clone the health_check gem into it
|
282
259
|
|
283
260
|
mkdir -p ~/tmp
|
284
261
|
cd ~/tmp
|
285
|
-
git clone https://github.com/ianheggie/health_check.git
|
262
|
+
git clone https://github.com/ianheggie/health_check.git ~/tmp/health_check
|
263
|
+
|
264
|
+
The Vagrantfile includes provisioning rules to install chruby (ruby version control),
|
265
|
+
ruby-build will also be installed and run to build various rubies under /opt/rubies.
|
266
|
+
|
267
|
+
Use <tt>vagrant ssh</tt> to connect to the virtual box and run tests.
|
268
|
+
|
269
|
+
The test script will package up and install the gem under a temporary path, create a dummy rails app configured for sqlite,
|
270
|
+
install the gem, and then run up tests against the server.
|
271
|
+
This will require TCP port 3456 to be free.
|
286
272
|
|
287
273
|
Cd to the checked out health_check directory and then run the test as follows:
|
288
274
|
|
289
275
|
cd ~/tmp/health_check
|
290
276
|
|
277
|
+
vagrant up # this will also run vagrant provision and take some time
|
278
|
+
# chruby and various ruby versions will be installed
|
279
|
+
|
280
|
+
vagrant ssh
|
281
|
+
|
282
|
+
cd /vagrant # the current directory on your host is mounted here on the virtual machine
|
283
|
+
|
284
|
+
chruby 2.2.2 # or some other ruby version
|
285
|
+
|
291
286
|
test/test_with_railsapp
|
292
287
|
|
288
|
+
exit # from viretual machine when finished
|
289
|
+
|
293
290
|
The script will first call `test/setup_railsapp` to setup a rails app with health_check installed and then
|
294
291
|
run up the rails server and perform veraious tests.
|
295
292
|
|
@@ -300,7 +297,7 @@ The command `rake test` will also launch these tests, except it cannot install t
|
|
300
297
|
|
301
298
|
== Copyright
|
302
299
|
|
303
|
-
Copyright (c) 2010-
|
300
|
+
Copyright (c) 2010-2017 Ian Heggie, released under the MIT license.
|
304
301
|
See MIT-LICENSE for details.
|
305
302
|
|
306
303
|
== Contributors
|
@@ -314,3 +311,5 @@ Thanks go to the various people who have given feedback and suggestions via the
|
|
314
311
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
315
312
|
4. Push to the branch (`git push origin my-new-feature`)
|
316
313
|
5. Create new Pull Request (Code with BDD tests are favoured)
|
314
|
+
|
315
|
+
<em>Feedback welcome! Especially with suggested replacement code and corresponding tests</em>
|
data/Vagrantfile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
3
|
+
|
4
|
+
Vagrant.configure("2") do |config|
|
5
|
+
# For a complete reference, please see the online documentation at
|
6
|
+
# https://docs.vagrantup.com.
|
7
|
+
|
8
|
+
config.vm.box = "ubuntu/xenial64"
|
9
|
+
|
10
|
+
# set auto_update to false, if you do NOT want to check the correct
|
11
|
+
# additions version when booting this machine
|
12
|
+
config.vbguest.auto_update = false
|
13
|
+
|
14
|
+
# do NOT download the iso file from a webserver
|
15
|
+
config.vbguest.no_remote = true
|
16
|
+
|
17
|
+
# provision with a shell script.
|
18
|
+
config.vm.provision "shell", path: "./test/provision_vagrant"
|
19
|
+
|
20
|
+
end
|
data/health_check.gemspec
CHANGED
@@ -21,7 +21,8 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.extra_rdoc_files = [ "README.rdoc" ]
|
22
22
|
gem.require_paths = ["lib"]
|
23
23
|
gem.required_ruby_version = '>= 1.9.3'
|
24
|
-
gem.add_dependency(%q<
|
24
|
+
gem.add_dependency(%q<railties>, ["~> 4.0"])
|
25
|
+
gem.add_development_dependency(%q<smarter_bundler>, [">= 0.1.0"])
|
25
26
|
gem.add_development_dependency(%q<rake>, [">= 0.8.3"])
|
26
27
|
gem.add_development_dependency(%q<shoulda>, ["~> 2.11.0"])
|
27
28
|
gem.add_development_dependency(%q<bundler>, ["~> 1.2"])
|
data/lib/health_check.rb
CHANGED
data/lib/health_check/version.rb
CHANGED
@@ -0,0 +1,61 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
case `id` in
|
4
|
+
*root*)
|
5
|
+
;;
|
6
|
+
*)
|
7
|
+
exec echo Must be run as root
|
8
|
+
;;
|
9
|
+
esac
|
10
|
+
set -xe
|
11
|
+
id
|
12
|
+
pwd
|
13
|
+
export DEBIAN_FRONTEND=noninteractive
|
14
|
+
find /tmp/got-apt-update -mtime -1 || ( apt-get update && touch /tmp/got-apt-update )
|
15
|
+
apt install --yes --force-yes -q build-essential ruby ruby-dev sqlite3 libsqlite3-dev nodejs
|
16
|
+
|
17
|
+
(
|
18
|
+
echo Install chruby
|
19
|
+
[ -s chruby-0.3.9.tar.gz ] || wget -q -O chruby-0.3.9.tar.gz https://github.com/postmodern/chruby/archive/v0.3.9.tar.gz
|
20
|
+
[ chruby-0.3.9 ] || tar -xzf chruby-0.3.9.tar.gz
|
21
|
+
cd chruby-0.3.9/
|
22
|
+
./scripts/setup.sh
|
23
|
+
cat > /etc/profile.d/chruby.sh <<'EOF'
|
24
|
+
if [ -n "$BASH_VERSION" ] || [ -n "$ZSH_VERSION" ]; then
|
25
|
+
source /usr/local/share/chruby/chruby.sh
|
26
|
+
fi
|
27
|
+
EOF
|
28
|
+
chmod a+r /etc/profile.d/chruby.sh
|
29
|
+
)
|
30
|
+
|
31
|
+
(
|
32
|
+
[ -d ruby-build ] || git clone https://github.com/rbenv/ruby-build.git
|
33
|
+
which ruby-build || PREFIX=/usr/local ./ruby-build/install.sh
|
34
|
+
|
35
|
+
mkdir -p /opt/rubies
|
36
|
+
[ -x /opt/rubies/1.9.3-p551/bin/bundle ] || ( ruby-build 1.9.3-p551 /opt/rubies/1.9.3-p551 && /opt/rubies/1.9.3-p551/bin/gem install bundler )
|
37
|
+
|
38
|
+
for v in 2.2.0
|
39
|
+
do
|
40
|
+
[ -x /opt/rubies/$v/bin/bundle ] || ( ruby-build $v /opt/rubies/$v && /opt/rubies/$v/bin/gem install bundler )
|
41
|
+
done
|
42
|
+
)
|
43
|
+
|
44
|
+
echo Setup system ruby
|
45
|
+
which bundle || gem install bundler
|
46
|
+
bundle --version
|
47
|
+
set +x
|
48
|
+
cat <<EOF
|
49
|
+
|
50
|
+
Now test by running the following commands:
|
51
|
+
|
52
|
+
chruby RUBY_VERSION
|
53
|
+
or
|
54
|
+
chruby system # for system version 2.3.1
|
55
|
+
|
56
|
+
vagrant ssh
|
57
|
+
cd /vagrant
|
58
|
+
./test/test_with_railsapp
|
59
|
+
|
60
|
+
EOF
|
61
|
+
exit
|
data/test/rails_4.0.gemfile
CHANGED
@@ -5,8 +5,8 @@ source 'https://rubygems.org'
|
|
5
5
|
ruby RUBY_VERSION < '1.9.3' ? '1.9.3' : RUBY_VERSION
|
6
6
|
|
7
7
|
gem 'rails', "~> 4.0.0"
|
8
|
-
gem 'rake', '>= 0.8.3'
|
9
|
-
gem "rack", '~> 1.5.2'
|
8
|
+
gem 'rake', '>= 0.8.3' # REQUIRED
|
9
|
+
gem "rack", '~> 1.5.2' # REQUIRED
|
10
10
|
|
11
11
|
group :development, :test do
|
12
12
|
if defined?(JRUBY_VERSION)
|
@@ -18,8 +18,8 @@ group :development, :test do
|
|
18
18
|
gem 'shoulda'
|
19
19
|
|
20
20
|
# redis based checks
|
21
|
-
gem 'sidekiq',
|
22
|
-
gem 'redis', :require => !ENV['REDIS_URL'].nil?
|
21
|
+
gem 'sidekiq', '< 5.0.4',:require => !ENV['SIDEKIQ'].nil?
|
22
|
+
gem 'redis', '< 4.0', :require => !ENV['REDIS_URL'].nil?
|
23
23
|
gem 'resque', :require => !ENV['RESQUE'].nil?
|
24
24
|
# s3 check
|
25
25
|
gem 'aws-sdk', :require => !ENV['AWS_ACCESS_KEY_ID'].nil?
|
@@ -31,3 +31,6 @@ gem 'therubyracer', :platform => :ruby # REQUIRED
|
|
31
31
|
# mime-types 2.0 requires Ruby version >= 1.9.2
|
32
32
|
# mime-types 3.0 requires Ruby version >= 2.0
|
33
33
|
gem 'mime-types', defined?(JRUBY_VERSION) || RUBY_VERSION < '2.0' ? '< 3' : '>= 3.0' # REQUIRED
|
34
|
+
|
35
|
+
|
36
|
+
gem 'turbolinks', :github => 'turbolinks/turbolinks-classic' # REQUIRED instead of turbolinks
|
data/test/rails_4.1.gemfile
CHANGED
@@ -5,8 +5,8 @@ source 'https://rubygems.org'
|
|
5
5
|
ruby RUBY_VERSION < '1.9.3' ? '1.9.3' : RUBY_VERSION
|
6
6
|
|
7
7
|
gem 'rails', "~> 4.1.0"
|
8
|
-
gem 'rake', '>= 0.8.3'
|
9
|
-
gem "rack", '~> 1.5.2'
|
8
|
+
gem 'rake', '>= 0.8.3' # REQUIRED
|
9
|
+
gem "rack", '~> 1.5.2' # REQUIRED
|
10
10
|
|
11
11
|
group :development, :test do
|
12
12
|
if defined?(JRUBY_VERSION)
|
@@ -18,8 +18,8 @@ group :development, :test do
|
|
18
18
|
gem 'shoulda'
|
19
19
|
|
20
20
|
# redis based checks
|
21
|
-
gem 'sidekiq', :require => !ENV['SIDEKIQ'].nil?
|
22
|
-
gem 'redis', :require => !ENV['REDIS_URL'].nil?
|
21
|
+
gem 'sidekiq', '< 5.0.4', :require => !ENV['SIDEKIQ'].nil?
|
22
|
+
gem 'redis', '< 4.0', :require => !ENV['REDIS_URL'].nil?
|
23
23
|
gem 'resque', :require => !ENV['RESQUE'].nil?
|
24
24
|
# s3 check
|
25
25
|
gem 'aws-sdk', :require => !ENV['AWS_ACCESS_KEY_ID'].nil?
|
data/test/rails_4.2.gemfile
CHANGED
@@ -5,9 +5,11 @@ source 'https://rubygems.org'
|
|
5
5
|
ruby RUBY_VERSION < '1.9.3' ? '1.9.3' : RUBY_VERSION
|
6
6
|
|
7
7
|
gem 'rails', "~> 4.2.0"
|
8
|
-
gem 'rake', '>= 0.8.3'
|
8
|
+
gem 'rake', '>= 0.8.3' # REQUIRED
|
9
9
|
#gem "rack", '~> 1.6.0'
|
10
10
|
|
11
|
+
gem 'sass', '<3.5.0'
|
12
|
+
|
11
13
|
group :development, :test do
|
12
14
|
if defined?(JRUBY_VERSION)
|
13
15
|
gem 'jruby-openssl'
|
@@ -18,8 +20,8 @@ group :development, :test do
|
|
18
20
|
gem 'shoulda'
|
19
21
|
|
20
22
|
# redis based checks
|
21
|
-
gem 'sidekiq', :require => !ENV['SIDEKIQ'].nil?
|
22
|
-
gem 'redis', :require => !ENV['REDIS_URL'].nil?
|
23
|
+
gem 'sidekiq', '< 5.0.4', :require => !ENV['SIDEKIQ'].nil?
|
24
|
+
gem 'redis', '< 4.0', :require => !ENV['REDIS_URL'].nil?
|
23
25
|
gem 'resque', :require => !ENV['RESQUE'].nil?
|
24
26
|
# s3 check
|
25
27
|
gem 'aws-sdk', :require => !ENV['AWS_ACCESS_KEY_ID'].nil?
|
data/test/setup_railsapp
CHANGED
@@ -59,7 +59,7 @@ else
|
|
59
59
|
fi
|
60
60
|
|
61
61
|
echo "Running bundle with BUNDLE_GEMFILE=$BUNDLE_GEMFILE ..."
|
62
|
-
if !
|
62
|
+
if ! smarter_bundle ; then
|
63
63
|
echo "Test aborted (missing required gems)"
|
64
64
|
exit 2
|
65
65
|
fi
|
@@ -123,24 +123,8 @@ case `ruby -e 'puts JRUBY_VERSION' 2> /dev/null` in
|
|
123
123
|
esac
|
124
124
|
|
125
125
|
echo "Creating $actual_rails_version app in $tmp_dir/railsapp using adapter $db"
|
126
|
-
|
127
|
-
|
128
|
-
$rails railsapp -d $db
|
129
|
-
;;
|
130
|
-
*' '[345].*)
|
131
|
-
case "$BUNDLE_GEMFILE" in
|
132
|
-
*rails_edge.gemfile)
|
133
|
-
$rails new railsapp -d $db --edge
|
134
|
-
;;
|
135
|
-
*)
|
136
|
-
$rails new railsapp -d $db
|
137
|
-
;;
|
138
|
-
esac
|
139
|
-
;;
|
140
|
-
*)
|
141
|
-
echo "Unknown rails version"
|
142
|
-
;;
|
143
|
-
esac
|
126
|
+
|
127
|
+
$rails new railsapp --skip-bundle -d $db
|
144
128
|
|
145
129
|
cd $railsapp
|
146
130
|
|
@@ -188,71 +172,69 @@ INITIAL_BUNDLE_GEMFILE="$BUNDLE_GEMFILE"
|
|
188
172
|
echo Unsetting BUNDLE_GEMFILE '(so Gemfile for rails application will be used)'
|
189
173
|
unset BUNDLE_GEMFILE
|
190
174
|
|
191
|
-
if [ -s Gemfile ]
|
175
|
+
if [ ! -s Gemfile ]
|
192
176
|
then
|
193
|
-
echo
|
194
|
-
|
177
|
+
echo Missing Gemfile!
|
178
|
+
exit 2
|
179
|
+
fi
|
195
180
|
|
196
|
-
|
197
|
-
webrick|'')
|
198
|
-
echo "Using default webrick server"
|
199
|
-
;;
|
200
|
-
*)
|
201
|
-
echo "Adding $RAILS_SERVER gem to Gemfile (for use as server)"
|
202
|
-
echo "gem '$RAILS_SERVER'" >> Gemfile
|
203
|
-
;;
|
204
|
-
esac
|
205
|
-
egrep REQUIRED < ${INITIAL_BUNDLE_GEMFILE} >> Gemfile || echo No required gems found...
|
206
|
-
echo
|
207
|
-
echo ================= Gemfile ===================
|
208
|
-
cat Gemfile
|
209
|
-
echo
|
210
|
-
echo running bundle install
|
211
|
-
bundle install
|
212
|
-
$rehash
|
213
|
-
echo "Using binstubs in $railsapp/bin for rails and rake commands"
|
214
|
-
rails="$railsapp/bin/rails"
|
215
|
-
rake="$railsapp/bin/rake"
|
216
|
-
|
217
|
-
echo Checking $rails is present ...
|
218
|
-
[ -f $rails -a -f $rake ] || bundle exec rake rails:update:bin || echo '(ignored rake rails:update:bin exit status)'
|
219
|
-
[ -f $rails ] || bundle binstubs railties || echo '(ignored bundle exit status)'
|
220
|
-
[ -f $rails ] || bundle binstubs rails || echo '(ignored bundle exit status)'
|
221
|
-
if [ ! -f $rails ]; then
|
222
|
-
echo "Test aborted (unable to create $rails)"
|
223
|
-
exit 2
|
224
|
-
fi
|
181
|
+
rm -f Gemfile.lock
|
225
182
|
|
226
|
-
|
227
|
-
|
228
|
-
if [ ! -f $rake ]; then
|
229
|
-
echo "Test aborted (unable to create $rake)"
|
230
|
-
exit 2
|
231
|
-
fi
|
183
|
+
echo Adding health_check as gem to Gemfile...
|
184
|
+
echo "gem 'health_check', :path => '$base_dir'" >> Gemfile
|
232
185
|
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
mkdir -p $dest
|
243
|
-
(
|
244
|
-
cd $base_dir
|
186
|
+
case "$RAILS_SERVER" in
|
187
|
+
webrick|'')
|
188
|
+
echo "Using default webrick server"
|
189
|
+
;;
|
190
|
+
*)
|
191
|
+
echo "Adding $RAILS_SERVER gem to Gemfile (for use as server)"
|
192
|
+
echo "gem '$RAILS_SERVER'" >> Gemfile
|
193
|
+
;;
|
194
|
+
esac
|
245
195
|
|
246
|
-
|
247
|
-
|
248
|
-
|
196
|
+
case "$INITIAL_BUNDLE_GEMFILE" in
|
197
|
+
*/test/rails_4.0.gemfile)
|
198
|
+
sed -i.bak -e '/turbolinks/s/^/#Broken with ruby 1.9.3 # /' Gemfile
|
199
|
+
;;
|
200
|
+
esac
|
201
|
+
|
202
|
+
egrep REQUIRED < ${INITIAL_BUNDLE_GEMFILE} >> Gemfile || echo No required gems found...
|
203
|
+
|
204
|
+
echo
|
205
|
+
echo ================= Gemfile ===================
|
206
|
+
cat Gemfile
|
207
|
+
echo
|
208
|
+
echo running bundle install
|
209
|
+
smarter_bundle ${BUNDLER_VERSION:+_${BUNDLER_VERSION}_} install
|
210
|
+
$rehash
|
211
|
+
echo "Using binstubs in $railsapp/bin for rails and rake commands"
|
212
|
+
rails="$railsapp/bin/rails"
|
213
|
+
rake="$railsapp/bin/rake"
|
249
214
|
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
215
|
+
echo Checking $rails is present ...
|
216
|
+
[ -f $rails -a -f $rake ] || bundle exec rake rails:update:bin || echo '(ignored rake rails:update:bin exit status)'
|
217
|
+
[ -f $rails ] || bundle binstubs railties || echo '(ignored bundle exit status)'
|
218
|
+
[ -f $rails ] || bundle binstubs rails || echo '(ignored bundle exit status)'
|
219
|
+
if [ ! -f $rails ]; then
|
220
|
+
echo "Test aborted (unable to create $rails)"
|
221
|
+
exit 2
|
222
|
+
fi
|
223
|
+
|
224
|
+
echo Checking $rake is present ...
|
225
|
+
[ -f $rake ] || bundle binstubs rake || echo '(ignored bundle exit status)'
|
226
|
+
if [ ! -f $rake ]; then
|
227
|
+
echo "Test aborted (unable to create $rake)"
|
228
|
+
exit 2
|
254
229
|
fi
|
255
230
|
|
231
|
+
$rehash
|
232
|
+
# Fix for rvm, otherwise bundle run from rails create fails
|
233
|
+
export PATH="`pwd`/bin:$PATH"
|
234
|
+
echo ================= Gemfile.lock ===================
|
235
|
+
cat Gemfile.lock
|
236
|
+
echo
|
237
|
+
|
256
238
|
for e in test ${RAILS_ENV2:-production}
|
257
239
|
do
|
258
240
|
if [ -f config/environments/$e.rb ]; then
|
@@ -359,13 +341,20 @@ cat > app/controllers/example_controller.rb <<'EOF'
|
|
359
341
|
class ExampleController < ApplicationController
|
360
342
|
|
361
343
|
def index
|
362
|
-
render
|
344
|
+
render plain_key => 'example page'
|
363
345
|
end
|
364
346
|
|
365
347
|
def catchall
|
366
|
-
render
|
348
|
+
render plain_key => 'catch all route'
|
367
349
|
end
|
368
350
|
|
351
|
+
private
|
352
|
+
|
353
|
+
def plain_key
|
354
|
+
# Rails 4.0 doesn't have :plain, but it is deprecated later on
|
355
|
+
Rails.version < '4.1' ? :text : :plain
|
356
|
+
end
|
357
|
+
|
369
358
|
end
|
370
359
|
|
371
360
|
EOF
|
data/test/test_with_railsapp
CHANGED
@@ -39,6 +39,15 @@ redo)
|
|
39
39
|
;;
|
40
40
|
esac
|
41
41
|
|
42
|
+
case "$actual_rails_version" in
|
43
|
+
'4.0.'*|*' 4.0.'*)
|
44
|
+
example_mime_type=text/html
|
45
|
+
;;
|
46
|
+
*)
|
47
|
+
example_mime_type=text/plain
|
48
|
+
;;
|
49
|
+
esac
|
50
|
+
|
42
51
|
run_test=$2
|
43
52
|
|
44
53
|
cd $railsapp
|
@@ -241,14 +250,14 @@ common_tests()
|
|
241
250
|
test_no=`expr 1 + $test_no`
|
242
251
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
243
252
|
echo "${test_no}: TESTING can get an example controller ..."
|
244
|
-
$testurl ${host}/example 200
|
253
|
+
$testurl ${host}/example 200 $example_mime_type 'example page'
|
245
254
|
echo
|
246
255
|
fi
|
247
256
|
|
248
257
|
test_no=`expr 1 + $test_no`
|
249
258
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
250
259
|
echo "${test_no}: TESTING direct call to catchall method on example controller ..."
|
251
|
-
$testurl ${host}/example/catchall 200
|
260
|
+
$testurl ${host}/example/catchall 200 $example_mime_type 'catch all route'
|
252
261
|
echo
|
253
262
|
fi
|
254
263
|
|
@@ -649,7 +658,7 @@ case "$run_test" in
|
|
649
658
|
|
650
659
|
echo
|
651
660
|
echo 'TESTING catchall route active ...'
|
652
|
-
$testurl ${host}/another/url 200
|
661
|
+
$testurl ${host}/another/url 200 $example_mime_type 'catch all route'
|
653
662
|
echo
|
654
663
|
|
655
664
|
common_tests 200
|
@@ -661,4 +670,4 @@ rm -f $catchall_file
|
|
661
670
|
finish PASSED 0
|
662
671
|
exit 0
|
663
672
|
|
664
|
-
# vi: sw=4 ai sm:
|
673
|
+
# vi: sw=4 ai sm:
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: health_check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.8.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,14 +9,14 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-03-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: railties
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '4.0'
|
22
22
|
type: :runtime
|
@@ -24,9 +24,25 @@ dependencies:
|
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '4.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: smarter_bundler
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.1.0
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.1.0
|
30
46
|
- !ruby/object:Gem::Dependency
|
31
47
|
name: rake
|
32
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,6 +108,7 @@ files:
|
|
92
108
|
- MIT-LICENSE
|
93
109
|
- README.rdoc
|
94
110
|
- Rakefile
|
111
|
+
- Vagrantfile
|
95
112
|
- config/routes.rb
|
96
113
|
- health_check.gemspec
|
97
114
|
- init.rb
|
@@ -113,11 +130,10 @@ files:
|
|
113
130
|
- test/migrate/twelve/011_create_roles.roles.rb
|
114
131
|
- test/migrate/twelve/012_create_users.rb
|
115
132
|
- test/migrate/twelve/9_create_countries.rb
|
133
|
+
- test/provision_vagrant
|
116
134
|
- test/rails_4.0.gemfile
|
117
135
|
- test/rails_4.1.gemfile
|
118
136
|
- test/rails_4.2.gemfile
|
119
|
-
- test/rails_5.0.gemfile
|
120
|
-
- test/rails_edge.gemfile
|
121
137
|
- test/setup_railsapp
|
122
138
|
- test/test_with_railsapp
|
123
139
|
- test/testurl
|
@@ -154,11 +170,10 @@ test_files:
|
|
154
170
|
- test/migrate/twelve/011_create_roles.roles.rb
|
155
171
|
- test/migrate/twelve/012_create_users.rb
|
156
172
|
- test/migrate/twelve/9_create_countries.rb
|
173
|
+
- test/provision_vagrant
|
157
174
|
- test/rails_4.0.gemfile
|
158
175
|
- test/rails_4.1.gemfile
|
159
176
|
- test/rails_4.2.gemfile
|
160
|
-
- test/rails_5.0.gemfile
|
161
|
-
- test/rails_edge.gemfile
|
162
177
|
- test/setup_railsapp
|
163
178
|
- test/test_with_railsapp
|
164
179
|
- test/testurl
|
data/test/rails_5.0.gemfile
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# Gemfile for health_test testing
|
2
|
-
|
3
|
-
source 'https://rubygems.org'
|
4
|
-
|
5
|
-
ruby RUBY_VERSION < '2.2.2' ? '2.2.2' : RUBY_VERSION
|
6
|
-
|
7
|
-
gem 'rails', '~> 5.0.0'
|
8
|
-
gem 'rake', '>= 0.8.7'
|
9
|
-
|
10
|
-
group :development, :test do
|
11
|
-
if defined?(JRUBY_VERSION)
|
12
|
-
gem 'jruby-openssl'
|
13
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
14
|
-
else
|
15
|
-
gem 'sqlite3', "~> 1.3.7"
|
16
|
-
end
|
17
|
-
gem 'shoulda'
|
18
|
-
|
19
|
-
# redis based checks
|
20
|
-
gem 'sidekiq', :require => !ENV['SIDEKIQ'].nil?
|
21
|
-
gem 'redis', :require => !ENV['REDIS_URL'].nil?
|
22
|
-
gem 'resque', :require => !ENV['RESQUE'].nil?
|
23
|
-
# s3 check
|
24
|
-
gem 'aws-sdk', :require => !ENV['AWS_ACCESS_KEY_ID'].nil?
|
25
|
-
end
|
26
|
-
|
data/test/rails_edge.gemfile
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
# Gemfile for health_test testing
|
2
|
-
|
3
|
-
source 'https://rubygems.org'
|
4
|
-
|
5
|
-
# Bundle edge Rails instead:
|
6
|
-
|
7
|
-
ruby RUBY_VERSION < '2.2.2' ? '2.2.2' : RUBY_VERSION
|
8
|
-
|
9
|
-
gem 'rails'
|
10
|
-
gem 'rake'
|
11
|
-
gem 'rack'
|
12
|
-
|
13
|
-
group :development, :test do
|
14
|
-
if defined?(JRUBY_VERSION)
|
15
|
-
gem 'jruby-openssl'
|
16
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
17
|
-
else
|
18
|
-
gem 'sqlite3'
|
19
|
-
end
|
20
|
-
gem 'shoulda'
|
21
|
-
|
22
|
-
# redis based checks
|
23
|
-
gem 'sidekiq', :require => !ENV['SIDEKIQ'].nil?
|
24
|
-
gem 'redis', :require => !ENV['REDIS_URL'].nil?
|
25
|
-
gem 'resque', :require => !ENV['RESQUE'].nil?
|
26
|
-
# s3 check
|
27
|
-
gem 'aws-sdk', :require => !ENV['AWS_ACCESS_KEY_ID'].nil?
|
28
|
-
end
|
29
|
-
|
30
|
-
# Initial Gemfile has therubyracer commented out
|
31
|
-
gem 'therubyrhino', :platform => :jruby # REQUIRED
|
32
|
-
gem 'therubyracer', :platform => :ruby # REQUIRED
|