X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/edaddbedaec78a252e988e2271962407e64483fd..9cb8311f02e1bd0e2188e3b1db623400aaf8da47:/test/test_helper.rb diff --git a/test/test_helper.rb b/test/test_helper.rb index 97c749000..b91c0779f 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -3,6 +3,43 @@ require File.expand_path(File.dirname(__FILE__) + "/../config/environment") require 'test_help' load 'composite_primary_keys/fixtures.rb' +# This monkey patch is to make tests where a rack module alters +# the response work with rails 2 - it can be dropped when we move +# to rails 3. +module ActionController + module Integration + class Session + def process_with_capture(method, path, parameters = nil, headers = nil) + status = process_without_capture(method, path, parameters, headers) + @controller = ActionController::Base.last_controller + @request = @controller.request + @response.session = @controller.response.session + @response.template = @controller.response.template + @response.redirected_to = @response.location + status + end + + alias_method_chain :process, :capture + end + + module ControllerCapture + module ClassMethods + mattr_accessor :last_controller + + def clear_last_instantiation! + self.last_controller = nil + end + + def new_with_capture(*args) + controller = new_without_capture(*args) + self.last_controller ||= controller + controller + end + end + end + end +end + class ActiveSupport::TestCase # Transactional fixtures accelerate your tests by wrapping each test method # in a transaction that's rolled back on completion. This ensures that the @@ -71,6 +108,8 @@ class ActiveSupport::TestCase set_fixture_class :gpx_files => 'Trace' set_fixture_class :gps_points => 'Tracepoint' set_fixture_class :gpx_file_tags => 'Tracetag' + + fixtures :client_applications end ## @@ -119,6 +158,10 @@ class ActiveSupport::TestCase @request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}") end + def error_format(format) + @request.env["HTTP_X_ERROR_FORMAT"] = format + end + def content(c) @request.env["RAW_POST_DATA"] = c.to_s end @@ -139,6 +182,15 @@ class ActiveSupport::TestCase def assert_no_missing_translations(msg="") assert_select "span[class=translation_missing]", false, "Missing translation #{msg}" end + + def openid_request(openid_request_uri) + openid_response = Net::HTTP.get_response(URI.parse(openid_request_uri)) + openid_response_uri = URI(openid_response['Location']) + openid_response_qs = Rack::Utils.parse_query(openid_response_uri.query) + + return openid_response_qs + end + # Add more helper methods to be used by all tests here... end