6c451d260f
Reviewed-on: #402 Co-authored-by: miteruzo <miteruzo@naver.com> Co-committed-by: miteruzo <miteruzo@naver.com>
24 行
809 B
Ruby
24 行
809 B
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe Preview::HttpFetcher do
|
|
describe '.fetch' do
|
|
it 'raises FetchFailed when redirect location is invalid' do
|
|
redirect = Net::HTTPFound.new('1.1', '302', 'Found')
|
|
redirect['location'] = 'http://[invalid'
|
|
|
|
allow(Preview::UrlSafety).to receive(:validate)
|
|
.with('https://example.com/page')
|
|
.and_return([URI.parse('https://example.com/page'), ['203.0.113.10']])
|
|
allow(described_class).to receive(:request)
|
|
.and_return(redirect)
|
|
allow(Rails.logger).to receive(:warn)
|
|
|
|
expect {
|
|
described_class.fetch('https://example.com/page')
|
|
}.to raise_error(Preview::HttpFetcher::FetchFailed)
|
|
expect(Rails.logger).to have_received(:warn)
|
|
.with(/invalid_redirect_location/)
|
|
end
|
|
end
|
|
end
|