blob: f1b2e8cfc72e43b0c3cfa505c532aaf69501181e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
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
|