Sha256: 91a7517b443a367dbfd058a82cae23a040b50647b23997d6ce530bb77287b18d

Contents?: true

Size: 1.51 KB

Versions: 2

Compression:

Stored size: 1.51 KB

Contents

module WebMock
  extend self

  def stub_request(method, uri)
    RequestRegistry.instance.register_request_stub(RequestStub.new(method, uri))
  end
  
  alias_method :stub_http_request, :stub_request

  def request(method, uri)
    RequestProfile.new(method, uri)
  end

  def assert_requested(method, uri, options = {}, &block)
    expected_times_executed = options.delete(:times) || 1
    request = RequestProfile.new(method, uri, options).with(&block)
    verifier = RequestExecutionVerifier.new(request, expected_times_executed)
    assertion_failure(verifier.failure_message) unless verifier.matches?
  end

  def assert_not_requested(method, uri, options = {}, &block)
    request = RequestProfile.new(method, uri, options).with(&block)
    verifier = RequestExecutionVerifier.new(request, options.delete(:times))
    assertion_failure(verifier.negative_failure_message) unless verifier.does_not_match?
  end

  def allow_net_connect!
    Config.instance.allow_net_connect = true
  end

  def disable_net_connect!
    Config.instance.allow_net_connect = false
  end

  def net_connect_allowed?
    Config.instance.allow_net_connect
  end

  def registered_request?(request_signature)
    RequestRegistry.instance.registered_request?(request_signature)
  end

  def response_for_request(request_signature, &block)
    RequestRegistry.instance.response_for_request(request_signature, &block)
  end

  def reset_webmock
    WebMock::RequestRegistry.instance.reset_webmock
  end
  
  def assertion_failure(message)
    raise message
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webmock-0.9.1 lib/webmock/webmock.rb
webmock-0.9.0 lib/webmock/webmock.rb