diff options
Diffstat (limited to 'test/test_mogilefs.rb')
-rw-r--r-- | test/test_mogilefs.rb | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/test/test_mogilefs.rb b/test/test_mogilefs.rb index dbaddf3..a6bcf35 100644 --- a/test/test_mogilefs.rb +++ b/test/test_mogilefs.rb @@ -10,6 +10,14 @@ class TestMogileFS__MogileFS < TestMogileFS super end + def read_headers(client) + headers = "" + while line = client.gets + headers << line + return headers if line == "\r\n" + end + end + def test_initialize assert_equal 'test', @client.domain @@ -24,9 +32,10 @@ class TestMogileFS__MogileFS < TestMogileFS svr = Proc.new do |serv, port| client, _ = serv.accept client.sync = true - readed = client.recv(4096, 0) - assert(readed =~ \ - %r{\AGET /dev[12]/0/000/000/0000000062\.fid HTTP/1.[01]\r\n\r\n\Z}) + readed = read_headers(client) + assert_match( + %r{\AGET /dev[12]/0/000/000/0000000062\.fid HTTP/1.[01]\r\n}, + readed) accept.syswrite('.') client.send("HTTP/1.0 200 OK\r\nContent-Length: 5\r\n\r\ndata!", 0) client.close @@ -50,9 +59,10 @@ class TestMogileFS__MogileFS < TestMogileFS svr1 = Proc.new do |serv, port| client, _ = serv.accept client.sync = true - readed = client.recv(4096, 0) - assert(readed =~ \ - %r{\AGET /dev1/0/000/000/0000000062\.fid HTTP/1.[01]\r\n\r\n\Z}) + readed = read_headers(client) + assert_match( + %r{\AGET /dev1/0/000/000/0000000062\.fid HTTP/1.[01]\r\n}, + readed) accept.syswrite('.') client.send("HTTP/1.0 404 Not Found\r\n\r\ndata!", 0) client.close @@ -61,9 +71,10 @@ class TestMogileFS__MogileFS < TestMogileFS svr2 = Proc.new do |serv, port| client, _ = serv.accept client.sync = true - readed = client.recv(4096, 0) - assert(readed =~ \ - %r{\AGET /dev2/0/000/000/0000000062\.fid HTTP/1.[01]\r\n\r\n\Z}) + readed = read_headers(client) + assert_match( + %r{\AGET /dev2/0/000/000/0000000062\.fid HTTP/1.[01].*\r\n}, + readed) accept.syswrite('.') client.send("HTTP/1.0 200 OK\r\nContent-Length: 5\r\n\r\ndata!", 0) client.close @@ -98,9 +109,10 @@ class TestMogileFS__MogileFS < TestMogileFS client, _ = serv.accept client.sync = true accept.syswrite('.') - readed = client.recv(4096, 0) - assert(readed =~ \ - %r{\AGET /dev[12]/0/000/000/0000000062\.fid HTTP/1.[01]\r\n\r\n\Z}) + readed = read_headers(client) + assert_match( + %r{\AGET /dev[12]/0/000/000/0000000062\.fid HTTP/1.[01]\r\n}, + readed) MogileFS.io.copy_stream(tmpfp, client) client.close exit 0 @@ -406,7 +418,7 @@ class TestMogileFS__MogileFS < TestMogileFS t = TempServer.new(Proc.new do |serv, accept| client, _ = serv.accept client.sync = true - client.recv(4096, 0) + read_headers(client) client.send("HTTP/1.0 500 Internal Server Error\r\n\r\n", 0) client.close end) |