diff options
6 files changed, 120 insertions, 0 deletions
diff --git a/lib/health_checks/checks/incoming_message_check.rb b/lib/health_checks/checks/incoming_message_check.rb new file mode 100644 index 000000000..fb6d36e25 --- /dev/null +++ b/lib/health_checks/checks/incoming_message_check.rb @@ -0,0 +1,12 @@ +module HealthChecks + module Checks + class IncomingMessageCheck + include HealthChecks::HealthCheckable + + def check + IncomingMessage.last.created_at >= 1.day.ago + end + + end + end +end diff --git a/lib/health_checks/checks/outgoing_message_check.rb b/lib/health_checks/checks/outgoing_message_check.rb new file mode 100644 index 000000000..26feb538b --- /dev/null +++ b/lib/health_checks/checks/outgoing_message_check.rb @@ -0,0 +1,12 @@ +module HealthChecks + module Checks + class OutgoingMessageCheck + include HealthChecks::HealthCheckable + + def check + OutgoingMessage.last.created_at >= 1.day.ago + end + + end + end +end diff --git a/lib/health_checks/checks/user_signup_check.rb b/lib/health_checks/checks/user_signup_check.rb new file mode 100644 index 000000000..0c775332c --- /dev/null +++ b/lib/health_checks/checks/user_signup_check.rb @@ -0,0 +1,12 @@ +module HealthChecks + module Checks + class UserSignupCheck + include HealthChecks::HealthCheckable + + def check + User.last.created_at >= 1.day.ago + end + + end + end +end diff --git a/spec/lib/health_checks/checks/incoming_message_check_spec.rb b/spec/lib/health_checks/checks/incoming_message_check_spec.rb new file mode 100644 index 000000000..8d6105925 --- /dev/null +++ b/spec/lib/health_checks/checks/incoming_message_check_spec.rb @@ -0,0 +1,26 @@ +require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper') + +describe HealthChecks::Checks::IncomingMessageCheck do + include HealthChecks::Checks + + it { should be_kind_of(HealthChecks::HealthCheckable) } + + before(:each) do + @check = HealthChecks::Checks::IncomingMessageCheck.new + end + + describe :check do + + it 'is successful if the last incoming message was created in the last day' do + FactoryGirl.create(:incoming_message) + expect(@check.check).to be_true + end + + it 'fails if the last incoming message was created over a day ago' do + FactoryGirl.create(:incoming_message, :created_at => 28.days.ago) + expect(@check.check).to be_false + end + + end + +end
\ No newline at end of file diff --git a/spec/lib/health_checks/checks/outgoing_message_check_spec.rb b/spec/lib/health_checks/checks/outgoing_message_check_spec.rb new file mode 100644 index 000000000..74c0f30b9 --- /dev/null +++ b/spec/lib/health_checks/checks/outgoing_message_check_spec.rb @@ -0,0 +1,32 @@ +require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper') + +describe HealthChecks::Checks::OutgoingMessageCheck do + include HealthChecks::Checks + + it { should be_kind_of(HealthChecks::HealthCheckable) } + + before(:each) do + @check = HealthChecks::Checks::OutgoingMessageCheck.new + end + + describe :check do + + it 'is successful if the last incoming message was created in the last day' do + FactoryGirl.create(:info_request) + expect(@check.check).to be_true + end + + it 'fails if the last incoming message was created over a day ago' do + params = { :status => 'ready', + :message_type => 'followup', + :body => 'I want a review', + :what_doing => 'internal_review', + :info_request => FactoryGirl.create(:info_request), + :created_at => 30.days.ago } + FactoryGirl.create(:outgoing_message, params) + expect(@check.check).to be_false + end + + end + +end
\ No newline at end of file diff --git a/spec/lib/health_checks/checks/user_signup_check_spec.rb b/spec/lib/health_checks/checks/user_signup_check_spec.rb new file mode 100644 index 000000000..b18684454 --- /dev/null +++ b/spec/lib/health_checks/checks/user_signup_check_spec.rb @@ -0,0 +1,26 @@ +require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper') + +describe HealthChecks::Checks::UserSignupCheck do + include HealthChecks::Checks + + it { should be_kind_of(HealthChecks::HealthCheckable) } + + before(:each) do + @check = HealthChecks::Checks::UserSignupCheck.new + end + + describe :check do + + it 'is successful if the last user was created in the last day' do + FactoryGirl.create(:user) + expect(@check.check).to be_true + end + + it 'fails if the last user was created over a day ago' do + FactoryGirl.create(:user, :created_at => 28.days.ago) + expect(@check.check).to be_false + end + + end + +end
\ No newline at end of file |