health_check 2.5.0 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +2 -0
- data/.travis.yml +162 -111
- data/CHANGELOG +36 -0
- data/README.rdoc +109 -43
- data/Rakefile +1 -1
- data/Vagrantfile +32 -0
- data/config/routes.rb +1 -1
- data/health_check.gemspec +7 -6
- data/lib/health_check.rb +51 -6
- data/lib/health_check/elasticsearch_health_check.rb +15 -0
- data/lib/health_check/health_check_controller.rb +32 -25
- data/lib/health_check/health_check_routes.rb +1 -1
- data/lib/health_check/middleware_health_check.rb +6 -1
- data/lib/health_check/rabbitmq_health_check.rb +16 -0
- data/lib/health_check/redis_health_check.rb +20 -7
- data/lib/health_check/s3_health_check.rb +9 -14
- data/lib/health_check/utils.rb +55 -33
- data/lib/health_check/version.rb +1 -1
- data/test/fake_smtp_server +143 -24
- data/test/init_variables +19 -1
- data/test/migrate/nine/9_create_countries.rb +1 -1
- data/test/migrate/twelve/011_create_roles.roles.rb +1 -1
- data/test/migrate/twelve/012_create_users.rb +2 -2
- data/test/migrate/twelve/9_create_countries.rb +1 -1
- data/test/provision_vagrant +103 -0
- data/test/rails_5.0.gemfile +10 -7
- data/test/rails_5.1.gemfile +34 -0
- data/test/rails_5.2.gemfile +34 -0
- data/test/rails_6.0.gemfile +30 -0
- data/test/rails_6.1.gemfile +29 -0
- data/test/rails_6.2.gemfile +30 -0
- data/test/rails_edge.gemfile +14 -9
- data/test/setup_railsapp +175 -95
- data/test/test_with_railsapp +152 -46
- data/test/testurl +9 -0
- metadata +45 -22
- data/test/rails_4.0.gemfile +0 -33
- data/test/rails_4.1.gemfile +0 -33
- data/test/rails_4.2.gemfile +0 -30
data/test/test_with_railsapp
CHANGED
@@ -2,15 +2,49 @@
|
|
2
2
|
|
3
3
|
route_prefix=medical_check
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
# Any failure causes exit
|
6
|
+
set -eE -o functrace
|
7
|
+
|
8
|
+
report_failure() {
|
9
|
+
local lineno=$2
|
10
|
+
local fn=$3
|
11
|
+
local exitstatus=$4
|
12
|
+
local msg=$5
|
13
|
+
local lineno_fns=${1% 0}
|
14
|
+
if [[ $lineno_fns != "0" ]] ; then
|
15
|
+
lineno="${lineno} ${lineno_fns}"
|
16
|
+
fi
|
17
|
+
if [[ $exitstatus == 0 ]] ; then
|
18
|
+
echo "${BASH_SOURCE[1]}: Finished!"
|
19
|
+
else
|
20
|
+
echo "${BASH_SOURCE[1]}:${fn}[${lineno}] Failed with status ${exitstatus}: $msg"
|
21
|
+
fi
|
8
22
|
}
|
9
23
|
|
10
|
-
trap '
|
24
|
+
trap 'report_failure "${BASH_LINENO[*]}" "$LINENO" "${FUNCNAME[*]:-script}" "$?" "$BASH_COMMAND"' ERR
|
25
|
+
|
11
26
|
|
12
27
|
# Any failure causes exit
|
13
|
-
set -
|
28
|
+
set -eE -o functrace
|
29
|
+
|
30
|
+
report_failure() {
|
31
|
+
local lineno=$2
|
32
|
+
local fn=$3
|
33
|
+
local exitstatus=$4
|
34
|
+
local msg=$5
|
35
|
+
local lineno_fns=${1% 0}
|
36
|
+
if [[ $lineno_fns != "0" ]] ; then
|
37
|
+
lineno="${lineno} ${lineno_fns}"
|
38
|
+
fi
|
39
|
+
if [[ $exitstatus == 0 ]] ; then
|
40
|
+
echo "${BASH_SOURCE[1]}: Finished!"
|
41
|
+
else
|
42
|
+
echo "${BASH_SOURCE[1]}:${fn}[${lineno}] Failed with status ${exitstatus}: $msg"
|
43
|
+
fi
|
44
|
+
}
|
45
|
+
|
46
|
+
trap 'report_failure "${BASH_LINENO[*]}" "$LINENO" "${FUNCNAME[*]:-script}" "$?" "$BASH_COMMAND"' ERR
|
47
|
+
|
14
48
|
export DISABLE_SPRING=1
|
15
49
|
|
16
50
|
cleanup_db()
|
@@ -91,18 +125,25 @@ start_server()
|
|
91
125
|
bundle_prefix='bundle exec'
|
92
126
|
fi
|
93
127
|
server_arg=${RAILS_SERVER:-webrick}
|
128
|
+
case "$actual_rails_version" in
|
129
|
+
*' '[12345].*)
|
130
|
+
;;
|
131
|
+
*)
|
132
|
+
server_arg="-u $server_arg"
|
133
|
+
;;
|
134
|
+
esac
|
94
135
|
echo "start_server called using: `env | egrep '^RAILS|^RACK|^PATH='` $bundle_prefix $server_arg"
|
95
136
|
case "$server_arg" in
|
96
|
-
puma)
|
137
|
+
*puma)
|
97
138
|
$bundle_prefix puma -b tcp://127.0.0.1:$port &
|
98
139
|
;;
|
99
|
-
passenger)
|
140
|
+
*passenger)
|
100
141
|
$bundle_prefix passenger start -p $port &
|
101
142
|
;;
|
102
|
-
thin)
|
143
|
+
*thin)
|
103
144
|
$bundle_prefix thin start -p $port &
|
104
145
|
;;
|
105
|
-
unicorn)
|
146
|
+
*unicorn)
|
106
147
|
$bundle_prefix unicorn_rails -l 127.0.0.1:$port &
|
107
148
|
;;
|
108
149
|
*)
|
@@ -212,7 +253,7 @@ common_tests()
|
|
212
253
|
test_no=$1
|
213
254
|
|
214
255
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
215
|
-
echo "${test_no}: CHECKING routes exist..."
|
256
|
+
echo "${test_no}[line $LINENO]: CHECKING routes exist..."
|
216
257
|
$rake routes | tee /tmp/t$$
|
217
258
|
echo
|
218
259
|
case `egrep ${route_prefix} /tmp/t$$ || true` in
|
@@ -225,7 +266,7 @@ common_tests()
|
|
225
266
|
|
226
267
|
test_no=`expr 1 + $test_no`
|
227
268
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
228
|
-
echo "${test_no}: TESTING can get a static file ..."
|
269
|
+
echo "${test_no}[line $LINENO]: TESTING can get a static file ..."
|
229
270
|
case "$RAILS_ENV=`egrep '^\s*config.serve_static_[asetfil]* *= *false' config/environments/${RAILS_ENV}.rb`" in
|
230
271
|
production*static*false*)
|
231
272
|
echo " SKIPPED (disabled in production)"
|
@@ -238,40 +279,77 @@ common_tests()
|
|
238
279
|
echo
|
239
280
|
fi
|
240
281
|
|
282
|
+
rm -f tmp/health_check_success.txt tmp/health_check_failure.txt
|
283
|
+
|
241
284
|
test_no=`expr 1 + $test_no`
|
242
285
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
243
|
-
echo "${test_no}: TESTING can get an example controller ..."
|
244
|
-
$testurl ${host}/example 200 text/
|
286
|
+
echo "${test_no}[line $LINENO]: TESTING can get an example controller ..."
|
287
|
+
$testurl ${host}/example 200 text/plain 'example page'
|
245
288
|
echo
|
246
289
|
fi
|
247
290
|
|
248
291
|
test_no=`expr 1 + $test_no`
|
249
292
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
250
|
-
echo "${test_no}: TESTING direct call to catchall method on example controller ..."
|
251
|
-
$testurl ${host}/example/catchall 200 text/
|
293
|
+
echo "${test_no}[line $LINENO]: TESTING direct call to catchall method on example controller ..."
|
294
|
+
$testurl ${host}/example/catchall 200 text/plain 'catch all route'
|
252
295
|
echo
|
253
296
|
fi
|
254
297
|
|
298
|
+
if [ -f tmp/health_check_success.txt ] ; then
|
299
|
+
echo "FAIL tmp/health_check_success.txt exists on line $LINENO"
|
300
|
+
else
|
301
|
+
echo "PASS tmp/health_check_success.txt is missing as expected on line $LINENO"
|
302
|
+
fi
|
303
|
+
if [ -f tmp/health_check_failure.txt ] ; then
|
304
|
+
echo "FAIL tmp/health_check_failure.txt exists on line $LINENO"
|
305
|
+
else
|
306
|
+
echo "PASS tmp/health_check_failure.txt is missing as expected on line $LINENO"
|
307
|
+
fi
|
308
|
+
|
255
309
|
test_no=`expr 1 + $test_no`
|
256
310
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
257
|
-
echo "${test_no}: TESTING ${route_prefix}/migration should pass with no database migrations ..."
|
311
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/migration should pass with no database migrations ..."
|
258
312
|
ls db/migrate
|
313
|
+
rm -f tmp/health_check_success.txt tmp/health_check_failure.txt
|
259
314
|
$testurl ${host}/${route_prefix}/migration 200 text/plain $success
|
315
|
+
if [ -f tmp/health_check_success.txt ] ; then
|
316
|
+
echo "PASS tmp/health_check_success.txt exists as expected on line $LINENO"
|
317
|
+
cat tmp/health_check_success.txt
|
318
|
+
else
|
319
|
+
echo "FAIL tmp/health_check_success.txt is missing on line $LINENO"
|
320
|
+
fi
|
321
|
+
if [ -f tmp/health_check_failure.txt ] ; then
|
322
|
+
echo "FAIL tmp/health_check_failure.txt exists on line $LINENO"
|
323
|
+
else
|
324
|
+
echo "PASS tmp/health_check_failure.txt is missing as expected on line $LINENO"
|
325
|
+
fi
|
260
326
|
echo
|
261
327
|
fi
|
262
328
|
|
263
329
|
test_no=`expr 1 + $test_no`
|
264
330
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
265
|
-
echo "${test_no}: TESTING ${route_prefix}/migration should fail without initial database migration ..."
|
331
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/migration should fail without initial database migration ..."
|
266
332
|
cp $base_dir/test/migrate/nine/* db/migrate
|
267
333
|
ls db/migrate
|
334
|
+
rm -f tmp/health_check_success.txt tmp/health_check_failure.txt
|
268
335
|
$testurl ${host}/${route_prefix}/migration 550 text/plain failed
|
336
|
+
if [ -f tmp/health_check_success.txt ] ; then
|
337
|
+
echo "FAIL tmp/health_check_success.txt exists on line $LINENO"
|
338
|
+
else
|
339
|
+
echo "PASS tmp/health_check_success.txt is missing as expected on line $LINENO"
|
340
|
+
fi
|
341
|
+
if [ -f tmp/health_check_failure.txt ] ; then
|
342
|
+
echo "PASS tmp/health_check_failure.txt exists as expected on line $LINENO"
|
343
|
+
cat tmp/health_check_failure.txt
|
344
|
+
else
|
345
|
+
echo "FAIL tmp/health_check_failure.txt is missing on line $LINENO"
|
346
|
+
fi
|
269
347
|
echo
|
270
348
|
fi
|
271
349
|
|
272
350
|
test_no=`expr 1 + $test_no`
|
273
351
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
274
|
-
echo "${test_no}: TESTING ${route_prefix}/database should pass without initial database migration (since it ignores the difference) ..."
|
352
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/database should pass without initial database migration (since it ignores the difference) ..."
|
275
353
|
$testurl ${host}/${route_prefix}/database 200 text/plain $success
|
276
354
|
echo
|
277
355
|
fi
|
@@ -280,14 +358,14 @@ common_tests()
|
|
280
358
|
|
281
359
|
test_no=`expr 1 + $test_no`
|
282
360
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
283
|
-
echo "${test_no}: TESTING ${route_prefix}/site should pass ..."
|
361
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/site should pass ..."
|
284
362
|
$testurl ${host}/${route_prefix}/site 200 text/plain $success
|
285
363
|
echo
|
286
364
|
fi
|
287
365
|
|
288
366
|
test_no=`expr 1 + $test_no`
|
289
367
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
290
|
-
echo "${test_no}: TESTING ${route_prefix}/migration should pass after initial database migration ..."
|
368
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/migration should pass after initial database migration ..."
|
291
369
|
$rake db:migrate
|
292
370
|
$testurl ${host}/${route_prefix}/migration 200 text/plain $success
|
293
371
|
echo
|
@@ -303,18 +381,33 @@ common_tests()
|
|
303
381
|
|
304
382
|
test_no=`expr 1 + $test_no`
|
305
383
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
306
|
-
echo "${test_no}: TESTING ${route_prefix}/database should fail if the database has been corrupted ..."
|
384
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/database should fail if the database has been corrupted ..."
|
307
385
|
|
308
|
-
$testurl ${host}/${route_prefix}/database 550 text/plain failed
|
386
|
+
$testurl ${host}/${route_prefix}/database 550 text/plain failed:
|
309
387
|
echo
|
310
388
|
fi
|
311
389
|
|
390
|
+
export HIDE_ERROR_RESPONSE=true
|
391
|
+
stop_server
|
392
|
+
start_server
|
393
|
+
|
312
394
|
test_no=`expr 1 + $test_no`
|
313
395
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
314
|
-
echo "${test_no}: TESTING ${route_prefix}/
|
396
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/database should have response body 'health_check failed' but no error details if include_error_in_response_body is false"
|
397
|
+
$testurl ${host}/${route_prefix}/database 550 text/plain 'health_check failed' failed:
|
398
|
+
echo
|
399
|
+
fi
|
400
|
+
|
401
|
+
unset HIDE_ERROR_RESPONSE
|
402
|
+
stop_server
|
403
|
+
start_server
|
404
|
+
|
405
|
+
test_no=`expr 1 + $test_no`
|
406
|
+
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
407
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/site should pass ..."
|
315
408
|
$testurl ${host}/${route_prefix}/site 200 text/plain $success
|
316
409
|
if $has_middleware; then
|
317
|
-
echo "${test_no}: TESTING ${route_prefix}/middleware_site should pass ..."
|
410
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/middleware_site should pass ..."
|
318
411
|
$testurl ${host}/${route_prefix}/middleware_site 200 text/plain $success
|
319
412
|
fi
|
320
413
|
echo
|
@@ -325,7 +418,7 @@ common_tests()
|
|
325
418
|
|
326
419
|
test_no=`expr 1 + $test_no`
|
327
420
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
328
|
-
echo "${test_no}: TESTING ${route_prefix}/migration should fail without all migrations ..."
|
421
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/migration should fail without all migrations ..."
|
329
422
|
cp $base_dir/test/migrate/twelve/* db/migrate
|
330
423
|
|
331
424
|
ls db/migrate
|
@@ -335,7 +428,7 @@ common_tests()
|
|
335
428
|
|
336
429
|
test_no=`expr 1 + $test_no`
|
337
430
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
338
|
-
echo "${test_no}: TESTING ${route_prefix}/migration should pass after both database migrations ..."
|
431
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/migration should pass after both database migrations ..."
|
339
432
|
$rake db:migrate
|
340
433
|
$testurl ${host}/${route_prefix}/migration 200 text/plain $success
|
341
434
|
echo
|
@@ -343,7 +436,7 @@ common_tests()
|
|
343
436
|
|
344
437
|
test_no=`expr 1 + $test_no`
|
345
438
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
346
|
-
echo "${test_no}: TESTING ${route_prefix}/migration should pass after both database migrations ..."
|
439
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/migration should pass after both database migrations ..."
|
347
440
|
$rake db:migrate
|
348
441
|
$testurl ${host}/${route_prefix}/migration 200 text/plain $success
|
349
442
|
echo
|
@@ -351,14 +444,14 @@ common_tests()
|
|
351
444
|
|
352
445
|
test_no=`expr 1 + $test_no`
|
353
446
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
354
|
-
echo "${test_no}: TESTING ${route_prefix}/email should fail without smtp available ..."
|
447
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/email should fail without smtp available ..."
|
355
448
|
$testurl ${host}/${route_prefix}/email 550 text/plain failed
|
356
449
|
echo
|
357
450
|
fi
|
358
451
|
|
359
452
|
test_no=`expr 1 + $test_no`
|
360
453
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
361
|
-
echo "${test_no}: TESTING ${route_prefix}/email should pass with smtp available ..."
|
454
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/email should pass with smtp available ..."
|
362
455
|
$fake_smtp_server &
|
363
456
|
fake_smtp_pid=$!
|
364
457
|
sleep 5
|
@@ -368,14 +461,14 @@ common_tests()
|
|
368
461
|
|
369
462
|
test_no=`expr 1 + $test_no`
|
370
463
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
371
|
-
echo "${test_no}: TESTING ${route_prefix} (all) should fail without smtp available ..."
|
464
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix} (all) should fail without smtp available ..."
|
372
465
|
$testurl ${host}/${route_prefix} 550 text/plain failed
|
373
466
|
echo
|
374
467
|
fi
|
375
468
|
|
376
469
|
test_no=`expr 1 + $test_no`
|
377
470
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
378
|
-
echo "${test_no}: TESTING ${route_prefix}/all should fail without smtp available ..."
|
471
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/all should fail without smtp available ..."
|
379
472
|
$testurl ${host}/${route_prefix} 550 text/plain failed
|
380
473
|
echo
|
381
474
|
fi
|
@@ -383,7 +476,7 @@ common_tests()
|
|
383
476
|
kill -9 $fake_smtp_pid || echo fake_smtp_server had finished as expected
|
384
477
|
test_no=`expr 1 + $test_no`
|
385
478
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
386
|
-
echo "${test_no}: TESTING ${route_prefix} (all) should pass with smtp available ..."
|
479
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix} (all) should pass with smtp available ..."
|
387
480
|
$fake_smtp_server &
|
388
481
|
fake_smtp_pid=$!
|
389
482
|
sleep 5
|
@@ -394,7 +487,7 @@ common_tests()
|
|
394
487
|
kill -9 $fake_smtp_pid || echo fake_smtp_server had finished as expected
|
395
488
|
test_no=`expr 1 + $test_no`
|
396
489
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
397
|
-
echo "${test_no}: TESTING ${route_prefix}/all should pass with smtp available ..."
|
490
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/all should pass with smtp available ..."
|
398
491
|
$fake_smtp_server &
|
399
492
|
fake_smtp_pid=$!
|
400
493
|
sleep 5
|
@@ -404,21 +497,28 @@ common_tests()
|
|
404
497
|
|
405
498
|
test_no=`expr 1 + $test_no`
|
406
499
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
407
|
-
echo "${test_no}: TESTING ${route_prefix}/
|
500
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/pass should pass ..."
|
501
|
+
$testurl ${host}/${route_prefix}/pass 200 text/plain $success
|
502
|
+
echo
|
503
|
+
fi
|
504
|
+
|
505
|
+
test_no=`expr 1 + $test_no`
|
506
|
+
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
507
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/custom should pass ..."
|
408
508
|
$testurl ${host}/${route_prefix}/custom 200 text/plain $success
|
409
509
|
echo
|
410
510
|
fi
|
411
511
|
|
412
512
|
test_no=`expr 1 + $test_no`
|
413
513
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
414
|
-
echo "${test_no}: TESTING ${route_prefix}/custom.html should pass (returning plain text) ..."
|
514
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/custom.html should pass (returning plain text) ..."
|
415
515
|
$testurl ${host}/${route_prefix}/custom.html 200 text/plain $success
|
416
516
|
echo
|
417
517
|
fi
|
418
518
|
|
419
519
|
test_no=`expr 1 + $test_no`
|
420
520
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
421
|
-
echo "${test_no}: TESTING ${route_prefix}/custom.json should pass ..."
|
521
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/custom.json should pass ..."
|
422
522
|
$testurl ${host}/${route_prefix}/custom.json 200 application/json '"healthy":true'
|
423
523
|
$testurl ${host}/${route_prefix}/custom.json 200 application/json "\"message\":\"$success\""
|
424
524
|
echo
|
@@ -426,7 +526,7 @@ common_tests()
|
|
426
526
|
|
427
527
|
test_no=`expr 1 + $test_no`
|
428
528
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
429
|
-
echo "${test_no}: TESTING ${route_prefix}/custom.xml should pass ..."
|
529
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/custom.xml should pass ..."
|
430
530
|
$testurl ${host}/${route_prefix}/custom.xml 200 application/xml '<healthy type="boolean">true</healthy>'
|
431
531
|
$testurl ${host}/${route_prefix}/custom.xml 200 application/xml "<message>$success</message>"
|
432
532
|
echo
|
@@ -435,21 +535,27 @@ common_tests()
|
|
435
535
|
test_no=`expr 1 + $test_no`
|
436
536
|
rm -f $custom_file
|
437
537
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
438
|
-
echo "${test_no}: TESTING ${route_prefix}/custom should fail when custom returns string ..."
|
538
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/custom should fail when custom returns string ..."
|
439
539
|
$testurl ${host}/${route_prefix}/custom 550 text/plain failed
|
440
540
|
echo
|
441
541
|
fi
|
442
542
|
|
543
|
+
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
544
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/pass should pass even if other custom test returns string ..."
|
545
|
+
$testurl ${host}/${route_prefix}/pass 200 text/plain $success
|
546
|
+
echo
|
547
|
+
fi
|
548
|
+
|
443
549
|
test_no=`expr 1 + $test_no`
|
444
550
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
445
|
-
echo "${test_no}: TESTING ${route_prefix} (all) should fail when custom check fails ..."
|
551
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix} (all) should fail when custom check fails ..."
|
446
552
|
$testurl ${host}/${route_prefix} 550 text/plain "$custom_file is missing!"
|
447
553
|
echo
|
448
554
|
fi
|
449
555
|
|
450
556
|
test_no=`expr 1 + $test_no`
|
451
557
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
452
|
-
echo "${test_no}: TESTING ${route_prefix}.json (all) should fail when custom check fails ..."
|
558
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}.json (all) should fail when custom check fails ..."
|
453
559
|
$testurl ${host}/${route_prefix}.json 555 application/json '"healthy":false'
|
454
560
|
$testurl ${host}/${route_prefix}.json 555 application/json "$custom_file is missing!"
|
455
561
|
echo
|
@@ -457,7 +563,7 @@ common_tests()
|
|
457
563
|
|
458
564
|
test_no=`expr 1 + $test_no`
|
459
565
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
460
|
-
echo "${test_no}: TESTING ${route_prefix}.xml (all) should fail when custom check fails ..."
|
566
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}.xml (all) should fail when custom check fails ..."
|
461
567
|
$testurl ${host}/${route_prefix}.xml 555 application/xml '<healthy type="boolean">false</healthy>'
|
462
568
|
echo
|
463
569
|
fi
|
@@ -465,10 +571,10 @@ common_tests()
|
|
465
571
|
test_no=`expr 1 + $test_no`
|
466
572
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
467
573
|
if $has_middleware; then
|
468
|
-
echo "${test_no}: TESTING ${route_prefix}/middleware_site should pass ..."
|
574
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/middleware_site should pass ..."
|
469
575
|
$testurl ${host}/${route_prefix}/middleware_site 200 text/plain $success
|
470
576
|
else
|
471
|
-
echo "${test_no}: TESTING ${route_prefix}/middleware_site should fail ..."
|
577
|
+
echo "${test_no}[line $LINENO]: TESTING ${route_prefix}/middleware_site should fail ..."
|
472
578
|
$testurl ${host}/${route_prefix}/middleware_site 550 text/plain failed
|
473
579
|
fi
|
474
580
|
echo
|
@@ -476,7 +582,7 @@ common_tests()
|
|
476
582
|
|
477
583
|
test_no=`expr 1 + $test_no`
|
478
584
|
if [ -z "$run_test" ] || [ $test_no == "$run_test" ]; then
|
479
|
-
echo "${test_no}: TESTING log files to check for deprecation warnings ..."
|
585
|
+
echo "${test_no}[line $LINENO]: TESTING log files to check for deprecation warnings ..."
|
480
586
|
if egrep ' is deprecated|DEPRECATION WARNING' $railsapp/log/[tp][er][so][td]*.log
|
481
587
|
then
|
482
588
|
echo Found deprecation warnings - failed test
|
@@ -636,7 +742,7 @@ case "$run_test" in
|
|
636
742
|
|
637
743
|
echo
|
638
744
|
echo 'TESTING catchall route active ...'
|
639
|
-
$testurl ${host}/another/url 200 text/
|
745
|
+
$testurl ${host}/another/url 200 text/plain 'catch all route'
|
640
746
|
echo
|
641
747
|
|
642
748
|
common_tests 200
|
@@ -648,4 +754,4 @@ rm -f $catchall_file
|
|
648
754
|
finish PASSED 0
|
649
755
|
exit 0
|
650
756
|
|
651
|
-
# vi: sw=4 ai sm:
|
757
|
+
# vi: sw=4 ai sm:
|
data/test/testurl
CHANGED
@@ -62,4 +62,13 @@ if ARGV[3] and ARGV[3] != ''
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
+
if ARGV[4] and ARGV[4] != ''
|
66
|
+
if !page_content.to_s.include? ARGV[4]
|
67
|
+
puts "PASS (did not find #{ARGV[4]})"
|
68
|
+
else
|
69
|
+
puts "FAIL (found #{ARGV[4]}) - page contents:" , page_content.to_s, 'END-OF-CONTENTS'
|
70
|
+
exit 3
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
65
74
|
exit 0
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: health_check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Heggie
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: railties
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '5.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: smarter_bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.1.0
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.1.0
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,18 +70,18 @@ dependencies:
|
|
56
70
|
name: bundler
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- - "
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '1.2'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- - "
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '1.2'
|
69
83
|
description: " \tSimple health check of Rails app for uptime monitoring with Pingdom,
|
70
|
-
NewRelic, EngineYard
|
84
|
+
NewRelic, EngineYard etc.\n"
|
71
85
|
email:
|
72
86
|
- ian@heggie.biz
|
73
87
|
executables: []
|
@@ -83,14 +97,17 @@ files:
|
|
83
97
|
- MIT-LICENSE
|
84
98
|
- README.rdoc
|
85
99
|
- Rakefile
|
100
|
+
- Vagrantfile
|
86
101
|
- config/routes.rb
|
87
102
|
- health_check.gemspec
|
88
103
|
- init.rb
|
89
104
|
- lib/health_check.rb
|
90
105
|
- lib/health_check/base_health_check.rb
|
106
|
+
- lib/health_check/elasticsearch_health_check.rb
|
91
107
|
- lib/health_check/health_check_controller.rb
|
92
108
|
- lib/health_check/health_check_routes.rb
|
93
109
|
- lib/health_check/middleware_health_check.rb
|
110
|
+
- lib/health_check/rabbitmq_health_check.rb
|
94
111
|
- lib/health_check/redis_health_check.rb
|
95
112
|
- lib/health_check/resque_health_check.rb
|
96
113
|
- lib/health_check/s3_health_check.rb
|
@@ -104,18 +121,22 @@ files:
|
|
104
121
|
- test/migrate/twelve/011_create_roles.roles.rb
|
105
122
|
- test/migrate/twelve/012_create_users.rb
|
106
123
|
- test/migrate/twelve/9_create_countries.rb
|
107
|
-
- test/
|
108
|
-
- test/rails_4.1.gemfile
|
109
|
-
- test/rails_4.2.gemfile
|
124
|
+
- test/provision_vagrant
|
110
125
|
- test/rails_5.0.gemfile
|
126
|
+
- test/rails_5.1.gemfile
|
127
|
+
- test/rails_5.2.gemfile
|
128
|
+
- test/rails_6.0.gemfile
|
129
|
+
- test/rails_6.1.gemfile
|
130
|
+
- test/rails_6.2.gemfile
|
111
131
|
- test/rails_edge.gemfile
|
112
132
|
- test/setup_railsapp
|
113
133
|
- test/test_with_railsapp
|
114
134
|
- test/testurl
|
115
135
|
homepage: https://github.com/ianheggie/health_check
|
116
|
-
licenses:
|
136
|
+
licenses:
|
137
|
+
- MIT
|
117
138
|
metadata: {}
|
118
|
-
post_install_message:
|
139
|
+
post_install_message:
|
119
140
|
rdoc_options: []
|
120
141
|
require_paths:
|
121
142
|
- lib
|
@@ -123,19 +144,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
144
|
requirements:
|
124
145
|
- - ">="
|
125
146
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
147
|
+
version: 2.2.2
|
127
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
149
|
requirements:
|
129
150
|
- - ">="
|
130
151
|
- !ruby/object:Gem::Version
|
131
152
|
version: '0'
|
132
153
|
requirements: []
|
133
|
-
|
134
|
-
|
135
|
-
signing_key:
|
154
|
+
rubygems_version: 3.2.15
|
155
|
+
signing_key:
|
136
156
|
specification_version: 4
|
137
157
|
summary: Simple health check of Rails app for uptime monitoring with Pingdom, NewRelic,
|
138
|
-
EngineYard
|
158
|
+
EngineYard etc.
|
139
159
|
test_files:
|
140
160
|
- test/fake_smtp_server
|
141
161
|
- test/init_variables
|
@@ -144,10 +164,13 @@ test_files:
|
|
144
164
|
- test/migrate/twelve/011_create_roles.roles.rb
|
145
165
|
- test/migrate/twelve/012_create_users.rb
|
146
166
|
- test/migrate/twelve/9_create_countries.rb
|
147
|
-
- test/
|
148
|
-
- test/rails_4.1.gemfile
|
149
|
-
- test/rails_4.2.gemfile
|
167
|
+
- test/provision_vagrant
|
150
168
|
- test/rails_5.0.gemfile
|
169
|
+
- test/rails_5.1.gemfile
|
170
|
+
- test/rails_5.2.gemfile
|
171
|
+
- test/rails_6.0.gemfile
|
172
|
+
- test/rails_6.1.gemfile
|
173
|
+
- test/rails_6.2.gemfile
|
151
174
|
- test/rails_edge.gemfile
|
152
175
|
- test/setup_railsapp
|
153
176
|
- test/test_with_railsapp
|