def test_http_error
cli_sock, svr_sock = unix_socketpair
begin
@queue.push(svr_sock)
cli_sock << "DELETE / HTTP/1.1\r\n"
cli_sock << "Host: localhost:8080\r\n"
cli_sock << "Connection: close\r\n"
cli_sock << "\r\n"
cli_sock.flush
response = Rucy::Response.new
response.parse(cli_sock)
assert_equal('HTTP/1.1', response.version)
assert_equal(405, response.status)
assert_equal('Method Not Allowed', response.reason)
assert_equal('GET, HEAD', response.header('Allow'))
assert_equal('close', response.header('Connection'))
assert_match(response.header('Date'), /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} GMT$/)
assert_equal(Rucy::SERVER_TOKEN_LIST, response.header('Server'))
assert(! cli_sock.read.empty?)
assert(cli_sock.eof?)
ensure
cli_sock.close
end
end