diff options
| author | mo khan <mo.khan@gmail.com> | 2020-11-21 15:59:10 -0700 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-11-21 15:59:10 -0700 |
| commit | e090d462addfbed6254bdbbbdeac42245098af46 (patch) | |
| tree | f392f9f0aedd2db9517e507c9d05e3a179ca4147 | |
| parent | 18992015e4275cc5f390ebd84ed416b38b87feae (diff) | |
feat: return 404 for unsupported HTTP methods
| -rw-r--r-- | lib/server.rb | 10 | ||||
| -rw-r--r-- | 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 |
