diff options
Diffstat (limited to 'test/test_mogstored_rack.rb')
-rw-r--r-- | test/test_mogstored_rack.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/test_mogstored_rack.rb b/test/test_mogstored_rack.rb index 766192f..f44e70a 100644 --- a/test/test_mogstored_rack.rb +++ b/test/test_mogstored_rack.rb @@ -87,6 +87,33 @@ class TestMogstoredRack < Test::Unit::TestCase assert_equal ">>", client.get_file_data("<<") end + def test_stream_new_file_with_content_length + add_host_device_domain + client = MogileFS::MogileFS.new :hosts => @hosts, :domain => @domain + io = client.new_file("clen", :largefile=>:stream,:content_length=>6) + io << "HIHIHI" + assert_nil io.close + assert_equal "HIHIHI", client.get_file_data("clen") + + io = client.new_file("clen", :largefile=>:stream,:content_length=>1) + io << "FAIL" + assert_raises(MogileFS::SizeMismatchError) { io.close } + assert_equal "HIHIHI", client.get_file_data("clen") + + io = client.new_file("md5", :largefile=>:stream, + :content_length=>6, :content_md5=>:trailer) + assert_equal(io, io << "MD5MD5") + assert_nil io.close + assert_equal "MD5MD5", client.get_file_data("md5") + assert_equal Digest::MD5.hexdigest("MD5MD5"), io.md5.hexdigest + + io = client.new_file("md5", :largefile=>:stream, + :content_length=>6, :content_md5=>:trailer) + assert_equal(io, io << "MD5MD") + assert_raises(MogileFS::SizeMismatchError) { io.close } + assert_equal Digest::MD5.hexdigest("MD5MD"), io.md5.hexdigest + end + def test_md5_check add_host_device_domain client = MogileFS::MogileFS.new :hosts => @hosts, :domain => @domain |