diff options
| author | mo khan <mo.khan@gmail.com> | 2020-11-21 15:45:48 -0700 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-11-21 15:45:48 -0700 |
| commit | 0e1c311754b5ba477f5afef688d2f58d982dc1f6 (patch) | |
| tree | adc700545c4543756ff05464933f3a2ebfb8fb8b /test | |
| parent | 1c288926fdbb649601822120411cfd019cde9a24 (diff) | |
refactor: move test.rb to test/unit/
Diffstat (limited to 'test')
| -rw-r--r-- | test/unit/data_storage_server_test.rb | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/test/unit/data_storage_server_test.rb b/test/unit/data_storage_server_test.rb new file mode 100644 index 0000000..8ef44d7 --- /dev/null +++ b/test/unit/data_storage_server_test.rb @@ -0,0 +1,58 @@ +require 'minitest/autorun' +require 'rack/test' +require 'server' + +class DataStorageServerTest < Minitest::Test + include Rack::Test::Methods + + def app + DataStorageServer.new + end + + def test_put + put '/data/foo', 'some object' + result = JSON.parse(last_response.body) + + assert_equal 201, last_response.status + assert_equal 11, result["size"] + assert result["oid"].is_a?(String) + assert result["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 |
