Rakefile: kill raa_update task
[metropolis.git] / test / test_hash.rb
blob8c89375e5cfaa1aa32e451ade62e7538547ba849
1 # -*- encoding: binary -*-
2 require './test/rack_read_write.rb'
3 $-w = true
4 require 'metropolis'
6 class Test_Hash < Test::Unit::TestCase
7   attr_reader :tmp, :o, :uri
8   include TestRackReadWrite
10   def setup
11     @tmp = Tempfile.new('hash')
12     File.unlink(@tmp)
13     @uri = "hash://#{@tmp.path}"
14     @app_opts = { :uri => @uri }
15   end
17   def teardown
18     @tmp.close!
19   end
21   def test_marshalled
22     File.open(@tmp, "wb") { |fp| fp.write(Marshal.dump({"x" => "y"})) }
23     app = Metropolis.new(@app_opts.merge(:readonly => true))
24     o = { :lint => true, :fatal => true }
25     req = Rack::MockRequest.new(app)
27     r = req.put("/x", o.merge(:input=>"ASDF"))
28     assert_equal 403, r.status
30     r = req.get("/x")
31     assert_equal 200, r.status
32     assert_equal "y", r.body
34     r = req.request("HEAD", "/x", {})
35     assert_equal 200, r.status
36     assert_equal "", r.body
38     r = req.delete("/x", {})
39     assert_equal 403, r.status
40   end
41 end