status_cat 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +26 -20
  3. data/lib/status_cat/checkers/delayed_job.rb +2 -2
  4. data/lib/status_cat/checkers/fitbit.rb +20 -0
  5. data/lib/status_cat/checkers/profilesio.rb +13 -0
  6. data/lib/status_cat/checkers/send_hub.rb +13 -0
  7. data/lib/status_cat/checkers/twilio.rb +13 -0
  8. data/lib/status_cat/status.rb +1 -1
  9. data/lib/status_cat/version.rb +1 -1
  10. data/lib/status_cat.rb +4 -0
  11. data/spec/controllers/status_cat/status_controller_spec.rb +8 -10
  12. data/spec/coverage_spec.rb +1 -3
  13. data/spec/dummy/config/environments/test.rb +1 -1
  14. data/spec/dummy/db/development.sqlite3 +0 -0
  15. data/spec/dummy/db/test.sqlite3 +0 -0
  16. data/spec/dummy/log/development.log +0 -1232
  17. data/spec/dummy/log/test.log +12344 -6383
  18. data/spec/helpers/status_cat/status_helper_spec.rb +17 -28
  19. data/spec/lib/status_cat/checkers/action_mailer_spec.rb +9 -15
  20. data/spec/lib/status_cat/checkers/active_record_spec.rb +5 -11
  21. data/spec/lib/status_cat/checkers/base_spec.rb +9 -16
  22. data/spec/lib/status_cat/checkers/delayed_job_spec.rb +4 -10
  23. data/spec/lib/status_cat/checkers/fitbit_spec.rb +33 -0
  24. data/spec/lib/status_cat/checkers/profilesio_spec.rb +38 -0
  25. data/spec/lib/status_cat/checkers/s3_spec.rb +1 -3
  26. data/spec/lib/status_cat/checkers/send_hub_spec.rb +33 -0
  27. data/spec/lib/status_cat/checkers/stripe_spec.rb +1 -3
  28. data/spec/lib/status_cat/checkers/twilio_spec.rb +33 -0
  29. data/spec/lib/status_cat/config_spec.rb +36 -29
  30. data/spec/lib/status_cat/engine_spec.rb +1 -4
  31. data/spec/lib/status_cat/status_spec.rb +19 -27
  32. data/spec/lib/status_cat/version_spec.rb +3 -6
  33. data/spec/lib/status_cat_spec.rb +2 -7
  34. data/spec/lib/tasks/status_cat.rake_spec.rb +2 -7
  35. data/spec/mailers/status_cat/status_mailer_spec.rb +9 -13
  36. data/spec/spec_helper.rb +21 -1
  37. data/spec/support/shared/checker.rb +4 -6
  38. data/spec/views/status_cat/status/index.html.erb_spec.rb +3 -5
  39. data/spec/views/status_cat/status_mailer/failure.html.erb_spec.rb +1 -3
  40. data/spec/views/status_cat/status_mailer/failure.text.erb_spec.rb +1 -4
  41. metadata +107 -41
  42. data/spec/data/report.txt +0 -10
  43. data/spec/data/report.txt.tmp +0 -10
  44. data/spec/data/status_report_format.txt +0 -1
  45. data/spec/data/status_report_format.txt.tmp +0 -1
  46. data/spec/dummy/config/passwords.yml +0 -5
  47. data/spec/dummy/db/production.sqlite3 +0 -0
  48. data/spec/dummy/tmp/cache/assets/development/sprockets/0891c389c9f47b48b695b65602d93a57 +0 -0
  49. data/spec/dummy/tmp/cache/assets/development/sprockets/400d7aa6ca317151fe36fc9f02ccfc4e +0 -0
  50. data/spec/dummy/tmp/cache/assets/development/sprockets/40da66d7323888023264d2f06b7525d4 +0 -0
  51. data/spec/dummy/tmp/cache/assets/development/sprockets/4bddf542ba5114155847240380cf6e7c +0 -0
  52. data/spec/dummy/tmp/cache/assets/development/sprockets/572759e0267736e8961ff1fad85cfe47 +0 -0
  53. data/spec/dummy/tmp/cache/assets/development/sprockets/6cec2a8a17b78e61daecff44044e1179 +0 -0
  54. data/spec/dummy/tmp/pids/server.pid +0 -1
