Sha256: c66c3bca32acc891bbe24030d22a31efa7d3130484199ed030662b14b4843570
Contents?: true
Size: 805 Bytes
Versions: 2
Compression:
Stored size: 805 Bytes
Contents
require 'fluq' module FluQ::Testing extend self EXCEPTION_TRACKER = ->ex { FluQ::Testing.exceptions.push(ex) } def wait_until(opts = {}, &block) tick = opts[:tick] || 0.01 max = opts[:max] || (tick * 50) Timeout.timeout(max) { sleep(tick) until block.call } rescue Timeout::Error end def exceptions @exceptions ||= [] end def track_exceptions!(logger = FluQ.logger) return if logger.exception_handlers.include?(EXCEPTION_TRACKER) logger.exception_handler(&EXCEPTION_TRACKER) end end class FluQ::Handler::Test < FluQ::Handler::Base attr_reader :events def initialize(*) super @events = [] end def on_events(events) raise RuntimeError, "Test Failure!" if events.any? {|e| e.tag == "error.event" } @events.concat events end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fluq-0.7.5 | lib/fluq/testing.rb |
fluq-0.7.3 | lib/fluq/testing.rb |