From e090d462addfbed6254bdbbbdeac42245098af46 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sat, 21 Nov 2020 15:59:10 -0700 Subject: feat: return 404 for unsupported HTTP methods --- lib/server.rb | 10 +++++++--- test/integration/data_storage_server_test.rb | 5 +++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/server.rb b/lib/server.rb index d45b773..136ffdf 100644 --- a/lib/server.rb +++ b/lib/server.rb @@ -23,7 +23,7 @@ class DataStorageServer if @storage.key?(oid) ['200', {}, [@storage[oid]]] else - ['404', {}, []] + not_found end end @@ -64,7 +64,7 @@ class DataStorageServer @storage.delete(oid) ['200', {}, []] else - ['404', {}, []] + not_found end end @@ -77,7 +77,7 @@ class DataStorageServer when 'DELETE' destroy(env['PATH_INFO']) else - raise env.inspect + not_found end end @@ -86,4 +86,8 @@ class DataStorageServer def id_from(path) path.split('/')[-1] end + + def not_found + ['404', {}, []] + end end diff --git a/test/integration/data_storage_server_test.rb b/test/integration/data_storage_server_test.rb index ab814ad..26cfe87 100644 --- a/test/integration/data_storage_server_test.rb +++ b/test/integration/data_storage_server_test.rb @@ -51,4 +51,9 @@ class DataStorageServerTest < Minitest::Test delete "/data/foo/nooope" assert_equal 404, last_response.status end + + def test_post_not_found + post '/data/foo/' + assert_equal 404, last_response.status + end end -- cgit v1.2.3