@@ -1,9 +1,6 @@
1
- require 'spec_helper'
2
-
3
1
  describe StatusCat::Engine do
4
2
 
5
3
  it 'isolates the StatusCat namespace' do
6
- StatusCat::Engine.isolated.should be_true
4
+ expect( StatusCat::Engine.isolated ).to be( true )
7
5
  end
8
-
9
6
  end
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe StatusCat::Status do
4
2
 
5
3
  #############################################################################
@@ -10,14 +8,13 @@ describe StatusCat::Status do
10
8
 
11
9
  it 'returns an array of enabled checkers' do
12
10
  enabled = StatusCat::Config.instance.enabled
13
- StatusCat::Config.instance.should_receive( :enabled ).and_return( enabled )
11
+ expect( StatusCat::Config.instance ).to receive( :enabled ).and_return( enabled )
14
12
 
15
13
  all = StatusCat::Status.all
16
- all.should be_an_instance_of( Array )
17
- all.length.should eql( StatusCat::Checkers::Base.descendants.length )
18
- all.each { |checker| checker.should be_a_kind_of( StatusCat::Checkers::Base ) }
14
+ expect( all ).to be_an_instance_of( Array )
15
+ expect( all.length ).to eql( StatusCat::Checkers::Base.descendants.length )
16
+ all.each { |checker| expect( checker ).to be_a_kind_of( StatusCat::Checkers::Base ) }
19
17
  end
20
-
21
18
  end
22
19
 
23
20
  #############################################################################
@@ -27,9 +24,9 @@ describe StatusCat::Status do
27
24
  describe '::check' do
28
25
 
29
26
  def checker_array_should_have_names( actual, expected )
30
- actual.should be_a_kind_of( Array )
31
- actual.length.should eql( expected.length )
32
- actual.each_index { |i| actual[ i ].name.should be( expected[ i ] ) }
27
+ expect( actual ).to be_a_kind_of( Array )
28
+ expect( actual.length ).to eql( expected.length )
29
+ actual.each_index { |i| expect( actual[ i ].name ).to be( expected[ i ] ) }
33
30
  end
34
31
 
35
32
  it 'defaults to all checkers' do
@@ -45,7 +42,7 @@ describe StatusCat::Status do
45
42
  end
46
43
 
47
44
  it 'returns a single checker when given a single symbolic name' do
48
- StatusCat::Status.check( :active_record ).should be_an_instance_of( StatusCat::Checkers::ActiveRecord )
45
+ expect( StatusCat::Status.check( :active_record ) ).to be_an_instance_of( StatusCat::Checkers::ActiveRecord )
49
46
  end
50
47
 
51
48
  it 'returns an array of checkers when given an array of symbolic name' do
@@ -53,7 +50,6 @@ describe StatusCat::Status do
53
50
  checkers = StatusCat::Status.check( names )
54
51
  checker_array_should_have_names( checkers, names )
55
52
  end
56
-
57
53
  end
58
54
 
59
55
  #############################################################################
@@ -65,17 +61,16 @@ describe StatusCat::Status do
65
61
  it 'delivers email if ::failed is not empty' do
66
62
  failed = [ StatusCat::Checkers::Base.new ]
67
63
  mail = StatusCat::StatusMailer.failure( failed )
68
- StatusCat::Status.should_receive( :failed ).and_return( failed )
69
- StatusCat::StatusMailer.should_receive( :failure ).with( failed ).and_return( mail )
64
+ expect( StatusCat::Status ).to receive( :failed ).and_return( failed )
65
+ expect( StatusCat::StatusMailer ).to receive( :failure ).with( failed ).and_return( mail )
70
66
  StatusCat::Status.cron
71
67
  end
72
68
 
73
69
  it 'does not email when ::failed is empty' do
