summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-11-21 15:16:01 -0700
committermo khan <mo.khan@gmail.com>2020-11-21 15:16:01 -0700
commit3ada0a4e55b56002a2492cf893034f074347a923 (patch)
treed96de9f112077fdd6850475c1eb92ac6254f563b
parenta82b2fb5f4147a36959d1bfeb1e36cc114fc7423 (diff)
feat: return 404 status code oid cannot be deleted
-rw-r--r--server-rack.rb8
-rw-r--r--test.rb2
2 files changed, 7 insertions, 3 deletions
diff --git a/server-rack.rb b/server-rack.rb
index 2f22a4b..3d4642b 100644
--- a/server-rack.rb
+++ b/server-rack.rb
@@ -39,8 +39,12 @@ class DataStorageServer
def destroy(path)
oid = id_from(path)
- @storage.delete(oid)
- ['200', {}, []]
+ if @storage.key?(oid)
+ @storage.delete(oid)
+ ['200', {}, []]
+ else
+ ['404', {}, []]
+ end
end
def call(env)
diff --git a/test.rb b/test.rb
index 429fa80..656e7b0 100644
--- a/test.rb
+++ b/test.rb
@@ -51,7 +51,7 @@ class DataStorageServerTest < Minitest::Test
assert_equal 404, last_response.status
end
- def xtest_delete_nonexistant_object
+ def test_delete_nonexistant_object
delete "/data/foo/nooope"
assert_equal 404, last_response.status
end