summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-12-01 16:38:14 -0700
committermo khan <mo.khan@gmail.com>2020-12-01 16:38:14 -0700
commit8901fb94c1060be585e90a8c4264785831aa85a4 (patch)
treeb19a969d0c7a8cf791e8c5acabf8fafd8733569e
parent0e0e18f30d01bed38fa9c96621037d4726991738 (diff)
fix: add test for empty request bodydevelop
-rw-r--r--lib/server.rb1
-rw-r--r--test/integration/data_storage_server_test.rb7
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/server.rb b/lib/server.rb
index 5b23066..2464ac3 100644
--- a/lib/server.rb
+++ b/lib/server.rb
@@ -19,6 +19,7 @@ class DataStorageServer
def put(io)
data = io.read(MAX_BYTES)
+ return bad_request unless data
return bad_request unless io.eof?
oid = Digest::SHA256.hexdigest(data)
diff --git a/test/integration/data_storage_server_test.rb b/test/integration/data_storage_server_test.rb
index 0c3d662..0d94171 100644
--- a/test/integration/data_storage_server_test.rb
+++ b/test/integration/data_storage_server_test.rb
@@ -24,6 +24,13 @@ class DataStorageServerTest < Minitest::Test
assert last_response.body.empty?
end
+ def test_put_empty_body
+ put '/data/foo'
+
+ assert_equal 400, last_response.status
+ assert last_response.body.empty?
+ end
+
def test_get
put '/data/foo', 'some object'
res1 = JSON.parse(last_response.body)