74
- StatusCat::Status.should_receive( :failed ).and_return( [] )
75
- StatusCat::StatusMailer.should_not_receive( :failure )
70
+ expect( StatusCat::Status ).to receive( :failed ).and_return( [] )
71
+ expect( StatusCat::StatusMailer ).to_not receive( :failure )
76
72
  StatusCat::Status.cron
77
73
  end
78
-
79
74
  end
80
75
 
81
76
  #############################################################################
@@ -85,10 +80,9 @@ describe StatusCat::Status do
85
80
  describe '::factory' do
86
81
 
87
82
  it 'constructs a checker given its symbolic name' do
88
- StatusCat::Status.factory( :action_mailer ).should be_an_instance_of( StatusCat::Checkers::ActionMailer )
89
- StatusCat::Status.factory( :active_record ).should be_an_instance_of( StatusCat::Checkers::ActiveRecord )
83
+ expect( StatusCat::Status.factory( :action_mailer ) ).to be_an_instance_of( StatusCat::Checkers::ActionMailer )
84
+ expect( StatusCat::Status.factory( :active_record ) ).to be_an_instance_of( StatusCat::Checkers::ActiveRecord )
90
85
  end
91
-
92
86
  end
93
87
 
94
88
  #############################################################################
@@ -101,20 +95,18 @@ describe StatusCat::Status do
101
95
  @pass = StatusCat::Checkers::Base.new
102
96
 
103
97
  @fail = StatusCat::Checkers::Base.new
104
- @fail.stub( :status ).and_return( :fail )
98
+ allow( @fail ).to receive( :status ).and_return( :fail )
105
99
  end
106
100
 
107
101
  it 'returns only failed checkers from ::all' do
108
- StatusCat::Status.should_receive( :all ).and_return( [ @pass, @fail ] )
109
- StatusCat::Status.failed.should eql( [ @fail ] )
102
+ expect( StatusCat::Status ).to receive( :all ).and_return( [ @pass, @fail ] )
103
+ expect( StatusCat::Status.failed ).to eql( [ @fail ] )
110
104
  end
111
105
 
112
106
  it 'returns an empty list if all checkers pass' do
113
- StatusCat::Status.should_receive( :all ).and_return( [ @pass ] )
114
- StatusCat::Status.failed.should eql( [] )
107
+ expect( StatusCat::Status ).to receive( :all ).and_return( [ @pass ] )
108
+ expect( StatusCat::Status.failed ).to eql( [] )
115
109
  end
116
-
117
110
  end
118
-
119
111
  end
120
112
 
@@ -1,11 +1,8 @@
1
- require 'spec_helper'
2
-
3
1
  describe 'version' do
4
2
 
5
3
  it 'has a version constant' do
6
- StatusCat::VERSION.should_not be_nil
7
- StatusCat::VERSION.should be_an_instance_of( String )
8
- StatusCat::VERSION.should =~ /\d+\.\d+\.\d+/
4
+ expect( StatusCat::VERSION ).to_not be_nil
5
+ expect( StatusCat::VERSION ).to be_an_instance_of( String )
6
+ expect( StatusCat::VERSION ).to match( /\d+\.\d+\.\d+/ )
9
7
  end
10
-
11
8
  end
@@ -1,21 +1,16 @@
1
- require 'spec_helper'
2
-
3
1
  describe StatusCat do
4
2
 
5
3
  describe '::config' do
6
4
 
7
5
  it 'returns the configuration' do
8
- StatusCat.config.should be( StatusCat::Config.instance )
6
+ expect( StatusCat.config ).to be( StatusCat::Config.instance )
9
7
  end
10
-
11
8
  end
12
9
 
13
10
  describe '::configure' do
14
11
 
15
12
  it 'yields the configuration' do
16
- StatusCat.configure { |config| config.should be( StatusCat::Config.instance ) }
13
+ StatusCat.configure { |config| expect( config ).to be( StatusCat::Config.instance ) }
17
14
  end
18
-
19
15
  end
20
-
21
16
  end
@@ -1,4 +1,3 @@
1
- require 'spec_helper'
2
1
  require 'rake'
3
2
 
4
3
  describe 'status_cat rake tasks' do
