Sha256: 345e83f38eaa576946f76c32a858f6be9758bd7397a916e5e1064f6a2d1f5c9f

Contents?: true

Size: 1.31 KB

Versions: 9

Compression:

Stored size: 1.31 KB

Contents

require File.expand_path('../spec_helper', __FILE__)

describe IsItWorking::Filter do
  
  it "should have a name" do
    filter = IsItWorking::Filter.new(:test, lambda{})
    filter.name.should == :test
  end
  
  it "should run a check and return a thread" do
    check = lambda do |status|
      status.ok("success")
    end
    
    filter = IsItWorking::Filter.new(:test, check)
    runner = filter.run
    status = runner.filter_status
    runner.join
    status.should be_success
    status.messages.first.message.should == "success"
    status.time.should_not be_nil
  end
  
  it "should run a check and recue an errors" do
    check = lambda do |status|
      raise "boom!"
    end
    
    filter = IsItWorking::Filter.new(:test, check)
    runner = filter.run
    status = runner.filter_status
    runner.join
    status.should_not be_success
    status.messages.first.message.should include("boom")
    status.time.should_not be_nil
  end
  
  it "should run multiple filters and return their statuses" do
    filter_1 = IsItWorking::Filter.new(:test, lambda{|status| status.ok("OK")})
    filter_2 = IsItWorking::Filter.new(:test, lambda{|status| status.fail("FAIL")})
    statuses = IsItWorking::Filter.run_filters([filter_1, filter_2])
    statuses.first.should be_success
    statuses.last.should_not be_success
  end
  
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
is_it_working-1.1.0 spec/filter_spec.rb
is_it_working-1.0.11 spec/filter_spec.rb
is_it_working-cbeer-1.0.16 spec/filter_spec.rb
is_it_working-cbeer-1.0.15 spec/filter_spec.rb
is_it_working-cbeer-1.0.14 spec/filter_spec.rb
is_it_working-cbeer-1.0.13 spec/filter_spec.rb
is_it_working-cbeer-1.0.12 spec/filter_spec.rb
is_it_working-cbeer-1.0.11 spec/filter_spec.rb
is_it_working-1.0.10 spec/filter_spec.rb