require 'abstract_unit' class IPv6IntegrationTest < ActionDispatch::IntegrationTest Routes = ActionDispatch::Routing::RouteSet.new include Routes.url_helpers class ::BadRouteRequestController < ActionController::Base include Routes.url_helpers def index render :text => foo_path end def foo redirect_to :action => :index end end Routes.draw do get "/", :to => 'bad_route_request#index', :as => :index get "/foo", :to => "bad_route_request#foo", :as => :foo end def _routes Routes end APP = build_app Routes def app APP end test "bad IPv6 redirection" do # def test_simple_redirect request_env = { 'REMOTE_ADDR' => 'fd07:2fa:6cff:2112:225:90ff:fec7:22aa', 'HTTP_HOST' => '[fd07:2fa:6cff:2112:225:90ff:fec7:22aa]:3000', 'SERVER_NAME' => '[fd07:2fa:6cff:2112:225:90ff:fec7:22aa]', 'SERVER_PORT' => 3000 } get '/foo', env: request_env assert_response :redirect assert_equal 'http://[fd07:2fa:6cff:2112:225:90ff:fec7:22aa]:3000/', redirect_to_url end end