@@ -13,20 +12,16 @@ describe 'status_cat rake tasks' do
13
12
  describe 'rake status_cat:check' do
14
13
 
15
14
  it 'puts the status report' do
16
- Kernel.should_receive( :puts ).with( kind_of( String ) )
15
+ expect( Kernel ).to receive( :puts ).with( kind_of( String ) )
17
16
  @rake[ 'status_cat:check' ].invoke
18
17
  end
19
-
20
18
  end
21
19
 
22
20
  describe 'rake status_cat:cron' do
23
21
 
24
22
  it 'calls StatusCat::Status.cron' do
25
- StatusCat::Status.should_receive( :cron )
23
+ expect( StatusCat::Status ).to receive( :cron )
26
24
  @rake[ 'status_cat:cron' ].invoke
27
25
  end
28
-
29
26
  end
30
-
31
-
32
27
  end
@@ -1,10 +1,8 @@
1
- require 'spec_helper'
2
-
3
1
  describe StatusCat::StatusMailer do
4
2
 
5
3
  it 'adds StatusCat::StatusHelper as a template helper' do
6
4
  modules = StatusCat::StatusMailer._helpers.included_modules
7
- modules.should include( StatusCat::StatusHelper )
5
+ expect( modules ).to include( StatusCat::StatusHelper )
8
6
  end
9
7
 
10
8
  describe '#failure' do
@@ -13,26 +11,24 @@ describe StatusCat::StatusMailer do
13
11
  let( :config ) { StatusCat.config }
14
12
 
15
13
  it 'uses the configured from address' do
16
- mail.from.should_not be_nil
17
- mail.from.should eql( [ config.from ] )
14
+ expect( mail.from ).to_not be_nil
15
+ expect( mail.from ).to eql( [ config.from ] )
18
16
  end
19
17
 
20
18
  it 'uses the configured to address' do
21
- mail.to.should_not be_nil
22
- mail.to.should eql( [ config.to ] )
19
+ expect( mail.to ).to_not be_nil
20
+ expect( mail.to ).to eql( [ config.to ] )
23
21
  end
24
22
 
25
23
  it 'uses the configured subject' do
26
- mail.subject.should_not be_nil
27
- mail.subject.should eql( config.subject )
24
+ expect( mail.subject ).to_not be_nil
25
+ expect( mail.subject ).to eql( config.subject )
28
26
  end
29
27
 
30
28
  it 'generates a multipart email with both text and html' do
31
- mail.parts.first.content_type.should eql( 'text/plain; charset=UTF-8' )
32
- mail.parts.second.content_type.should eql( 'text/html; charset=UTF-8' )
29
+ expect( mail.parts.first.content_type ).to eql( 'text/plain; charset=UTF-8' )
30
+ expect( mail.parts.second.content_type ).to eql( 'text/html; charset=UTF-8' )
33
31
  end
34
-
35
32
  end
36
-
37
33
  end
38
34
 
data/spec/spec_helper.rb CHANGED
@@ -16,10 +16,14 @@ end
16
16
 
17
17
  require File.expand_path('../dummy/config/environment', __FILE__)
18
18
  require 'rspec/rails'
19
- require 'rspec/autorun'
20
19
 
21
20
  require 'spec_cat'
22
21
 
22
+ require 'fitgem'
23
+ require 'httparty'
24
+ require 'ruby-sendhub'
25
+ require 'twilio-ruby'
26
+
23
27
  ENGINE_ROOT = File.join(File.dirname(__FILE__), '..')
24
28
 
25
29
  # Requires supporting ruby files with custom matchers and macros, etc,
@@ -47,10 +51,26 @@ RSpec.configure do |config|
47
51
  # automatically. This will be the default behavior in future versions of
48
52
  # rspec-rails.
49
53
  config.infer_base_class_for_anonymous_controllers = false
54
+ config.infer_spec_type_from_file_location!
50
55
 
51
56
  # Run specs in random order to surface order dependencies. If you find an
52
57
  # order dependency and want to debug it, you can fix the order by providing
53
58
  # the seed, which is printed after each run.
54
59
  # --seed 1234
