|
|
@ -38,17 +38,32 @@ describe Request do |
|
|
|
end |
|
|
|
|
|
|
|
describe '#perform' do |
|
|
|
before do |
|
|
|
stub_request(:get, 'http://example.com') |
|
|
|
subject.perform |
|
|
|
end |
|
|
|
context 'with valid host' do |
|
|
|
before do |
|
|
|
stub_request(:get, 'http://example.com') |
|
|
|
subject.perform |
|
|
|
end |
|
|
|
|
|
|
|
it 'executes a HTTP request' do |
|
|
|
expect(a_request(:get, 'http://example.com')).to have_been_made.once |
|
|
|
end |
|
|
|
|
|
|
|
it 'executes a HTTP request' do |
|
|
|
expect(a_request(:get, 'http://example.com')).to have_been_made.once |
|
|
|
it 'sets headers' do |
|
|
|
expect(a_request(:get, 'http://example.com').with(headers: subject.headers)).to have_been_made |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
it 'sets headers' do |
|
|
|
expect(a_request(:get, 'http://example.com').with(headers: subject.headers)).to have_been_made |
|
|
|
context 'with private host' do |
|
|
|
around do |example| |
|
|
|
WebMock.disable! |
|
|
|
example.run |
|
|
|
WebMock.enable! |
|
|
|
end |
|
|
|
|
|
|
|
it 'raises Mastodon::ValidationError' do |
|
|
|
allow(IPSocket).to receive(:getaddress).with('example.com').and_return('0.0.0.0') |
|
|
|
expect{ subject.perform }.to raise_error Mastodon::ValidationError |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |