Methods
D
F
G
H
P
R
X
Instance Public methods
delete(path, parameters = nil, headers = nil)

Performs a DELETE request with the given parameters. See #get for more details.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 50
def delete(path, parameters = nil, headers = nil)
  process :delete, path, parameters, headers
end
delete_via_redirect(path, parameters = nil, headers = nil)

Performs a DELETE request, following any subsequent redirect. See request_via_redirect for more information.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 113
def delete_via_redirect(path, parameters = nil, headers = nil)
  request_via_redirect(:delete, path, parameters, headers)
end
follow_redirect!()

Follow a single redirect response. If the last response was not a redirect, an exception will be raised. Otherwise, the redirect is performed on the location header.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 77
def follow_redirect!
  raise "not a redirect! #{status} #{status_message}" unless redirect?
  get(response.location)
  status
end
get(path, parameters = nil, headers = nil)

Performs a GET request with the given parameters.

  • path: The URI (as a String) on which you want to perform a GET request.

  • parameters: The HTTP parameters that you want to pass. This may be nil, a Hash, or a String that is appropriately encoded (application/x-www-form-urlencoded or multipart/form-data).

  • headers: Additional headers to pass, as a Hash. The headers will be merged into the Rack env hash.

This method returns an Response object, which one can use to inspect the details of the response. Furthermore, if this method was called from an ActionDispatch::IntegrationTest object, then that object’s @response instance variable will point to the same response object.

You can also perform POST, PUT, DELETE, and HEAD requests with #post, #put, #delete, and #head.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 32
def get(path, parameters = nil, headers = nil)
  process :get, path, parameters, headers
end
get_via_redirect(path, parameters = nil, headers = nil)

Performs a GET request, following any subsequent redirect. See request_via_redirect for more information.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 95
def get_via_redirect(path, parameters = nil, headers = nil)
  request_via_redirect(:get, path, parameters, headers)
end
head(path, parameters = nil, headers = nil)

Performs a HEAD request with the given parameters. See #get for more details.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 56
def head(path, parameters = nil, headers = nil)
  process :head, path, parameters, headers
end
post(path, parameters = nil, headers = nil)

Performs a POST request with the given parameters. See #get for more details.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 38
def post(path, parameters = nil, headers = nil)
  process :post, path, parameters, headers
end
post_via_redirect(path, parameters = nil, headers = nil)

Performs a POST request, following any subsequent redirect. See request_via_redirect for more information.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 101
def post_via_redirect(path, parameters = nil, headers = nil)
  request_via_redirect(:post, path, parameters, headers)
end
put(path, parameters = nil, headers = nil)

Performs a PUT request with the given parameters. See #get for more details.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 44
def put(path, parameters = nil, headers = nil)
  process :put, path, parameters, headers
end
put_via_redirect(path, parameters = nil, headers = nil)

Performs a PUT request, following any subsequent redirect. See request_via_redirect for more information.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 107
def put_via_redirect(path, parameters = nil, headers = nil)
  request_via_redirect(:put, path, parameters, headers)
end
request_via_redirect(http_method, path, parameters = nil, headers = nil)

Performs a request using the specified method, following any subsequent redirect. Note that the redirects are followed until the response is not a redirect–this means you may run into an infinite loop if your redirect loops back to itself.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 87
def request_via_redirect(http_method, path, parameters = nil, headers = nil)
  process(http_method, path, parameters, headers)
  follow_redirect! while redirect?
  status
end
xhr(request_method, path, parameters = nil, headers = nil)
xml_http_request(request_method, path, parameters = nil, headers = nil)

Performs an XMLHttpRequest request with the given parameters, mirroring a request from the Prototype library.

The request_method is :get, :post, :put, :delete or :head; the parameters are nil, a hash, or a url-encoded or multipart string; the headers are a hash.

Also aliased as: xhr
# File actionpack/lib/action_dispatch/testing/integration.rb, line 66
def xml_http_request(request_method, path, parameters = nil, headers = nil)
  headers ||= {}
  headers['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
  headers['HTTP_ACCEPT'] ||= [Mime::JS, Mime::HTML, Mime::XML, 'text/xml', Mime::ALL].join(', ')
  process(request_method, path, parameters, headers)
end