|
|
|
@ -97,12 +97,12 @@ describe Request do
|
|
|
|
|
describe "response's body_with_limit method" do
|
|
|
|
|
it 'rejects body more than 1 megabyte by default' do
|
|
|
|
|
stub_request(:any, 'http://example.com').to_return(body: SecureRandom.random_bytes(2.megabytes))
|
|
|
|
|
expect { subject.perform { |response| response.body_with_limit } }.to raise_error Mastodon::LengthValidationError
|
|
|
|
|
expect { subject.perform(&:body_with_limit) }.to raise_error Mastodon::LengthValidationError
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'accepts body less than 1 megabyte by default' do
|
|
|
|
|
stub_request(:any, 'http://example.com').to_return(body: SecureRandom.random_bytes(2.kilobytes))
|
|
|
|
|
expect { subject.perform { |response| response.body_with_limit } }.to_not raise_error
|
|
|
|
|
expect { subject.perform(&:body_with_limit) }.to_not raise_error
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'rejects body by given size' do
|
|
|
|
@ -112,12 +112,12 @@ describe Request do
|
|
|
|
|
|
|
|
|
|
it 'rejects too large chunked body' do
|
|
|
|
|
stub_request(:any, 'http://example.com').to_return(body: SecureRandom.random_bytes(2.megabytes), headers: { 'Transfer-Encoding' => 'chunked' })
|
|
|
|
|
expect { subject.perform { |response| response.body_with_limit } }.to raise_error Mastodon::LengthValidationError
|
|
|
|
|
expect { subject.perform(&:body_with_limit) }.to raise_error Mastodon::LengthValidationError
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'rejects too large monolithic body' do
|
|
|
|
|
stub_request(:any, 'http://example.com').to_return(body: SecureRandom.random_bytes(2.megabytes), headers: { 'Content-Length' => 2.megabytes })
|
|
|
|
|
expect { subject.perform { |response| response.body_with_limit } }.to raise_error Mastodon::LengthValidationError
|
|
|
|
|
expect { subject.perform(&:body_with_limit) }.to raise_error Mastodon::LengthValidationError
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'truncates large monolithic body' do
|
|
|
|
|