Update test
This commit is contained in:
parent
08dd077511
commit
e8c76b223b
@ -231,4 +231,126 @@ end
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local _ENV = TEST_CASE'add_file' do
|
||||||
|
|
||||||
|
local post
|
||||||
|
|
||||||
|
local form_file = "file.form"
|
||||||
|
local form_path = "./" .. form_file
|
||||||
|
local form_data = "some values"
|
||||||
|
|
||||||
|
local function mkfile(P, data)
|
||||||
|
local f, e = io.open(P, "w+b")
|
||||||
|
if not f then return nil, err end
|
||||||
|
if data then assert(f:write(data)) end
|
||||||
|
f:close()
|
||||||
|
return P
|
||||||
|
end
|
||||||
|
|
||||||
|
local function check_form(data)
|
||||||
|
assert_match('name="nameXX"', data)
|
||||||
|
assert_match("\r\n\r\n" .. form_data .."\r\n", data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function setup()
|
||||||
|
post = curl.form()
|
||||||
|
assert(mkfile(form_path, form_data))
|
||||||
|
end
|
||||||
|
|
||||||
|
function teardown()
|
||||||
|
if post then post:free() end
|
||||||
|
post = nil
|
||||||
|
os.remove(form_file)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_01()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. form_file .. '"', data)
|
||||||
|
assert_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_02()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path, 'text/plain'))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. form_file .. '"', data)
|
||||||
|
assert_not_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
assert_match('Content%-Type: text/plain\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_03()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path, 'text/plain', 'renamedfile'))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. 'renamedfile' .. '"', data)
|
||||||
|
assert_not_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
assert_match('Content%-Type: text/plain\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_04()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path, nil, 'renamedfile'))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. 'renamedfile' .. '"', data)
|
||||||
|
assert_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_05()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path, 'text/plain', 'renamedfile', {"Content-Encoding: gzip"}))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. 'renamedfile' .. '"', data)
|
||||||
|
assert_not_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
assert_match('Content%-Type: text/plain\r\n', data)
|
||||||
|
assert_match('Content%-Encoding: gzip\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_05()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path, 'text/plain', {"Content-Encoding: gzip"}))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. form_file .. '"', data)
|
||||||
|
assert_not_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
assert_match('Content%-Type: text/plain\r\n', data)
|
||||||
|
assert_match('Content%-Encoding: gzip\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_06()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path, {"Content-Encoding: gzip"}))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. form_file .. '"', data)
|
||||||
|
assert_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
assert_match('Content%-Encoding: gzip\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_07()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path, nil, {"Content-Encoding: gzip"}))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. form_file .. '"', data)
|
||||||
|
assert_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
assert_match('Content%-Encoding: gzip\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_08()
|
||||||
|
assert_equal(post, post:add_file('nameXX', form_path, nil, nil, {"Content-Encoding: gzip"}))
|
||||||
|
local data = assert_string(post:get())
|
||||||
|
check_form(data)
|
||||||
|
assert_match('filename="' .. form_file .. '"', data)
|
||||||
|
assert_match('Content%-Type: application/octet%-stream\r\n', data)
|
||||||
|
assert_match('Content%-Encoding: gzip\r\n', data)
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_error()
|
||||||
|
assert_error(function()
|
||||||
|
assert_equal(post, post:add_file('nameXX', 'text/plain', form_path))
|
||||||
|
post:get()
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
if not HAS_RUNNER then lunit.run() end
|
if not HAS_RUNNER then lunit.run() end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user