Sha256: 93bb834bd439c1b46a42cc18a71e7a23a4a3ea5e7757b71da296383f85202161

Contents?: true

Size: 1.37 KB

Versions: 5

Compression:

Stored size: 1.37 KB

Contents

require 'spec_helper'

describe Simple::Metrics::Healthchecks do
  it "should register a new healthcheck" do
    class NurseRatched
      extend Simple::Metrics::Healthchecks

      class << self
        def status=(v)
          @status = v
        end
        def status
          @status
        end
      end

      self.status = "healthy"

      new_healthcheck("temperature") do
        case self.status
        when "healthy"
          Simple::Metrics::HEALTHY
        when "unhealthy"
          Simple::Metrics::UNHEALTHY.new("Too Many Tacos!")
        when "dead"
          raise "Pants"
        end
      end
    end
  end

  it "should run all healthchecks" do
    NurseRatched.status = "healthy"
    NurseRatched.run_all_healthchecks.entrySet.each do |result|
      result.getValue.isHealthy.should be_true
    end
  end

  it "should return the last error message when unhealthy" do
    NurseRatched.status = "unhealthy"
    NurseRatched.run_all_healthchecks.entrySet.each do |result|
      result.getValue.isHealthy.should be_false
      result.getValue.getMessage.should == "Too Many Tacos!"
    end
  end

  it "should return an unhealthy if the check raises an error" do
    NurseRatched.status = "dead"
    NurseRatched.run_all_healthchecks.entrySet.each do |result|
      result.getValue.isHealthy.should be_false
      result.getValue.getMessage.should == "Pants"
    end
  end

end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
kb-simple-metrics-0.0.13-java spec/metrics/healthcheck_spec.rb
kb-simple-metrics-0.0.12-java spec/metrics/healthcheck_spec.rb
simple-metrics-0.0.12-java spec/metrics/healthcheck_spec.rb
simple-metrics-0.0.11-java spec/metrics/healthcheck_spec.rb
simple-metrics-0.0.10-java spec/metrics/healthcheck_spec.rb