about summary refs log tree commit
path: root/test/rack_read_write.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rack_read_write.rb')
-rw-r--r--test/rack_read_write.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/rack_read_write.rb b/test/rack_read_write.rb
new file mode 100644
index 0000000..f9b0de2
--- /dev/null
+++ b/test/rack_read_write.rb
@@ -0,0 +1,41 @@
+# -*- encoding: binary -*-
+require 'test/unit'
+require 'stringio'
+require 'tempfile'
+require 'rack'
+
+module TestRackReadWrite
+  def test_rack_read_write
+    app = Metropolis.new(:uri => uri)
+    o = { :lint => true, :fatal => true }
+    req = Rack::MockRequest.new(app)
+
+    r = req.put("/asdf", o.merge(:input=>"ASDF"))
+    assert_equal 201, r.status
+    assert_equal "Created\n", r.body
+
+    r = req.get("/asdf")
+    assert_equal 200, r.status
+    assert_equal "ASDF", r.body
+
+    r = req.request("HEAD", "/asdf", {})
+    assert_equal 200, r.status
+    assert_equal "", r.body
+
+    r = req.delete("/asdf", {})
+    assert_equal 200, r.status
+    assert_equal "OK\n", r.body
+
+    r = req.get("/asdf")
+    assert_equal 404, r.status
+    assert_equal "Not Found\n", r.body
+
+    r = req.delete("/asdf", {})
+    assert_equal 404, r.status
+    assert_equal "Not Found\n", r.body
+
+    r = req.request("HEAD", "/asdf", {})
+    assert_equal 404, r.status
+    assert_equal "", r.body
+  end
+end