blob: 16111ff9fec838aff5b9154c914325e2df5c72f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
require "test_helper"
using Plum::BinaryString
class LegacyClientSessionTest < Minitest::Test
def test_empty?
io = StringIO.new
session = LegacyClientSession.new(io, Client::DEFAULT_CONFIG)
assert(session.empty?)
res = session.request({}, "aa")
assert(!session.empty?)
io.string << "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
session.succ
assert(res.finished?)
assert(session.empty?)
end
def test_close_fails_req
session = LegacyClientSession.new(StringIO.new, Client::DEFAULT_CONFIG)
res = session.request({})
assert(!res.failed?)
session.close
assert(res.failed?)
end
def test_fail
io = StringIO.new
session = LegacyClientSession.new(io, Client::DEFAULT_CONFIG)
res = session.request({}, "aa")
assert_raises {
session.succ
}
assert(!res.finished?)
assert(res.failed?)
end
def test_request
io = StringIO.new
session = LegacyClientSession.new(io, Client::DEFAULT_CONFIG.merge(hostname: "aa"))
res = session.request({ ":method" => "GET", ":path" => "/aa" }, "aa")
assert("GET /aa HTTP/1.1\r\nhost: aa\r\n\r\naa")
io.string << "HTTP/1.1 200 OK\r\nContent-Length: 3\r\n\r\naaa"
session.succ until res.finished?
assert(res.finished?)
assert("aaa", res.body)
assert({ ":status" => "200", "content-length" => "3" }, res.headers)
end
end
|