class WebMock::RequestExecutionVerifier
Attributes
at_least_times_executed[RW]
at_most_times_executed[RW]
expected_times_executed[RW]
request_pattern[RW]
times_executed[RW]
Public Class Methods
executed_requests_message()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 64 def self.executed_requests_message "\n\nThe following requests were made:\n\n#{RequestRegistry.instance.to_s}\n" + "="*60 end
new(request_pattern = nil, expected_times_executed = nil, at_least_times_executed = nil, at_most_times_executed = nil)
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 6 def initialize(request_pattern = nil, expected_times_executed = nil, at_least_times_executed = nil, at_most_times_executed = nil) @request_pattern = request_pattern @expected_times_executed = expected_times_executed @at_least_times_executed = at_least_times_executed @at_most_times_executed = at_most_times_executed end
Public Instance Methods
does_not_match?()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 26 def does_not_match? @times_executed = RequestRegistry.instance.times_executed(@request_pattern) if @expected_times_executed @times_executed != @expected_times_executed else @times_executed == 0 end end
failure_message()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 37 def failure_message expected_times_executed = @expected_times_executed || 1 text = if @at_least_times_executed %Q(The request #{request_pattern.to_s} was expected to execute at least #{times(@at_least_times_executed)} but it executed #{times(times_executed)}) elsif @at_most_times_executed %Q(The request #{request_pattern.to_s} was expected to execute at most #{times(@at_most_times_executed)} but it executed #{times(times_executed)}) else %Q(The request #{request_pattern.to_s} was expected to execute #{times(expected_times_executed)} but it executed #{times(times_executed)}) end text << self.class.executed_requests_message text end
failure_message_when_negated()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 50 def failure_message_when_negated text = if @at_least_times_executed %Q(The request #{request_pattern.to_s} was not expected to execute at least #{times(@at_least_times_executed)} but it executed #{times(times_executed)}) elsif @at_most_times_executed %Q(The request #{request_pattern.to_s} was not expected to execute at most #{times(@at_most_times_executed)} but it executed #{times(times_executed)}) elsif @expected_times_executed %Q(The request #{request_pattern.to_s} was not expected to execute #{times(expected_times_executed)} but it executed #{times(times_executed)}) else %Q(The request #{request_pattern.to_s} was expected to execute 0 times but it executed #{times(times_executed)}) end text << self.class.executed_requests_message text end
matches?()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 13 def matches? @times_executed = RequestRegistry.instance.times_executed(@request_pattern) if @at_least_times_executed @times_executed >= @at_least_times_executed elsif @at_most_times_executed @times_executed <= @at_most_times_executed else @times_executed == (@expected_times_executed || 1) end end
Private Instance Methods
times(times)
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 70 def times(times) "#{times} time#{ (times == 1) ? '' : 's'}" end