easymon 1.2.5 → 1.2.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of easymon might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29ecc776d155e2a0953af0b15d22569a09944d9b
4
- data.tar.gz: 936153e7e49f93aec7933313205d1181393fb0d1
3
+ metadata.gz: 809c1b97064222083a28debb508040f09c9ece69
4
+ data.tar.gz: 3a798f7cd1ca64fac7030a87ff5536544b0c20c5
5
5
  SHA512:
6
- metadata.gz: 3f2d69c09de39473a0fb124adaac50fe571a42d09b7ebbdbb42f37b26c896841c7a9514304f94e52153edd99aacba358d2ef6e22c7d81ae480955c7dba8e04a3
7
- data.tar.gz: 0c26aad8b1237d6767c0e9e0b2f564cd0fcb1a4950faf66c364d712d04bb24defb7dc675cb3963bf4e3cd3fa1793483c0c165cb5682976787c461a74162655b8
6
+ metadata.gz: 79eb1c36b4d43ec4830f708c37430d224b606bbe360db0c63c9395c5491c453600d1252fd2fd46dc40333470ab28eff43fe4e2b7d210b08af0999af85fd70222
7
+ data.tar.gz: 2a2138973ea8c8d0aa8b419c94308cd1410436d9c43ee61b17d7d12bb5c29e46730296f7f40ee35ba25ebadeeaa10a7dd0b531d8a143bdbd63e636c91a73f302
data/README.md CHANGED
@@ -87,6 +87,26 @@ individually available at:
87
87
  * `/up/memcached`
88
88
  * `/up/critical` - Runs both the application-database and redis checks.
89
89
 
90
+ ## Security
91
+
92
+ You might not want to have this data available to everyone who hits your site,
93
+ as it can expose both timing data and, depending on your check names, various
94
+ bits of your infrastructure. You can tell Easymon what addresses, headers,
95
+ or whatever defines an authorized request by providing a block to
96
+ `Easymon.authorize_with` that will be called with the current request object:
97
+
98
+ ```ruby
99
+ Easymon.authorize_with = Proc.new { |request| request.remote_ip == '192.168.1.1'}
100
+ # Or
101
+ Easymon.authorize_with = Proc.new { |request|
102
+ request.headers["X-Forwarded-For"].nil?
103
+ }
104
+ ```
105
+
106
+ This will get run on each request, so keep it simple. (Actually, that's a good
107
+ rule of thumb for any checks you write, too. Remember, these are all in your
108
+ main app request pipeline!)
109
+
90
110
  ## Checks
91
111
 
92
112
  A check can be any ruby code that responds_to? a #check method that returns a
@@ -3,6 +3,18 @@ require "benchmark"
3
3
 
4
4
  module Easymon
5
5
  class ChecksController < ApplicationController
6
+ # Rails 5+ deprecates `before_filter` in favor of `before_action`. Alias
7
+ # the latter for forward compatibility.
8
+ unless defined?(before_action)
9
+ class << self
10
+ %w( before ).each do |callback|
11
+ alias_method :"#{callback}_action", :"#{callback}_filter"
12
+ end
13
+ end
14
+ end
15
+
16
+ before_action :authorize_request
17
+
6
18
  rescue_from Easymon::NoSuchCheck do |e|
7
19
  respond_to do |format|
8
20
  format.any(:text, :html) { render_result e.message, :not_found }
@@ -82,5 +94,9 @@ module Easymon
82
94
  def add_prefix(result, message)
83
95
  result ? "OK #{message}" : "DOWN #{message}"
84
96
  end
97
+
98
+ def authorize_request
99
+ head :forbidden unless Easymon.authorized?(request)
100
+ end
85
101
  end
86
102
  end
@@ -35,13 +35,17 @@ module Easymon
35
35
  Easymon.rails_version > Gem::Version.new("3.1")
36
36
  end
37
37
 
38
- def self.newer_than?(version)
38
+ def self.rails_newer_than?(version)
39
39
  Easymon.rails_version > Gem::Version.new(version)
40
40
  end
41
41
 
42
42
  def self.has_render_plain?
43
43
  # Rails 4.1.0 introduced :plain, Rails 5 deprecated :text
44
- Easymon.newer_than?("4.1.0.beta")
44
+ Easymon.rails_newer_than?("4.1.0.beta")
45
+ end
46
+
47
+ def self.has_before_action?
48
+ Easymon.rails_newer_than?("4.0.0.beta")
45
49
  end
46
50
 
47
51
  def self.routes(mapper, path = "/up")
@@ -75,4 +79,12 @@ module Easymon
75
79
  def self.timing_to_ms(timing = 0)
76
80
  sprintf("%.3f", (timing * 1000))
77
81
  end
82
+
83
+ def self.authorize_with=(block)
84
+ @authorize_with = block
85
+ end
86
+
87
+ def self.authorized?(request)
88
+ @authorize_with.nil? ? true : @authorize_with.call(request)
89
+ end
78
90
  end
@@ -1,3 +1,3 @@
1
1
  module Easymon
2
- VERSION = "1.2.5"
2
+ VERSION = "1.2.6"
3
3
  end
@@ -5,6 +5,7 @@ module Easymon
5
5
 
6
6
  setup do
7
7
  @routes = Easymon::Engine.routes
8
+ Easymon.authorize_with = nil
8
9
  end
9
10
 
10
11
  test "index when no checks are defined" do
@@ -91,5 +92,15 @@ module Easymon
91
92
  get :show, :check => "database"
92
93
  assert_response :not_found
93
94
  end
95
+
96
+ test "return 403 if not authorized" do
97
+ Easymon.authorize_with = Proc.new { false }
98
+
99
+ get :index
100
+ assert_response :forbidden
101
+
102
+ get :show, :check => "database"
103
+ assert_response :forbidden
104
+ end
94
105
  end
95
106
  end
@@ -2563,3 +2563,1329 @@ ChecklistTest: test_it_will_run_each_check
2563
2563
   (0.1ms) ROLLBACK
2564
2564
   (0.1ms) ROLLBACK
2565
2565
   (0.1ms) ROLLBACK
