Skip to content

Commit a4c1886

Browse files
committed
add basic tests around PUT as well
1 parent c1829aa commit a4c1886

File tree

2 files changed

+37
-7
lines changed

2 files changed

+37
-7
lines changed

tests/rackups/basic.rb

+11
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ class Basic < Sinatra::Base
1111
end
1212

1313
post('/echo') do
14+
echo
15+
end
16+
17+
put('/echo') do
18+
echo
19+
end
20+
21+
private
22+
23+
def echo
1424
request.body.read
1525
end
26+
1627
end

tests/test_helper.rb

+26-7
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
Bundler.require(:default, :development)
55

66
def basic_tests(url = 'http://127.0.0.1:9292')
7-
tests('GET /content-length/100') do
87

9-
Excon.defaults[:ssl_verify_peer] = false
10-
connection = Excon.new(url)
8+
Excon.defaults[:ssl_verify_peer] = false
9+
connection = Excon.new(url)
10+
11+
tests('GET /content-length/100') do
1112
response = connection.request(:method => :get, :path => '/content-length/100')
1213

1314
tests('response.status').returns(200) do
@@ -63,8 +64,6 @@ def basic_tests(url = 'http://127.0.0.1:9292')
6364

6465
tests('POST /body-sink') do
6566

66-
connection = Excon.new(url)
67-
6867
tests('response.body').returns("5000000") do
6968
response = connection.request(:method => :post, :path => '/body-sink', :headers => { 'Content-Type' => 'text/plain' }, :body => 'x' * 5_000_000)
7069
response.body
@@ -79,9 +78,12 @@ def basic_tests(url = 'http://127.0.0.1:9292')
7978

8079
tests('POST /echo') do
8180

82-
connection = Excon.new(url)
81+
tests('without request_block').returns('x' * 100) do
82+
response = connection.request(:method => :post, :path => '/echo', :body => 'x' * 100)
83+
response.body
84+
end
8385

84-
tests('request_block usage').returns('x' * 100) do
86+
tests('with request_block').returns('x' * 100) do
8587
data = ['x'] * 100
8688
request_block = lambda do
8789
data.shift.to_s
@@ -92,6 +94,23 @@ def basic_tests(url = 'http://127.0.0.1:9292')
9294

9395
end
9496

97+
tests('PUT /echo') do
98+
99+
tests('without request_block').returns('x' * 100) do
100+
response = connection.request(:method => :put, :path => '/echo', :body => 'x' * 100)
101+
response.body
102+
end
103+
104+
tests('request_block usage').returns('x' * 100) do
105+
data = ['x'] * 100
106+
request_block = lambda do
107+
data.shift.to_s
108+
end
109+
response = connection.request(:method => :put, :path => '/echo', :request_block => request_block)
110+
response.body
111+
end
112+
113+
end
95114
end
96115

97116
def rackup_path(*parts)

0 commit comments

Comments
 (0)