Created
December 11, 2018 09:57
-
-
Save tbuehlmann/b3875bc9ee56921b26a7982183b2a6f3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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