2566
+  (0.2ms) BEGIN
2567
+  (0.1ms) BEGIN
2568
+ --------------------------------------------------------------------------------------
2569
+ ActiveRecordCheckOnPostgresqlTest: test_#check_returns_a_failed_result_on_a_failed_run
2570
+ --------------------------------------------------------------------------------------
2571
+  (0.2ms) ROLLBACK
2572
+  (0.1ms) ROLLBACK
2573
+  (0.2ms) BEGIN
2574
+  (0.1ms) BEGIN
2575
+ ----------------------------------------------------------------------------------------
2576
+ ActiveRecordCheckOnPostgresqlTest: test_#check_returns_a_successful_result_on_a_good_run
2577
+ ----------------------------------------------------------------------------------------
2578
+  (0.2ms) SELECT 1
2579
+  (0.1ms) ROLLBACK
2580
+  (0.1ms) ROLLBACK
2581
+  (0.2ms) BEGIN
2582
+  (0.2ms) BEGIN
2583
+ ---------------------------------------------------------------------
2584
+ MemcachedCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
2585
+ ---------------------------------------------------------------------
2586
+  (0.1ms) ROLLBACK
2587
+  (0.1ms) ROLLBACK
2588
+  (0.2ms) BEGIN
2589
+  (0.1ms) BEGIN
2590
+ -----------------------------------------------------------------------
2591
+ MemcachedCheckTest: test_#run_sets_success_conditions_on_successful_run
2592
+ -----------------------------------------------------------------------
2593
+  (0.2ms) ROLLBACK
2594
+  (0.1ms) ROLLBACK
2595
+  (0.1ms) BEGIN
2596
+  (0.2ms) BEGIN
2597
+ ------------------------------------------------------------------
2598
+ MemcachedCheckTest: test_fails_when_passed_a_cache_with_no_servers
2599
+ ------------------------------------------------------------------
2600
+  (0.1ms) ROLLBACK
2601
+  (0.1ms) ROLLBACK
2602
+  (0.1ms) BEGIN
2603
+  (0.1ms) BEGIN
2604
+ ---------------------------------------------------------
2605
+ MemcachedCheckTest: test_fails_when_passed_nil_as_a_cache
2606
+ ---------------------------------------------------------
2607
+  (0.1ms) ROLLBACK
2608
+  (0.1ms) ROLLBACK
2609
+  (0.1ms) BEGIN
2610
+  (0.1ms) BEGIN
2611
+ ----------------------------------------------------------------
2612
+ HttpCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
2613
+ ----------------------------------------------------------------
2614
+  (0.1ms) ROLLBACK
2615
+  (0.1ms) ROLLBACK
2616
+  (0.1ms) BEGIN
2617
+  (0.1ms) BEGIN
2618
+ ------------------------------------------------------------------
2619
+ HttpCheckTest: test_#run_sets_failure_conditions_on_an_errored_run
2620
+ ------------------------------------------------------------------
2621
+  (0.1ms) ROLLBACK
2622
+  (0.1ms) ROLLBACK
2623
+  (0.1ms) BEGIN
2624
+  (0.1ms) BEGIN
2625
+ ------------------------------------------------------------------
2626
+ HttpCheckTest: test_#run_sets_success_conditions_on_successful_run
2627
+ ------------------------------------------------------------------
2628
+  (0.1ms) ROLLBACK
2629
+  (0.1ms) ROLLBACK
2630
+  (0.1ms) BEGIN
2631
+  (0.1ms) BEGIN
2632
+ --------------------------------------
2633
+ HttpCheckTest: test_given_nil_as_a_url
2634
+ --------------------------------------
2635
+  (0.1ms) ROLLBACK
2636
+  (0.1ms) ROLLBACK
2637
+  (0.1ms) BEGIN
2638
+  (0.1ms) BEGIN
2639
+ ------------------------------------------------------------
2640
+ Easymon::ChecksControllerTest: test_index_returns_valid_json
2641
+ ------------------------------------------------------------
2642
+ Processing by Easymon::ChecksController#index as JSON
2643
+  (0.3ms) SELECT 1
2644
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms)
2645
+  (0.2ms) ROLLBACK
2646
+  (0.2ms) ROLLBACK
2647
+  (0.2ms) BEGIN
2648
+  (0.1ms) BEGIN
2649
+ ------------------------------------------------------------
2650
+ Easymon::ChecksControllerTest: test_index_when_a_check_fails
2651
+ ------------------------------------------------------------
2652
+ Processing by Easymon::ChecksController#index as HTML
2653
+  (0.2ms) SELECT 1
2654
+ Rendered text template (0.0ms)
2655
+ Completed 503 Service Unavailable in 2ms (Views: 1.2ms | ActiveRecord: 0.2ms)
2656
+  (0.1ms) ROLLBACK
2657
+  (0.1ms) ROLLBACK
2658
+  (0.1ms) BEGIN
2659
+  (0.1ms) BEGIN
2660
+ ---------------------------------------------------------------------
2661
+ Easymon::ChecksControllerTest: test_index_when_a_critical_check_fails
2662
+ ---------------------------------------------------------------------
2663
+ Processing by Easymon::ChecksController#index as HTML
2664
+ Rendered text template (0.0ms)
2665
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
2666
+  (0.2ms) ROLLBACK
2667
+  (0.1ms) ROLLBACK
2668
+  (0.2ms) BEGIN
2669
+  (0.1ms) BEGIN
2670
+ -------------------------------------------------------------------------
2671
+ Easymon::ChecksControllerTest: test_index_when_a_non-critical_check_fails
2672
+ -------------------------------------------------------------------------
2673
+ Processing by Easymon::ChecksController#index as HTML
2674
+  (0.2ms) SELECT 1
2675
+ Rendered text template (0.0ms)
2676
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
2677
+  (0.1ms) ROLLBACK
2678
+  (0.2ms) ROLLBACK
2679
+  (0.2ms) BEGIN
2680
+  (0.1ms) BEGIN
2681
+ --------------------------------------------------------------
2682
+ Easymon::ChecksControllerTest: test_index_when_all_checks_pass
2683
+ --------------------------------------------------------------
2684
+ Processing by Easymon::ChecksController#index as HTML
2685
+  (0.2ms) SELECT 1
2686
+ Rendered text template (0.0ms)
2687
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
2688
+  (0.1ms) ROLLBACK
2689
+  (0.1ms) ROLLBACK
2690
+  (0.1ms) BEGIN
2691
+  (0.1ms) BEGIN
2692
+ --------------------------------------------------------------------
2693
+ Easymon::ChecksControllerTest: test_index_when_no_checks_are_defined
2694
+ --------------------------------------------------------------------
2695
+ Processing by Easymon::ChecksController#index as HTML
2696
+ Rendered text template (0.0ms)
2697
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
2698
+  (0.1ms) ROLLBACK
2699
+  (0.1ms) ROLLBACK
2700
+  (0.1ms) BEGIN
2701
+  (0.2ms) BEGIN
2702
+ ----------------------------------------------------------------
2703
+ Easymon::ChecksControllerTest: test_return_404_if_not_authorized
2704
+ ----------------------------------------------------------------
2705
+ Processing by Easymon::ChecksController#index as HTML
2706
+ Filter chain halted as :authorize_request rendered or redirected
2707
+ Completed 403 Forbidden in 0ms (ActiveRecord: 0.0ms)
2708
+ Processing by Easymon::ChecksController#show as HTML
2709
+ Parameters: {"check"=>"database"}
2710
+ Filter chain halted as :authorize_request rendered or redirected
2711
+ Completed 403 Forbidden in 0ms (ActiveRecord: 0.0ms)
2712
+  (0.1ms) ROLLBACK
2713
+  (0.2ms) ROLLBACK
2714
+  (0.2ms) BEGIN
2715
+  (0.1ms) BEGIN
2716
+ ------------------------------------------------------------------
2717
+ Easymon::ChecksControllerTest: test_show_if_the_check_is_not_found
2718
+ ------------------------------------------------------------------
2719
+ Processing by Easymon::ChecksController#show as HTML
2720
+ Parameters: {"check"=>"database"}
2721
+ Rendered text template (0.0ms)
2722
+ Completed 404 Not Found in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
2723
+  (0.2ms) ROLLBACK
2724
+  (0.2ms) ROLLBACK
2725
+  (0.1ms) BEGIN
2726
+  (0.2ms) BEGIN
2727
+ -------------------------------------------------------------------
2728
+ Easymon::ChecksControllerTest: test_show_json_when_the_check_passes
2729
+ -------------------------------------------------------------------
2730
+ Processing by Easymon::ChecksController#show as JSON
2731
+ Parameters: {"check"=>"database"}
2732
+  (0.2ms) SELECT 1
2733
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
2734
+  (0.1ms) ROLLBACK
2735
+  (0.2ms) ROLLBACK
2736
+  (0.3ms) BEGIN
2737
+  (0.1ms) BEGIN
2738
+ -------------------------------------------------------------
2739
+ Easymon::ChecksControllerTest: test_show_when_the_check_fails
2740
+ -------------------------------------------------------------
2741
+ Processing by Easymon::ChecksController#show as HTML
2742
+ Parameters: {"check"=>"database"}
2743
+ Rendered text template (0.0ms)
2744
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
2745
+  (0.2ms) ROLLBACK
2746
+  (0.1ms) ROLLBACK
2747
+  (0.2ms) BEGIN
2748
+  (0.1ms) BEGIN
2749
+ --------------------------------------------------------------
2750
+ Easymon::ChecksControllerTest: test_show_when_the_check_passes
2751
+ --------------------------------------------------------------
2752
+ Processing by Easymon::ChecksController#show as HTML
2753
+ Parameters: {"check"=>"database"}
2754
+  (0.2ms) SELECT 1
2755
+ Rendered text template (0.0ms)
2756
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
2757
+  (0.1ms) ROLLBACK
2758
+  (0.2ms) ROLLBACK
2759
+  (0.2ms) BEGIN
2760
+  (0.1ms) BEGIN
2761
+ ---------------------------------------------------------------------
2762
+ ChecklistTest: test_#response_status_returns_:ok_when_all_checks_pass
2763
+ ---------------------------------------------------------------------
2764
+  (0.1ms) SELECT 1
2765
+  (0.1ms) ROLLBACK
2766
+  (0.1ms) ROLLBACK
2767
+  (0.1ms) BEGIN
2768
+  (0.1ms) BEGIN
2769
+ ------------------------------------------------------------------------------------
2770
+ ChecklistTest: test_#response_status_returns_:service_unavailable_when_a_check_fails
2771
+ ------------------------------------------------------------------------------------
2772
+  (0.1ms) SELECT 1
2773
+ Dalli::Server#connect 127.0.0.1:11211
2774
+  (0.2ms) ROLLBACK
2775
+  (0.2ms) ROLLBACK
2776
+  (0.1ms) BEGIN
2777
+  (0.2ms) BEGIN
2778
+ -----------------------------------------------------------------
2779
+ ChecklistTest: test_#success?_returns_false_when_results_is_empty
2780
+ -----------------------------------------------------------------
2781
+  (0.1ms) ROLLBACK
2782
+  (0.1ms) ROLLBACK
2783
+  (0.1ms) BEGIN
2784
+  (0.1ms) BEGIN
2785
+ ---------------------------------------------------------
2786
+ ChecklistTest: test_#timing_is_a_sum_of_all_check_results
2787
+ ---------------------------------------------------------
2788
+  (0.1ms) ROLLBACK
2789
+  (0.1ms) ROLLBACK
2790
+  (0.1ms) BEGIN
2791
+  (0.1ms) BEGIN
2792
+ -------------------------------------------------------------------------
2793
+ ChecklistTest: test_#to_s_returns_a_valid_representation_of_the_checklist
2794
+ -------------------------------------------------------------------------
2795
+  (0.1ms) SELECT 1
2796
+  (0.1ms) ROLLBACK
2797
+  (0.1ms) ROLLBACK
2798
+  (0.1ms) BEGIN
2799
+  (0.1ms) BEGIN
2800
+ ----------------------------------------------
2801
+ ChecklistTest: test_can_look_up_checks_by_name
2802
+ ----------------------------------------------
2803
+  (0.1ms) ROLLBACK
2804
+  (0.1ms) ROLLBACK
2805
+  (0.1ms) BEGIN
2806
+  (0.1ms) BEGIN
2807
+ ---------------------------------------------
2808
+ ChecklistTest: test_cat_fetch_a_check_by_name
2809
+ ---------------------------------------------
2810
+  (0.1ms) ROLLBACK
2811
+  (0.1ms) ROLLBACK
2812
+  (0.1ms) BEGIN
2813
+  (0.1ms) BEGIN
2814
+ -------------------------------------------------------------------
2815
+ ChecklistTest: test_it_knows_the_number_of_checks_in_the_Repository
2816
+ -------------------------------------------------------------------
2817
+  (0.1ms) ROLLBACK
2818
+  (0.1ms) ROLLBACK
2819
+  (0.1ms) BEGIN
2820
+  (0.1ms) BEGIN
2821
+ ------------------------------------------
2822
+ ChecklistTest: test_it_will_run_each_check
2823
+ ------------------------------------------
2824
+  (0.1ms) SELECT 1
2825
+  (0.1ms) ROLLBACK
2826
+  (0.1ms) ROLLBACK
2827
+  (0.1ms) BEGIN
2828
+  (0.1ms) BEGIN
2829
+ ---------------------------------------------------------------------
2830
+ SemaphoreCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
2831
+ ---------------------------------------------------------------------
2832
+  (0.1ms) ROLLBACK
2833
+  (0.1ms) ROLLBACK
2834
+  (0.1ms) BEGIN
2835
+  (0.1ms) BEGIN
2836
+ -----------------------------------------------------------------------
2837
+ SemaphoreCheckTest: test_#run_sets_success_conditions_on_successful_run
2838
+ -----------------------------------------------------------------------
2839
+  (0.1ms) ROLLBACK
2840
+  (0.1ms) ROLLBACK
2841
+  (0.1ms) BEGIN
2842
+  (0.1ms) BEGIN
2843
+ --------------------------------------------------------------------------
2844
+ RepositoryTest: test_adds_checks_marked_critical_to_the_critical_checklist
2845
+ --------------------------------------------------------------------------
2846
+  (0.1ms) ROLLBACK
2847
+  (0.1ms) ROLLBACK
2848
+  (0.1ms) BEGIN
2849
+  (0.1ms) BEGIN
2850
+ --------------------------------------------
2851
+ RepositoryTest: test_fetches_a_check_by_name
2852
+ --------------------------------------------
2853
+  (0.1ms) ROLLBACK
2854
+  (0.1ms) ROLLBACK
2855
+  (0.1ms) BEGIN
2856
+  (0.1ms) BEGIN
2857
+ -----------------------------------------------------
2858
+ RepositoryTest: test_fetches_a_critical_check_by_name
2859
+ -----------------------------------------------------
2860
+  (0.1ms) ROLLBACK
2861
+  (0.1ms) ROLLBACK
2862
+  (0.1ms) BEGIN
2863
+  (0.1ms) BEGIN
2864
+ ---------------------------------------------------
2865
+ RepositoryTest: test_returns_a_checklist_when_asked
2866
+ ---------------------------------------------------
2867
+  (0.1ms) ROLLBACK
2868
+  (0.1ms) ROLLBACK
2869
+  (0.1ms) BEGIN
2870
+  (0.1ms) BEGIN
2871
+ ---------------------------------------------------------
2872
+ RepositoryTest: test_we_can_add_a_check_to_the_repository
2873
+ ---------------------------------------------------------
2874
+  (0.1ms) ROLLBACK
2875
+  (0.1ms) ROLLBACK
2876
+  (0.1ms) BEGIN
2877
+  (0.1ms) BEGIN
2878
+ --------------------------------------------------------------
2879
+ RepositoryTest: test_we_can_remove_a_check_from_the_repository
2880
+ --------------------------------------------------------------
2881
+  (0.1ms) ROLLBACK
2882
+  (0.1ms) ROLLBACK
2883
+  (0.1ms) BEGIN
2884
+  (0.1ms) BEGIN
2885
+ -----------------------------------------------------------------
2886
+ RedisCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
2887
+ -----------------------------------------------------------------
2888
+  (0.1ms) ROLLBACK
2889
+  (0.1ms) ROLLBACK
2890
+  (0.1ms) BEGIN
2891
+  (0.1ms) BEGIN
2892
+ -------------------------------------------------------------------
2893
+ RedisCheckTest: test_#run_sets_success_conditions_on_successful_run
2894
+ -------------------------------------------------------------------
2895
+  (0.1ms) ROLLBACK
2896
+  (0.1ms) ROLLBACK
2897
+  (0.1ms) BEGIN
2898
+  (0.1ms) BEGIN
2899
+ ------------------------------------------
2900
+ RedisCheckTest: test_given_nil_as_a_config
2901
+ ------------------------------------------
2902
+  (0.1ms) ROLLBACK
2903
+  (0.1ms) ROLLBACK
2904
+  (0.1ms) BEGIN
2905
+  (0.1ms) BEGIN
2906
+ --------------------------------------------------------------------------
2907
+ ActiveRecordCheckTest: test_#check_returns_a_failed_result_on_a_failed_run
2908
+ --------------------------------------------------------------------------
2909
+  (0.1ms) ROLLBACK
2910
+  (0.1ms) ROLLBACK
2911
+  (0.1ms) BEGIN
2912
+  (0.1ms) BEGIN
2913
+ ----------------------------------------------------------------------------
2914
+ ActiveRecordCheckTest: test_#check_returns_a_successful_result_on_a_good_run
2915
+ ----------------------------------------------------------------------------
2916
+  (0.1ms) SELECT 1
2917
+  (0.1ms) ROLLBACK
2918
+  (0.1ms) ROLLBACK
2919
+  (0.1ms) BEGIN
2920
+  (0.1ms) BEGIN
2921
+ -------------------------------------------------
2922
+ ActiveRecordCheckTest: test_given_nil_as_a_config
2923
+ -------------------------------------------------
2924
+  (0.1ms) ROLLBACK
2925
+  (0.1ms) ROLLBACK
2926
+  (0.1ms) BEGIN
2927
+  (0.1ms) BEGIN
2928
+ ----------------------------------------------------------------------------
2929
+ TrafficEnabledCheckTest: test_#check_sets_failure_conditions_on_a_failed_run
2930
+ ----------------------------------------------------------------------------
2931
+  (0.1ms) ROLLBACK
2932
+  (0.1ms) ROLLBACK
2933
+  (0.1ms) BEGIN
2934
+  (0.1ms) BEGIN
2935
+ ------------------------------------------------------------------------------
2936
+ TrafficEnabledCheckTest: test_#check_sets_success_conditions_on_successful_run
2937
+ ------------------------------------------------------------------------------
2938
+  (0.1ms) ROLLBACK
2939
+  (0.1ms) ROLLBACK
2940
+  (0.1ms) BEGIN
2941
+  (0.1ms) BEGIN
2942
+ --------------------------------------------------------------------------------
2943
+ SplitActiveRecordCheckTest: test_#run_sets_failed_conditions_when_master_is_down
2944
+ --------------------------------------------------------------------------------
2945
+  (0.1ms) SELECT 1
2946
+  (0.1ms) ROLLBACK
2947
+  (0.1ms) ROLLBACK
2948
+  (0.1ms) BEGIN
2949
+  (0.1ms) BEGIN
2950
+  (0.1ms) BEGIN
2951
+ -------------------------------------------------------------------------------
2952
+ SplitActiveRecordCheckTest: test_#run_sets_failed_conditions_when_slave_is_down
2953
+ -------------------------------------------------------------------------------
2954
+  (0.1ms) SELECT 1
2955
+  (0.1ms) ROLLBACK
2956
+  (0.1ms) ROLLBACK
2957
+  (0.1ms) BEGIN
2958
+  (0.1ms) BEGIN
2959
+  (0.1ms) BEGIN
2960
+ -------------------------------------------------------------------------------
2961
+ SplitActiveRecordCheckTest: test_#run_sets_success_conditions_on_successful_run
2962
+ -------------------------------------------------------------------------------
2963
+  (0.1ms) SELECT 1
2964
+  (0.1ms) SELECT 1
2965
+  (0.1ms) ROLLBACK
2966
+  (0.1ms) ROLLBACK
2967
+  (0.1ms) BEGIN
2968
+  (0.1ms) BEGIN
2969
+  (0.1ms) BEGIN
2970
+ ------------------------------------------------------
2971
+ SplitActiveRecordCheckTest: test_given_nil_as_a_config
2972
+ ------------------------------------------------------
2973
+  (0.1ms) ROLLBACK
2974
+  (0.1ms) ROLLBACK
2975
+  (0.1ms) ROLLBACK
2976
+  (0.2ms) BEGIN
2977
+  (0.2ms) BEGIN
2978
+ ----------------------------------------------------------------
2979
+ HttpCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
2980
+ ----------------------------------------------------------------
2981
+  (0.2ms) ROLLBACK
2982
+  (0.2ms) ROLLBACK
2983
+  (0.1ms) BEGIN
2984
+  (0.1ms) BEGIN
2985
+ ------------------------------------------------------------------
2986
+ HttpCheckTest: test_#run_sets_failure_conditions_on_an_errored_run
2987
+ ------------------------------------------------------------------
2988
+  (0.1ms) ROLLBACK
2989
+  (0.2ms) ROLLBACK
2990
+  (0.1ms) BEGIN
2991
+  (0.1ms) BEGIN
2992
+ ------------------------------------------------------------------
2993
+ HttpCheckTest: test_#run_sets_success_conditions_on_successful_run
2994
+ ------------------------------------------------------------------
2995
+  (0.1ms) ROLLBACK
2996
+  (0.2ms) ROLLBACK
2997
+  (0.1ms) BEGIN
2998
+  (0.1ms) BEGIN
2999
+ --------------------------------------
3000
+ HttpCheckTest: test_given_nil_as_a_url
3001
+ --------------------------------------
3002
+  (0.1ms) ROLLBACK
3003
+  (0.1ms) ROLLBACK
3004
+  (0.1ms) BEGIN
3005
+  (0.1ms) BEGIN
3006
+ --------------------------------------------------------------------------------------
3007
+ ActiveRecordCheckOnPostgresqlTest: test_#check_returns_a_failed_result_on_a_failed_run
3008
+ --------------------------------------------------------------------------------------
3009
+  (0.1ms) ROLLBACK
3010
+  (0.1ms) ROLLBACK
3011
+  (0.1ms) BEGIN
3012
+  (0.1ms) BEGIN
3013
+ ----------------------------------------------------------------------------------------
3014
+ ActiveRecordCheckOnPostgresqlTest: test_#check_returns_a_successful_result_on_a_good_run
3015
+ ----------------------------------------------------------------------------------------
3016
+  (0.2ms) SELECT 1
3017
+  (0.1ms) ROLLBACK
3018
+  (0.1ms) ROLLBACK
3019
+  (0.1ms) BEGIN
3020
+  (0.1ms) BEGIN
3021
+ ----------------------------------------------------------------------------
3022
+ TrafficEnabledCheckTest: test_#check_sets_failure_conditions_on_a_failed_run
3023
+ ----------------------------------------------------------------------------
3024
+  (0.1ms) ROLLBACK
3025
+  (0.1ms) ROLLBACK
3026
+  (0.1ms) BEGIN
3027
+  (0.1ms) BEGIN
3028
+ ------------------------------------------------------------------------------
3029
+ TrafficEnabledCheckTest: test_#check_sets_success_conditions_on_successful_run
3030
+ ------------------------------------------------------------------------------
3031
+  (0.1ms) ROLLBACK
3032
+  (0.1ms) ROLLBACK
3033
+  (0.1ms) BEGIN
3034
+  (0.1ms) BEGIN
3035
+ -----------------------------------------------------------------
3036
+ RedisCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
3037
+ -----------------------------------------------------------------
3038
+  (0.1ms) ROLLBACK
3039
+  (0.1ms) ROLLBACK
3040
+  (0.1ms) BEGIN
3041
+  (0.1ms) BEGIN
3042
+ -------------------------------------------------------------------
3043
+ RedisCheckTest: test_#run_sets_success_conditions_on_successful_run
3044
+ -------------------------------------------------------------------
3045
+  (0.2ms) ROLLBACK
3046
+  (0.1ms) ROLLBACK
3047
+  (0.1ms) BEGIN
3048
+  (0.2ms) BEGIN
3049
+ ------------------------------------------
3050
+ RedisCheckTest: test_given_nil_as_a_config
3051
+ ------------------------------------------
3052
+  (0.2ms) ROLLBACK
3053
+  (0.1ms) ROLLBACK
3054
+  (0.2ms) BEGIN
3055
+  (0.2ms) BEGIN
3056
+ --------------------------------------------------------------------------
3057
+ RepositoryTest: test_adds_checks_marked_critical_to_the_critical_checklist
3058
+ --------------------------------------------------------------------------
3059
+  (0.2ms) ROLLBACK
3060
+  (0.2ms) ROLLBACK
3061
+  (0.2ms) BEGIN
3062
+  (0.1ms) BEGIN
3063
+ --------------------------------------------
3064
+ RepositoryTest: test_fetches_a_check_by_name
3065
+ --------------------------------------------
3066
+  (0.1ms) ROLLBACK
3067
+  (0.1ms) ROLLBACK
3068
+  (0.2ms) BEGIN
3069
+  (0.1ms) BEGIN
3070
+ -----------------------------------------------------
3071
+ RepositoryTest: test_fetches_a_critical_check_by_name
3072
+ -----------------------------------------------------
3073
+  (0.1ms) ROLLBACK
3074
+  (0.1ms) ROLLBACK
3075
+  (0.1ms) BEGIN
3076
+  (0.2ms) BEGIN
3077
+ ---------------------------------------------------
3078
+ RepositoryTest: test_returns_a_checklist_when_asked
3079
+ ---------------------------------------------------
3080
+  (0.1ms) ROLLBACK
3081
+  (0.1ms) ROLLBACK
3082
+  (0.1ms) BEGIN
3083
+  (0.1ms) BEGIN
3084
+ ---------------------------------------------------------
3085
+ RepositoryTest: test_we_can_add_a_check_to_the_repository
3086
+ ---------------------------------------------------------
3087
+  (0.1ms) ROLLBACK
3088
+  (0.1ms) ROLLBACK
3089
+  (0.1ms) BEGIN
3090
+  (0.1ms) BEGIN
3091
+ --------------------------------------------------------------
3092
+ RepositoryTest: test_we_can_remove_a_check_from_the_repository
3093
+ --------------------------------------------------------------
3094
+  (0.1ms) ROLLBACK
3095
+  (0.1ms) ROLLBACK
3096
+  (0.1ms) BEGIN
3097
+  (0.1ms) BEGIN
3098
+ --------------------------------------------------------------------------------
3099
+ SplitActiveRecordCheckTest: test_#run_sets_failed_conditions_when_master_is_down
3100
+ --------------------------------------------------------------------------------
3101
+  (0.2ms) SELECT 1
3102
+  (0.2ms) ROLLBACK
3103
+  (0.2ms) ROLLBACK
3104
+  (0.1ms) BEGIN
3105
+  (0.1ms) BEGIN
3106
+  (0.1ms) BEGIN
3107
+ -------------------------------------------------------------------------------
3108
+ SplitActiveRecordCheckTest: test_#run_sets_failed_conditions_when_slave_is_down
3109
+ -------------------------------------------------------------------------------
3110
+  (0.1ms) SELECT 1
3111
+  (0.1ms) ROLLBACK
3112
+  (0.1ms) ROLLBACK
3113
+  (0.1ms) BEGIN
3114
+  (0.1ms) BEGIN
3115
+  (0.1ms) BEGIN
3116
+ -------------------------------------------------------------------------------
3117
+ SplitActiveRecordCheckTest: test_#run_sets_success_conditions_on_successful_run
3118
+ -------------------------------------------------------------------------------
3119
+  (0.1ms) SELECT 1
3120
+  (0.1ms) SELECT 1
3121
+  (0.1ms) ROLLBACK
3122
+  (0.1ms) ROLLBACK
3123
+  (0.1ms) BEGIN
3124
+  (0.1ms) BEGIN
3125
+  (0.1ms) BEGIN
3126
+ ------------------------------------------------------
3127
+ SplitActiveRecordCheckTest: test_given_nil_as_a_config
3128
+ ------------------------------------------------------
3129
+  (0.1ms) ROLLBACK
3130
+  (0.1ms) ROLLBACK
3131
+  (0.1ms) ROLLBACK
3132
+  (0.1ms) BEGIN
3133
+  (0.1ms) BEGIN
3134
+  (0.1ms) BEGIN
3135
+ ---------------------------------------------------------------------
3136
+ ChecklistTest: test_#response_status_returns_:ok_when_all_checks_pass
3137
+ ---------------------------------------------------------------------
3138
+  (0.1ms) SELECT 1
3139
+  (0.1ms) ROLLBACK
3140
+  (0.1ms) ROLLBACK
3141
+  (0.1ms) ROLLBACK
3142
+  (0.1ms) BEGIN
3143
+  (0.1ms) BEGIN
3144
+  (0.1ms) BEGIN
3145
+ ------------------------------------------------------------------------------------
3146
+ ChecklistTest: test_#response_status_returns_:service_unavailable_when_a_check_fails
3147
+ ------------------------------------------------------------------------------------
3148
+  (0.1ms) SELECT 1
3149
+ Dalli::Server#connect 127.0.0.1:11211
3150
+  (0.1ms) ROLLBACK
3151
+  (0.1ms) ROLLBACK
3152
+  (0.1ms) ROLLBACK
3153
+  (0.1ms) BEGIN
3154
+  (0.1ms) BEGIN
3155
+  (0.1ms) BEGIN
3156
+ -----------------------------------------------------------------
3157
+ ChecklistTest: test_#success?_returns_false_when_results_is_empty
3158
+ -----------------------------------------------------------------
3159
+  (0.1ms) ROLLBACK
3160
+  (0.1ms) ROLLBACK
3161
+  (0.1ms) ROLLBACK
3162
+  (0.1ms) BEGIN
3163
+  (0.1ms) BEGIN
3164
+  (0.1ms) BEGIN
3165
+ ---------------------------------------------------------
3166
+ ChecklistTest: test_#timing_is_a_sum_of_all_check_results
3167
+ ---------------------------------------------------------
3168
+  (0.1ms) ROLLBACK
3169
+  (0.1ms) ROLLBACK
3170
+  (0.1ms) ROLLBACK
3171
+  (0.1ms) BEGIN
3172
+  (0.1ms) BEGIN
3173
+  (0.1ms) BEGIN
3174
+ -------------------------------------------------------------------------
3175
+ ChecklistTest: test_#to_s_returns_a_valid_representation_of_the_checklist
3176
+ -------------------------------------------------------------------------
3177
+  (0.1ms) SELECT 1
3178
+  (0.1ms) ROLLBACK
3179
+  (0.1ms) ROLLBACK
3180
+  (0.1ms) ROLLBACK
3181
+  (0.1ms) BEGIN
3182
+  (0.1ms) BEGIN
3183
+  (0.1ms) BEGIN
3184
+ ----------------------------------------------
3185
+ ChecklistTest: test_can_look_up_checks_by_name
3186
+ ----------------------------------------------
3187
+  (0.1ms) ROLLBACK
3188
+  (0.1ms) ROLLBACK
3189
+  (0.1ms) ROLLBACK
3190
+  (0.1ms) BEGIN
3191
+  (0.1ms) BEGIN
3192
+  (0.1ms) BEGIN
3193
+ ---------------------------------------------
3194
+ ChecklistTest: test_cat_fetch_a_check_by_name
3195
+ ---------------------------------------------
3196
+  (0.1ms) ROLLBACK
3197
+  (0.1ms) ROLLBACK
3198
+  (0.1ms) ROLLBACK
3199
+  (0.1ms) BEGIN
3200
+  (0.1ms) BEGIN
3201
+  (0.1ms) BEGIN
3202
+ -------------------------------------------------------------------
3203
+ ChecklistTest: test_it_knows_the_number_of_checks_in_the_Repository
3204
+ -------------------------------------------------------------------
3205
+  (0.1ms) ROLLBACK
3206
+  (0.1ms) ROLLBACK
3207
+  (0.1ms) ROLLBACK
3208
+  (0.1ms) BEGIN
3209
+  (0.2ms) BEGIN
3210
+  (0.1ms) BEGIN
3211
+ ------------------------------------------
3212
+ ChecklistTest: test_it_will_run_each_check
3213
+ ------------------------------------------
3214
+  (0.1ms) SELECT 1
3215
+  (0.1ms) ROLLBACK
3216
+  (0.2ms) ROLLBACK
3217
+  (0.1ms) ROLLBACK
3218
+  (0.1ms) BEGIN
3219
+  (0.1ms) BEGIN
3220
+  (0.1ms) BEGIN
3221
+ ---------------------------------------------------------------------
3222
+ MemcachedCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
3223
+ ---------------------------------------------------------------------
3224
+  (0.1ms) ROLLBACK
3225
+  (0.1ms) ROLLBACK
3226
+  (0.1ms) ROLLBACK
3227
+  (0.1ms) BEGIN
3228
+  (0.1ms) BEGIN
3229
+  (0.1ms) BEGIN
3230
+ -----------------------------------------------------------------------
3231
+ MemcachedCheckTest: test_#run_sets_success_conditions_on_successful_run
3232
+ -----------------------------------------------------------------------
3233
+  (0.1ms) ROLLBACK
3234
+  (0.1ms) ROLLBACK
3235
+  (0.1ms) ROLLBACK
3236
+  (0.1ms) BEGIN
3237
+  (0.1ms) BEGIN
3238
+  (0.1ms) BEGIN
3239
+ ------------------------------------------------------------------
3240
+ MemcachedCheckTest: test_fails_when_passed_a_cache_with_no_servers
3241
+ ------------------------------------------------------------------
3242
+  (0.1ms) ROLLBACK
3243
+  (0.1ms) ROLLBACK
3244
+  (0.1ms) ROLLBACK
3245
+  (0.1ms) BEGIN
3246
+  (0.1ms) BEGIN
3247
+  (0.1ms) BEGIN
3248
+ ---------------------------------------------------------
3249
+ MemcachedCheckTest: test_fails_when_passed_nil_as_a_cache
3250
+ ---------------------------------------------------------
3251
+  (0.1ms) ROLLBACK
3252
+  (0.1ms) ROLLBACK
3253
+  (0.1ms) ROLLBACK
3254
+  (0.1ms) BEGIN
3255
+  (0.1ms) BEGIN
3256
+  (0.1ms) BEGIN
3257
+ --------------------------------------------------------------------------
3258
+ ActiveRecordCheckTest: test_#check_returns_a_failed_result_on_a_failed_run
3259
+ --------------------------------------------------------------------------
3260
+  (0.1ms) ROLLBACK
3261
+  (0.1ms) ROLLBACK
3262
+  (0.1ms) ROLLBACK
3263
+  (0.1ms) BEGIN
3264
+  (0.1ms) BEGIN
3265
+  (0.1ms) BEGIN
3266
+ ----------------------------------------------------------------------------
3267
+ ActiveRecordCheckTest: test_#check_returns_a_successful_result_on_a_good_run
3268
+ ----------------------------------------------------------------------------
3269
+  (0.1ms) SELECT 1
3270
+  (0.1ms) ROLLBACK
3271
+  (0.1ms) ROLLBACK
3272
+  (0.1ms) ROLLBACK
3273
+  (0.1ms) BEGIN
3274
+  (0.1ms) BEGIN
3275
+  (0.1ms) BEGIN
3276
+ -------------------------------------------------
3277
+ ActiveRecordCheckTest: test_given_nil_as_a_config
3278
+ -------------------------------------------------
3279
+  (0.1ms) ROLLBACK
3280
+  (0.1ms) ROLLBACK
3281
+  (0.1ms) ROLLBACK
3282
+  (0.1ms) BEGIN
3283
+  (0.1ms) BEGIN
3284
+  (0.1ms) BEGIN
3285
+ ------------------------------------------------------------
3286
+ Easymon::ChecksControllerTest: test_index_returns_valid_json
3287
+ ------------------------------------------------------------
3288
+ Processing by Easymon::ChecksController#index as JSON
3289
+  (0.3ms) SELECT 1
3290
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms)
3291
+  (0.2ms) ROLLBACK
3292
+  (0.2ms) ROLLBACK
3293
+  (0.2ms) ROLLBACK
3294
+  (0.1ms) BEGIN
3295
+  (0.1ms) BEGIN
3296
+  (0.1ms) BEGIN
3297
+ ------------------------------------------------------------
3298
+ Easymon::ChecksControllerTest: test_index_when_a_check_fails
3299
+ ------------------------------------------------------------
3300
+ Processing by Easymon::ChecksController#index as HTML
3301
+  (0.1ms) SELECT 1
3302
+ Rendered text template (0.0ms)
3303
+ Completed 503 Service Unavailable in 2ms (Views: 1.5ms | ActiveRecord: 0.1ms)
3304
+  (0.2ms) ROLLBACK
3305
+  (0.1ms) ROLLBACK
3306
+  (0.1ms) ROLLBACK
3307
+  (0.1ms) BEGIN
3308
+  (0.1ms) BEGIN
3309
+  (0.1ms) BEGIN
3310
+ ---------------------------------------------------------------------
3311
+ Easymon::ChecksControllerTest: test_index_when_a_critical_check_fails
3312
+ ---------------------------------------------------------------------
3313
+ Processing by Easymon::ChecksController#index as HTML
3314
+ Rendered text template (0.0ms)
3315
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3316
+  (0.1ms) ROLLBACK
3317
+  (0.1ms) ROLLBACK
3318
+  (0.1ms) ROLLBACK
3319
+  (0.1ms) BEGIN
3320
+  (0.1ms) BEGIN
3321
+  (0.1ms) BEGIN
3322
+ -------------------------------------------------------------------------
3323
+ Easymon::ChecksControllerTest: test_index_when_a_non-critical_check_fails
3324
+ -------------------------------------------------------------------------
3325
+ Processing by Easymon::ChecksController#index as HTML
3326
+  (0.2ms) SELECT 1
3327
+ Rendered text template (0.0ms)
3328
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
3329
+  (0.1ms) ROLLBACK
3330
+  (0.1ms) ROLLBACK
3331
+  (0.2ms) ROLLBACK
3332
+  (0.1ms) BEGIN
3333
+  (0.1ms) BEGIN
3334
+  (0.1ms) BEGIN
3335
+ --------------------------------------------------------------
3336
+ Easymon::ChecksControllerTest: test_index_when_all_checks_pass
3337
+ --------------------------------------------------------------
3338
+ Processing by Easymon::ChecksController#index as HTML
3339
+  (0.2ms) SELECT 1
3340
+ Rendered text template (0.0ms)
3341
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
3342
+  (0.1ms) ROLLBACK
3343
+  (0.1ms) ROLLBACK
3344
+  (0.1ms) ROLLBACK
3345
+  (0.1ms) BEGIN
3346
+  (0.1ms) BEGIN
3347
+  (0.1ms) BEGIN
3348
+ --------------------------------------------------------------------
3349
+ Easymon::ChecksControllerTest: test_index_when_no_checks_are_defined
3350
+ --------------------------------------------------------------------
3351
+ Processing by Easymon::ChecksController#index as HTML
3352
+ Rendered text template (0.0ms)
3353
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3354
+  (0.1ms) ROLLBACK
3355
+  (0.1ms) ROLLBACK
3356
+  (0.1ms) ROLLBACK
3357
+  (0.1ms) BEGIN
3358
+  (0.1ms) BEGIN
3359
+  (0.1ms) BEGIN
3360
+ ----------------------------------------------------------------
3361
+ Easymon::ChecksControllerTest: test_return_404_if_not_authorized
3362
+ ----------------------------------------------------------------
3363
+ Processing by Easymon::ChecksController#index as HTML
3364
+ Filter chain halted as :authorize_request rendered or redirected
3365
+ Completed 403 Forbidden in 0ms (ActiveRecord: 0.0ms)
3366
+ Processing by Easymon::ChecksController#show as HTML
3367
+ Parameters: {"check"=>"database"}
3368
+ Filter chain halted as :authorize_request rendered or redirected
3369
+ Completed 403 Forbidden in 0ms (ActiveRecord: 0.0ms)
3370
+  (0.1ms) ROLLBACK
3371
+  (0.1ms) ROLLBACK
3372
+  (0.1ms) ROLLBACK
3373
+  (0.1ms) BEGIN
3374
+  (0.1ms) BEGIN
3375
+  (0.2ms) BEGIN
3376
+ ------------------------------------------------------------------
3377
+ Easymon::ChecksControllerTest: test_show_if_the_check_is_not_found
3378
+ ------------------------------------------------------------------
3379
+ Processing by Easymon::ChecksController#show as HTML
3380
+ Parameters: {"check"=>"database"}
3381
+ Rendered text template (0.0ms)
3382
+ Completed 404 Not Found in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3383
+  (0.1ms) ROLLBACK
3384
+  (0.1ms) ROLLBACK
3385
+  (0.1ms) ROLLBACK
3386
+  (0.1ms) BEGIN
3387
+  (0.1ms) BEGIN
3388
+  (0.1ms) BEGIN
3389
+ -------------------------------------------------------------------
3390
+ Easymon::ChecksControllerTest: test_show_json_when_the_check_passes
3391
+ -------------------------------------------------------------------
3392
+ Processing by Easymon::ChecksController#show as JSON
3393
+ Parameters: {"check"=>"database"}
3394
+  (0.1ms) SELECT 1
3395
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
3396
+  (0.1ms) ROLLBACK
3397
+  (0.1ms) ROLLBACK
3398
+  (0.1ms) ROLLBACK
3399
+  (0.1ms) BEGIN
3400
+  (0.1ms) BEGIN
3401
+  (0.1ms) BEGIN
3402
+ -------------------------------------------------------------
3403
+ Easymon::ChecksControllerTest: test_show_when_the_check_fails
3404
+ -------------------------------------------------------------
3405
+ Processing by Easymon::ChecksController#show as HTML
3406
+ Parameters: {"check"=>"database"}
3407
+ Rendered text template (0.0ms)
3408
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3409
+  (0.2ms) ROLLBACK
3410
+  (0.3ms) ROLLBACK
3411
+  (0.1ms) ROLLBACK
3412
+  (0.1ms) BEGIN
3413
+  (0.1ms) BEGIN
3414
+  (0.1ms) BEGIN
3415
+ --------------------------------------------------------------
3416
+ Easymon::ChecksControllerTest: test_show_when_the_check_passes
3417
+ --------------------------------------------------------------
3418
+ Processing by Easymon::ChecksController#show as HTML
3419
+ Parameters: {"check"=>"database"}
3420
+  (0.2ms) SELECT 1
3421
+ Rendered text template (0.0ms)
3422
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
3423
+  (0.1ms) ROLLBACK
3424
+  (0.2ms) ROLLBACK
3425
+  (0.1ms) ROLLBACK
3426
+  (0.1ms) BEGIN
3427
+  (0.2ms) BEGIN
3428
+  (0.1ms) BEGIN
3429
+ ---------------------------------------------------------------------
3430
+ SemaphoreCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
3431
+ ---------------------------------------------------------------------
3432
+  (0.1ms) ROLLBACK
3433
+  (0.1ms) ROLLBACK
3434
+  (0.1ms) ROLLBACK
3435
+  (0.1ms) BEGIN
3436
+  (0.1ms) BEGIN
3437
+  (0.1ms) BEGIN
3438
+ -----------------------------------------------------------------------
3439
+ SemaphoreCheckTest: test_#run_sets_success_conditions_on_successful_run
3440
+ -----------------------------------------------------------------------
3441
+  (0.1ms) ROLLBACK
3442
+  (0.1ms) ROLLBACK
3443
+  (0.1ms) ROLLBACK
3444
+  (0.2ms) BEGIN
3445
+  (0.1ms) BEGIN
3446
+ ------------------------------------------------------------
3447
+ Easymon::ChecksControllerTest: test_index_returns_valid_json
3448
+ ------------------------------------------------------------
3449
+ Processing by Easymon::ChecksController#index as JSON
3450
+  (0.2ms) SELECT 1
3451
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
3452
+  (0.1ms) ROLLBACK
3453
+  (0.2ms) ROLLBACK
3454
+  (0.2ms) BEGIN
3455
+  (0.1ms) BEGIN
3456
+ ------------------------------------------------------------
3457
+ Easymon::ChecksControllerTest: test_index_when_a_check_fails
3458
+ ------------------------------------------------------------
3459
+ Processing by Easymon::ChecksController#index as HTML
3460
+  (0.3ms) SELECT 1
3461
+ Rendered text template (0.0ms)
3462
+ Completed 503 Service Unavailable in 2ms (Views: 1.1ms | ActiveRecord: 0.3ms)
3463
+  (0.2ms) ROLLBACK
3464
+  (0.2ms) ROLLBACK
3465
+  (0.2ms) BEGIN
3466
+  (0.2ms) BEGIN
3467
+ ---------------------------------------------------------------------
3468
+ Easymon::ChecksControllerTest: test_index_when_a_critical_check_fails
3469
+ ---------------------------------------------------------------------
3470
+ Processing by Easymon::ChecksController#index as HTML
3471
+ Rendered text template (0.0ms)
3472
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3473
+  (0.2ms) ROLLBACK
3474
+  (0.2ms) ROLLBACK
3475
+  (0.2ms) BEGIN
3476
+  (0.2ms) BEGIN
3477
+ -------------------------------------------------------------------------
3478
+ Easymon::ChecksControllerTest: test_index_when_a_non-critical_check_fails
3479
+ -------------------------------------------------------------------------
3480
+ Processing by Easymon::ChecksController#index as HTML
3481
+  (0.3ms) SELECT 1
3482
+ Rendered text template (0.0ms)
3483
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms)
3484
+  (0.2ms) ROLLBACK
3485
+  (0.2ms) ROLLBACK
3486
+  (0.2ms) BEGIN
3487
+  (0.1ms) BEGIN
3488
+ --------------------------------------------------------------
3489
+ Easymon::ChecksControllerTest: test_index_when_all_checks_pass
3490
+ --------------------------------------------------------------
3491
+ Processing by Easymon::ChecksController#index as HTML
3492
+  (0.2ms) SELECT 1
3493
+ Rendered text template (0.0ms)
3494
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
3495
+  (0.1ms) ROLLBACK
3496
+  (0.1ms) ROLLBACK
3497
+  (0.1ms) BEGIN
3498
+  (0.1ms) BEGIN
3499
+ --------------------------------------------------------------------
3500
+ Easymon::ChecksControllerTest: test_index_when_no_checks_are_defined
3501
+ --------------------------------------------------------------------
3502
+ Processing by Easymon::ChecksController#index as HTML
3503
+ Rendered text template (0.0ms)
3504
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3505
+  (0.2ms) ROLLBACK
3506
+  (0.1ms) ROLLBACK
3507
+  (0.1ms) BEGIN
3508
+  (0.1ms) BEGIN
3509
+ ----------------------------------------------------------------
3510
+ Easymon::ChecksControllerTest: test_return_403_if_not_authorized
3511
+ ----------------------------------------------------------------
3512
+ Processing by Easymon::ChecksController#index as HTML
3513
+ Filter chain halted as :authorize_request rendered or redirected
3514
+ Completed 403 Forbidden in 0ms (ActiveRecord: 0.0ms)
3515
+ Processing by Easymon::ChecksController#show as HTML
3516
+ Parameters: {"check"=>"database"}
3517
+ Filter chain halted as :authorize_request rendered or redirected
3518
+ Completed 403 Forbidden in 0ms (ActiveRecord: 0.0ms)
3519
+  (0.1ms) ROLLBACK
3520
+  (0.2ms) ROLLBACK
3521
+  (0.1ms) BEGIN
3522
+  (0.1ms) BEGIN
3523
+ ------------------------------------------------------------------
3524
+ Easymon::ChecksControllerTest: test_show_if_the_check_is_not_found
3525
+ ------------------------------------------------------------------
3526
+ Processing by Easymon::ChecksController#show as HTML
3527
+ Parameters: {"check"=>"database"}
3528
+ Rendered text template (0.0ms)
3529
+ Completed 404 Not Found in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3530
+  (0.1ms) ROLLBACK
3531
+  (0.1ms) ROLLBACK
3532
+  (0.1ms) BEGIN
3533
+  (0.1ms) BEGIN
3534
+ -------------------------------------------------------------------
3535
+ Easymon::ChecksControllerTest: test_show_json_when_the_check_passes
3536
+ -------------------------------------------------------------------
3537
+ Processing by Easymon::ChecksController#show as JSON
3538
+ Parameters: {"check"=>"database"}
3539
+  (0.1ms) SELECT 1
3540
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
3541
+  (0.1ms) ROLLBACK
3542
+  (0.1ms) ROLLBACK
3543
+  (0.1ms) BEGIN
3544
+  (0.1ms) BEGIN
3545
+ -------------------------------------------------------------
3546
+ Easymon::ChecksControllerTest: test_show_when_the_check_fails
3547
+ -------------------------------------------------------------
3548
+ Processing by Easymon::ChecksController#show as HTML
3549
+ Parameters: {"check"=>"database"}
3550
+ Rendered text template (0.0ms)
3551
+ Completed 503 Service Unavailable in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3552
+  (0.1ms) ROLLBACK
3553
+  (0.1ms) ROLLBACK
3554
+  (0.1ms) BEGIN
3555
+  (0.1ms) BEGIN
3556
+ --------------------------------------------------------------
3557
+ Easymon::ChecksControllerTest: test_show_when_the_check_passes
3558
+ --------------------------------------------------------------
3559
+ Processing by Easymon::ChecksController#show as HTML
3560
+ Parameters: {"check"=>"database"}
3561
+  (0.2ms) SELECT 1
3562
+ Rendered text template (0.0ms)
3563
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms)
3564
+  (0.1ms) ROLLBACK
3565
+  (0.2ms) ROLLBACK
3566
+  (0.1ms) BEGIN
3567
+  (0.1ms) BEGIN
3568
+ ----------------------------------------------------------------------------
3569
+ TrafficEnabledCheckTest: test_#check_sets_failure_conditions_on_a_failed_run
3570
+ ----------------------------------------------------------------------------
3571
+  (0.2ms) ROLLBACK
3572
+  (0.1ms) ROLLBACK
3573
+  (0.2ms) BEGIN
3574
+  (0.1ms) BEGIN
3575
+ ------------------------------------------------------------------------------
3576
+ TrafficEnabledCheckTest: test_#check_sets_success_conditions_on_successful_run
3577
+ ------------------------------------------------------------------------------
3578
+  (0.2ms) ROLLBACK
3579
+  (0.2ms) ROLLBACK
3580
+  (0.1ms) BEGIN
3581
+  (0.1ms) BEGIN
3582
+ -----------------------------------------------------------------
3583
+ RedisCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
3584
+ -----------------------------------------------------------------
3585
+  (0.2ms) ROLLBACK
3586
+  (0.2ms) ROLLBACK
3587
+  (0.2ms) BEGIN
3588
+  (0.2ms) BEGIN
3589
+ -------------------------------------------------------------------
3590
+ RedisCheckTest: test_#run_sets_success_conditions_on_successful_run
3591
+ -------------------------------------------------------------------
3592
+  (0.2ms) ROLLBACK
3593
+  (0.2ms) ROLLBACK
3594
+  (0.1ms) BEGIN
3595
+  (0.2ms) BEGIN
3596
+ ------------------------------------------
3597
+ RedisCheckTest: test_given_nil_as_a_config
3598
+ ------------------------------------------
3599
+  (0.1ms) ROLLBACK
3600
+  (0.1ms) ROLLBACK
3601
+  (0.1ms) BEGIN
3602
+  (0.1ms) BEGIN
3603
+ --------------------------------------------------------------------------
3604
+ RepositoryTest: test_adds_checks_marked_critical_to_the_critical_checklist
3605
+ --------------------------------------------------------------------------
3606
+  (0.2ms) ROLLBACK
3607
+  (0.1ms) ROLLBACK
3608
+  (0.2ms) BEGIN
3609
+  (0.1ms) BEGIN
3610
+ --------------------------------------------
3611
+ RepositoryTest: test_fetches_a_check_by_name
3612
+ --------------------------------------------
3613
+  (0.1ms) ROLLBACK
3614
+  (0.1ms) ROLLBACK
3615
+  (0.1ms) BEGIN
3616
+  (0.1ms) BEGIN
3617
+ -----------------------------------------------------
3618
+ RepositoryTest: test_fetches_a_critical_check_by_name
3619
+ -----------------------------------------------------
3620
+  (0.1ms) ROLLBACK
3621
+  (0.1ms) ROLLBACK
3622
+  (0.1ms) BEGIN
3623
+  (0.3ms) BEGIN
3624
+ ---------------------------------------------------
3625
+ RepositoryTest: test_returns_a_checklist_when_asked
3626
+ ---------------------------------------------------
3627
+  (0.2ms) ROLLBACK
3628
+  (0.4ms) ROLLBACK
3629
+  (0.1ms) BEGIN
3630
+  (0.1ms) BEGIN
3631
+ ---------------------------------------------------------
3632
+ RepositoryTest: test_we_can_add_a_check_to_the_repository
3633
+ ---------------------------------------------------------
3634
+  (0.1ms) ROLLBACK
3635
+  (0.1ms) ROLLBACK
3636
+  (0.1ms) BEGIN
3637
+  (0.1ms) BEGIN
3638
+ --------------------------------------------------------------
3639
+ RepositoryTest: test_we_can_remove_a_check_from_the_repository
3640
+ --------------------------------------------------------------
3641
+  (0.1ms) ROLLBACK
3642
+  (0.1ms) ROLLBACK
3643
+  (0.1ms) BEGIN
3644
+  (0.1ms) BEGIN
3645
+ --------------------------------------------------------------------------
3646
+ ActiveRecordCheckTest: test_#check_returns_a_failed_result_on_a_failed_run
3647
+ --------------------------------------------------------------------------
3648
+  (0.1ms) ROLLBACK
3649
+  (0.1ms) ROLLBACK
3650
+  (0.1ms) BEGIN
3651
+  (0.1ms) BEGIN
3652
+ ----------------------------------------------------------------------------
3653
+ ActiveRecordCheckTest: test_#check_returns_a_successful_result_on_a_good_run
3654
+ ----------------------------------------------------------------------------
3655
+  (0.1ms) SELECT 1
3656
+  (0.1ms) ROLLBACK
3657
+  (0.1ms) ROLLBACK
3658
+  (0.1ms) BEGIN
3659
+  (0.1ms) BEGIN
3660
+ -------------------------------------------------
3661
+ ActiveRecordCheckTest: test_given_nil_as_a_config
3662
+ -------------------------------------------------
3663
+  (0.1ms) ROLLBACK
3664
+  (0.1ms) ROLLBACK
3665
+  (0.1ms) BEGIN
3666
+  (0.1ms) BEGIN
3667
+ --------------------------------------------------------------------------------------
3668
+ ActiveRecordCheckOnPostgresqlTest: test_#check_returns_a_failed_result_on_a_failed_run
3669
+ --------------------------------------------------------------------------------------
3670
+  (0.1ms) ROLLBACK
3671
+  (0.1ms) ROLLBACK
3672
+  (0.1ms) BEGIN
3673
+  (0.1ms) BEGIN
3674
+ ----------------------------------------------------------------------------------------
3675
+ ActiveRecordCheckOnPostgresqlTest: test_#check_returns_a_successful_result_on_a_good_run
3676
+ ----------------------------------------------------------------------------------------
3677
+  (0.1ms) SELECT 1
3678
+  (0.1ms) ROLLBACK
3679
+  (0.1ms) ROLLBACK
3680
+  (0.1ms) BEGIN
3681
+  (0.1ms) BEGIN
3682
+ --------------------------------------------------------------------------------
3683
+ SplitActiveRecordCheckTest: test_#run_sets_failed_conditions_when_master_is_down
3684
+ --------------------------------------------------------------------------------
3685
+  (0.2ms) SELECT 1
3686
+  (0.1ms) ROLLBACK
3687
+  (0.2ms) ROLLBACK
3688
+  (0.2ms) BEGIN
3689
+  (0.2ms) BEGIN
3690
+  (0.1ms) BEGIN
3691
+ -------------------------------------------------------------------------------
3692
+ SplitActiveRecordCheckTest: test_#run_sets_failed_conditions_when_slave_is_down
3693
+ -------------------------------------------------------------------------------
3694
+  (0.2ms) SELECT 1
3695
+  (0.1ms) ROLLBACK
3696
+  (0.2ms) ROLLBACK
3697
+  (0.1ms) BEGIN
3698
+  (0.1ms) BEGIN
3699
+  (0.1ms) BEGIN
3700
+ -------------------------------------------------------------------------------
3701
+ SplitActiveRecordCheckTest: test_#run_sets_success_conditions_on_successful_run
3702
+ -------------------------------------------------------------------------------
3703
+  (0.2ms) SELECT 1
3704
+  (0.1ms) SELECT 1
3705
+  (0.1ms) ROLLBACK
3706
+  (0.1ms) ROLLBACK
3707
+  (0.1ms) BEGIN
3708
+  (0.1ms) BEGIN
3709
+  (0.1ms) BEGIN
3710
+ ------------------------------------------------------
3711
+ SplitActiveRecordCheckTest: test_given_nil_as_a_config
3712
+ ------------------------------------------------------
3713
+  (0.1ms) ROLLBACK
3714
+  (0.1ms) ROLLBACK
3715
+  (0.1ms) ROLLBACK
3716
+  (0.1ms) BEGIN
3717
+  (0.1ms) BEGIN
3718
+  (0.1ms) BEGIN
3719
+ ---------------------------------------------------------------------
3720
+ ChecklistTest: test_#response_status_returns_:ok_when_all_checks_pass
3721
+ ---------------------------------------------------------------------
3722
+  (0.1ms) SELECT 1
3723
+  (0.1ms) ROLLBACK
3724
+  (0.1ms) ROLLBACK
3725
+  (0.1ms) ROLLBACK
3726
+  (0.1ms) BEGIN
3727
+  (0.1ms) BEGIN
3728
+  (0.1ms) BEGIN
3729
+ ------------------------------------------------------------------------------------
3730
+ ChecklistTest: test_#response_status_returns_:service_unavailable_when_a_check_fails
3731
+ ------------------------------------------------------------------------------------
3732
+  (0.2ms) SELECT 1
3733
+ Dalli::Server#connect 127.0.0.1:11211
3734
+  (0.1ms) ROLLBACK
3735
+  (0.1ms) ROLLBACK
3736
+  (0.1ms) ROLLBACK
3737
+  (0.1ms) BEGIN
3738
+  (0.1ms) BEGIN
3739
+  (0.1ms) BEGIN
3740
+ -----------------------------------------------------------------
3741
+ ChecklistTest: test_#success?_returns_false_when_results_is_empty
3742
+ -----------------------------------------------------------------
3743
+  (0.1ms) ROLLBACK
3744
+  (0.1ms) ROLLBACK
3745
+  (0.1ms) ROLLBACK
3746
+  (0.1ms) BEGIN
3747
+  (0.1ms) BEGIN
3748
+  (0.1ms) BEGIN
3749
+ ---------------------------------------------------------
3750
+ ChecklistTest: test_#timing_is_a_sum_of_all_check_results
3751
+ ---------------------------------------------------------
3752
+  (0.1ms) ROLLBACK
3753
+  (0.1ms) ROLLBACK
3754
+  (0.1ms) ROLLBACK
3755
+  (0.1ms) BEGIN
3756
+  (0.1ms) BEGIN
3757
+  (0.1ms) BEGIN
3758
+ -------------------------------------------------------------------------
3759
+ ChecklistTest: test_#to_s_returns_a_valid_representation_of_the_checklist
3760
+ -------------------------------------------------------------------------
3761
+  (0.1ms) SELECT 1
3762
+  (0.1ms) ROLLBACK
3763
+  (0.1ms) ROLLBACK
3764
+  (0.1ms) ROLLBACK
3765
+  (0.1ms) BEGIN
3766
+  (0.1ms) BEGIN
3767
+  (0.1ms) BEGIN
3768
+ ----------------------------------------------
3769
+ ChecklistTest: test_can_look_up_checks_by_name
3770
+ ----------------------------------------------
3771
+  (0.1ms) ROLLBACK
3772
+  (0.1ms) ROLLBACK
3773
+  (0.1ms) ROLLBACK
3774
+  (0.1ms) BEGIN
3775
+  (0.1ms) BEGIN
3776
+  (0.1ms) BEGIN
3777
+ ---------------------------------------------
3778
+ ChecklistTest: test_cat_fetch_a_check_by_name
3779
+ ---------------------------------------------
3780
+  (0.1ms) ROLLBACK
3781
+  (0.1ms) ROLLBACK
3782
+  (0.1ms) ROLLBACK
3783
+  (0.1ms) BEGIN
3784
+  (0.1ms) BEGIN
3785
+  (0.1ms) BEGIN
3786
+ -------------------------------------------------------------------
3787
+ ChecklistTest: test_it_knows_the_number_of_checks_in_the_Repository
3788
+ -------------------------------------------------------------------
3789
+  (0.1ms) ROLLBACK
3790
+  (0.1ms) ROLLBACK
3791
+  (0.1ms) ROLLBACK
3792
+  (0.1ms) BEGIN
3793
+  (0.1ms) BEGIN
3794
+  (0.1ms) BEGIN
3795
+ ------------------------------------------
3796
+ ChecklistTest: test_it_will_run_each_check
3797
+ ------------------------------------------
3798
+  (0.1ms) SELECT 1
3799
+  (0.1ms) ROLLBACK
3800
+  (0.1ms) ROLLBACK
3801
+  (0.1ms) ROLLBACK
3802
+  (0.1ms) BEGIN
3803
+  (0.1ms) BEGIN
3804
+  (0.1ms) BEGIN
3805
+ ----------------------------------------------------------------
3806
+ HttpCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
3807
+ ----------------------------------------------------------------
3808
+  (0.1ms) ROLLBACK
3809
+  (0.1ms) ROLLBACK
3810
+  (0.1ms) ROLLBACK
3811
+  (0.1ms) BEGIN
3812
+  (0.1ms) BEGIN
3813
+  (0.1ms) BEGIN
3814
+ ------------------------------------------------------------------
3815
+ HttpCheckTest: test_#run_sets_failure_conditions_on_an_errored_run
3816
+ ------------------------------------------------------------------
3817
+  (0.1ms) ROLLBACK
3818
+  (0.1ms) ROLLBACK
3819
+  (0.1ms) ROLLBACK
3820
+  (0.1ms) BEGIN
3821
+  (0.1ms) BEGIN
3822
+  (0.1ms) BEGIN
3823
+ ------------------------------------------------------------------
3824
+ HttpCheckTest: test_#run_sets_success_conditions_on_successful_run
3825
+ ------------------------------------------------------------------
3826
+  (0.1ms) ROLLBACK
3827
+  (0.1ms) ROLLBACK
3828
+  (0.1ms) ROLLBACK
3829
+  (0.1ms) BEGIN
3830
+  (0.1ms) BEGIN
3831
+  (0.1ms) BEGIN
3832
+ --------------------------------------
3833
+ HttpCheckTest: test_given_nil_as_a_url
3834
+ --------------------------------------
3835
+  (0.1ms) ROLLBACK
3836
+  (0.1ms) ROLLBACK
3837
+  (0.1ms) ROLLBACK
3838
+  (0.1ms) BEGIN
3839
+  (0.1ms) BEGIN
3840
+  (0.1ms) BEGIN
3841
+ ---------------------------------------------------------------------
3842
+ MemcachedCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
3843
+ ---------------------------------------------------------------------
3844
+  (0.1ms) ROLLBACK
3845
+  (0.1ms) ROLLBACK
3846
+  (0.1ms) ROLLBACK
3847
+  (0.1ms) BEGIN
3848
+  (0.1ms) BEGIN
3849
+  (0.1ms) BEGIN
3850
+ -----------------------------------------------------------------------
3851
+ MemcachedCheckTest: test_#run_sets_success_conditions_on_successful_run
3852
+ -----------------------------------------------------------------------
3853
+  (0.1ms) ROLLBACK
3854
+  (0.1ms) ROLLBACK
3855
+  (0.1ms) ROLLBACK
3856
+  (0.1ms) BEGIN
3857
+  (0.1ms) BEGIN
3858
+  (0.1ms) BEGIN
3859
+ ------------------------------------------------------------------
3860
+ MemcachedCheckTest: test_fails_when_passed_a_cache_with_no_servers
3861
+ ------------------------------------------------------------------
3862
+  (0.1ms) ROLLBACK
3863
+  (0.1ms) ROLLBACK
3864
+  (0.1ms) ROLLBACK
3865
+  (0.1ms) BEGIN
3866
+  (0.1ms) BEGIN
3867
+  (0.1ms) BEGIN
3868
+ ---------------------------------------------------------
3869
+ MemcachedCheckTest: test_fails_when_passed_nil_as_a_cache
3870
+ ---------------------------------------------------------
3871
+  (0.1ms) ROLLBACK
3872
+  (0.1ms) ROLLBACK
3873
+  (0.1ms) ROLLBACK
3874
+  (0.1ms) BEGIN
3875
+  (0.1ms) BEGIN
3876
+  (0.1ms) BEGIN
3877
+ ---------------------------------------------------------------------
3878
+ SemaphoreCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
3879
+ ---------------------------------------------------------------------
3880
+  (0.1ms) ROLLBACK
3881
+  (0.1ms) ROLLBACK
3882
+  (0.1ms) ROLLBACK
3883
+  (0.1ms) BEGIN
3884
+  (0.1ms) BEGIN
3885
+  (0.1ms) BEGIN
3886
+ -----------------------------------------------------------------------
3887
+ SemaphoreCheckTest: test_#run_sets_success_conditions_on_successful_run
3888
+ -----------------------------------------------------------------------
3889
+  (0.1ms) ROLLBACK
3890
+  (0.1ms) ROLLBACK
3891
+  (0.1ms) ROLLBACK