|
|
@ -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 |
|
|
|