55
60
  config.order = 'random'
61
+
62
+ config.before( :each ) do
63
+ allow( Fitgem::Client ).to receive( :new ).and_return( @fitgem = double( Fitgem::Client ) )
64
+ allow( @fitgem ).to receive( :user_info ).and_return( {} )
65
+
66
+ allow( HTTParty ).to receive( :get ).and_return( double( "response", :code => 200 ) )
67
+
68
+ allow( SendHub ).to receive( :new ).and_return( @send_hub = double( SendHub ) )
69
+ allow( @send_hub ).to receive( :get_contacts ).and_return( {} )
70
+
71
+ allow( Twilio::REST::Client ).to receive( :new ).and_return( @twilio = double( Twilio::REST::Client ) )
72
+ allow( @twilio ).to receive( :account ).and_return( @twilio_account = double( Twilio::REST::Account ) )
73
+ allow( @twilio_account ).to receive( :messages ).and_return( @twilio_messages = double( Twilio::REST::Messages ) )
74
+ allow( @twilio_messages ).to receive( :total ).and_return( 0 )
75
+ end
56
76
  end
@@ -1,25 +1,23 @@
1
1
  shared_examples_for 'a status checker' do
2
2
 
3
3
  it 'inherits from StatusCat::Checker' do
4
- checker.should be_a_kind_of( StatusCat::Checkers::Base )
4
+ expect( checker ).to be_a_kind_of( StatusCat::Checkers::Base )
5
5
  end
6
6
 
7
7
  describe 'attributes' do
8
8
 
9
9
  it 'has a name reader' do
10
10
  expected = checker.class.to_s.split( '::' ).last.underscore.to_sym
11
- checker.name.should eql( expected )
11
+ expect( checker.name ).to eql( expected )
12
12
  end
13
13
 
14
14
  it 'has a value reader' do
15
- checker.value.should eql( checker.value )
15
+ expect( checker.value ).to eql( checker.value )
16
16
  end
17
17
 
18
18
  it 'has a status reader' do
19
- checker.status.should eql( checker.status )
19
+ expect( checker.status ).to eql( checker.status )
20
20
  end
21
-
22
21
  end
23
-
24
22
  end
25
23
 
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe 'status_cat/status/index.html.erb' do
4
2
 
5
3
  before( :each ) do
@@ -9,16 +7,16 @@ describe 'status_cat/status/index.html.erb' do
9
7
 
10
8
  it 'includes an h1 tag' do
11
9
  render
12
- rendered.should have_selector( :h1, :content => t( :h1, :scope => :status_cat ) )
10
+ expect( rendered ).to match( /<h1>#{t( :h1, :scope => :status_cat )}<\/h1>/ )
13
11
  end
14
12
 
15
13
  it 'uses the status_title helper' do
16
- view.should_receive( :status_title )
14
+ expect( view ).to receive( :status_title )
17
15
  render
18
16
  end
19
17
 
20
18
  it 'uses the status_table helper' do
21
- view.should_receive( :status_table ).with( @checkers )
19
+ expect( view ).to receive( :status_table ).with( @checkers )
22
20
  render
23
21
  end
24
22
 
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe 'status_cat/status_mailer/failure.html.erb' do
4
2
 
5
3
  before( :each ) do
@@ -8,7 +6,7 @@ describe 'status_cat/status_mailer/failure.html.erb' do
8
6
  end
9
7
 
10
8
  it 'uses the status_table helper' do
11
- view.should_receive( :status_table ).with( @checkers )
9
+ expect( view ).to receive( :status_table ).with( @checkers )
12
10
  render
13
11
  end
14
12
 
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe 'status_cat/status_mailer/failure.text.erb' do
4
2
 
5
3
  before( :each ) do
@@ -8,8 +6,7 @@ describe 'status_cat/status_mailer/failure.text.erb' do
8
6
  end
9
7
 
10
8
  it 'uses the status_table helper' do
11
- view.should_receive( :status_report ).with( @checkers )
9
+ expect( view ).to receive( :status_report ).with( @checkers )
12
10
  render
13
11
  end
14
-
15
12
  end