diff options
| author | interview-bot-ng[bot] <46227427+interview-bot-ng[bot]@users.noreply.github.com> | 2020-11-21 21:40:35 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-21 21:40:35 +0000 |
| commit | 8f679cee1192d216065ed82393f4625c9e4dfb70 (patch) | |
| tree | 6bcd5fe6bfedaaa027c098a2de20181619c3fa09 /test.rb | |
| parent | 698008851b98800a942dfd2417ef946465889d6b (diff) | |
Diffstat (limited to 'test.rb')
| -rw-r--r-- | test.rb | 58 |
1 files changed, 58 insertions, 0 deletions
@@ -0,0 +1,58 @@ +require 'minitest/autorun' +require 'rack/test' +require_relative './server-rack' + +class DataStorageServerTest < Minitest::Test + include Rack::Test::Methods + + def app + DataStorageServer.new + end + + def test_put + put '/data/foo', 'some object' + res = JSON.parse(last_response.body) + + assert_equal 201, last_response.status + assert_equal 11, res["size"] + assert res["oid"].is_a?(String) + assert res["oid"].length > 0 + end + + def test_get + put '/data/foo', 'some object' + res1 = JSON.parse(last_response.body) + + put '/data/foo', 'other object' + res2 = JSON.parse(last_response.body) + + refute_equal res1["oid"], res2["oid"] + + get "/data/foo/#{res1["oid"]}" + assert_equal 'some object', last_response.body + + get "/data/foo/#{res2["oid"]}" + assert_equal 'other object', last_response.body + end + + def test_get_not_found + get '/data/foo/noooope' + assert_equal 404, last_response.status + end + + def test_delete + put '/data/foo', 'some object' + res = JSON.parse(last_response.body) + + delete "/data/foo/#{res["oid"]}" + assert_equal 200, last_response.status + + get "/data/foo/#{res["oid"]}" + assert_equal 404, last_response.status + end + + def test_delete_nonexistant_object + delete "/data/foo/nooope" + assert_equal 404, last_response.status + end +end
\ No newline at end of file |
