Skip to content

Instantly share code, notes, and snippets.

@tbuehlmann
Created December 11, 2018 09:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tbuehlmann/b3875bc9ee56921b26a7982183b2a6f3 to your computer and use it in GitHub Desktop.
Save tbuehlmann/b3875bc9ee56921b26a7982183b2a6f3 to your computer and use it in GitHub Desktop.
# frozen_string_literal: true
require "action_dispatch/testing/request_encoder"
module ActionDispatch
# Integration test methods such as ActionDispatch::Integration::Session#get
# and ActionDispatch::Integration::Session#post return objects of class
# TestResponse, which represent the HTTP response results of the requested
# controller actions.
#
# See Response for more information on controller response objects.
class TestResponse < Response
def self.from_response(response)
new response.status, response.headers, response.body
end
def initialize(*) # :nodoc:
super
end
# Was the response successful?
def success?
ActiveSupport::Deprecation.warn(<<-MSG.squish)
The success? predicate is deprecated and will be removed in Rails 6.0.
Please use successful? as provided by Rack::Response::Helpers.
MSG
successful?
end
# Was the URL not found?
def missing?
ActiveSupport::Deprecation.warn(<<-MSG.squish)
The missing? predicate is deprecated and will be removed in Rails 6.0.
Please use not_found? as provided by Rack::Response::Helpers.
MSG
not_found?
end
# Was there a server-side error?
def error?
ActiveSupport::Deprecation.warn(<<-MSG.squish)
The error? predicate is deprecated and will be removed in Rails 6.0.
Please use server_error? as provided by Rack::Response::Helpers.
MSG
server_error?
end
def parsed_body
@parsed_body ||= response_parser.call(body)
end
def response_parser
@response_parser ||= RequestEncoder.parser(content_type)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment