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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
# frozen_string_literal: true
RSpec.describe FaradayMiddleware::FollowRedirects do
it 'redirects on 301' do
stub_request(:get, 'http://www.site-a.com/').to_return(
status: 301,
headers: { 'Location' => 'https://www.site-b.com/' }
)
stub_request(:get, 'https://www.site-b.com/')
connection = Faraday.new do |conn|
conn.use FaradayMiddleware::FollowRedirects
conn.adapter Faraday.default_adapter
end
response = connection.get 'http://www.site-a.com'
expect(response.env[:url].to_s).to eq('https://www.site-b.com/')
end
it 'redirects on 302' do
stub_request(:get, 'http://www.site-a.com/').to_return(
status: 302,
headers: { 'Location' => 'https://www.site-b.com/' }
)
stub_request(:get, 'https://www.site-b.com/')
connection = Faraday.new do |conn|
conn.use FaradayMiddleware::FollowRedirects
conn.adapter Faraday.default_adapter
end
response = connection.get 'http://www.site-a.com'
expect(response.env[:url].to_s).to eq('https://www.site-b.com/')
end
it 'redirects on 303' do
stub_request(:get, 'http://www.site-a.com/').to_return(
status: 303,
headers: { 'Location' => 'https://www.site-b.com/' }
)
stub_request(:get, 'https://www.site-b.com/')
connection = Faraday.new do |conn|
conn.use FaradayMiddleware::FollowRedirects
conn.adapter Faraday.default_adapter
end
response = connection.get 'http://www.site-a.com'
expect(response.env[:url].to_s).to eq('https://www.site-b.com/')
end
it 'redirects on 307' do
stub_request(:get, 'http://www.site-a.com/').to_return(
status: 307,
headers: { 'Location' => 'https://www.site-b.com/' }
)
stub_request(:get, 'https://www.site-b.com/')
connection = Faraday.new do |conn|
conn.use FaradayMiddleware::FollowRedirects
conn.adapter Faraday.default_adapter
end
response = connection.get 'http://www.site-a.com'
expect(response.env[:url].to_s).to eq('https://www.site-b.com/')
end
it 'redirects on 308' do
stub_request(:get, 'http://www.site-a.com/').to_return(
status: 308,
headers: { 'Location' => 'https://www.site-b.com/' }
)
stub_request(:get, 'https://www.site-b.com/')
connection = Faraday.new do |conn|
conn.use FaradayMiddleware::FollowRedirects
conn.adapter Faraday.default_adapter
end
response = connection.get 'http://www.site-a.com'
expect(response.env[:url].to_s).to eq('https://www.site-b.com/')
end
end
|