mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
git-subtree-dir: src/deps/src/lua-resty-session git-subtree-split: 8b5f8752f3046396c414c5b97850e784c07e1641
108 lines
4.9 KiB
Lua
108 lines
4.9 KiB
Lua
local file_utils = require "resty.session.file.utils"
|
|
|
|
|
|
local fmt = string.format
|
|
local describe = describe
|
|
local assert = assert
|
|
local it = it
|
|
|
|
|
|
describe("Testing file utils", function()
|
|
describe("validate file name", function()
|
|
local validate_file_name = file_utils.validate_file_name
|
|
local name = "name"
|
|
local sid1 = "ABCdef123_-iJqwertYUIOpasdfgHJKLzxcvbnmJuis"
|
|
local aud_sub1 = "some-aud:some-sub"
|
|
local simple_prefix = "pref"
|
|
local special_prefix = "@-_-"
|
|
local simple_suffix = "suff"
|
|
local special_suffix = "-_-@"
|
|
local filename_inv1 = "some.conf"
|
|
local filename_inv2 = "abc"
|
|
local filename_inv3 = name.."_".. "abc"
|
|
|
|
it("validation fails with invalid files with prefix and suffix", function()
|
|
assert.is_false(validate_file_name(simple_prefix, simple_suffix, name, filename_inv1))
|
|
assert.is_false(validate_file_name(simple_prefix, simple_suffix, name, filename_inv2))
|
|
assert.is_false(validate_file_name(simple_prefix, simple_suffix, name, filename_inv3))
|
|
end)
|
|
|
|
|
|
it("validation fails with invalid files with prefix only", function()
|
|
assert.is_false(validate_file_name(simple_prefix, nil, name, filename_inv1))
|
|
assert.is_false(validate_file_name(simple_prefix, nil, name, filename_inv2))
|
|
assert.is_false(validate_file_name(simple_prefix, nil, name, filename_inv3))
|
|
end)
|
|
|
|
it("validation fails with invalid files with suffix only", function()
|
|
assert.is_false(validate_file_name(nil, simple_suffix, name, filename_inv1))
|
|
assert.is_false(validate_file_name(nil, simple_suffix, name, filename_inv2))
|
|
assert.is_false(validate_file_name(nil, simple_suffix, name, filename_inv3))
|
|
end)
|
|
|
|
it("validation fails with invalid files with no prefix or suffix", function()
|
|
assert.is_false(validate_file_name(nil, nil, name, filename_inv1))
|
|
assert.is_false(validate_file_name(nil, nil, name, filename_inv2))
|
|
assert.is_false(validate_file_name(nil, nil, name, filename_inv3))
|
|
end)
|
|
|
|
it("validation passes with prefix and suffix", function()
|
|
local filename_sess = fmt("%s_%s_%s.%s", simple_prefix, name, sid1, simple_suffix)
|
|
local filename_meta = fmt("%s_%s_%s.%s", simple_prefix, name, aud_sub1, simple_suffix)
|
|
|
|
assert.is_true(validate_file_name(simple_prefix, simple_suffix, name, filename_sess))
|
|
assert.is_true(validate_file_name(simple_prefix, simple_suffix, name, filename_meta))
|
|
assert.is_false(validate_file_name(simple_prefix, simple_suffix, name, filename_inv1))
|
|
assert.is_false(validate_file_name(simple_prefix, simple_suffix, name, filename_inv2))
|
|
end)
|
|
|
|
it("validation passes with special prefix and suffix", function()
|
|
local sp_filename_sess = fmt("%s_%s_%s.%s", special_prefix, name, sid1, special_suffix)
|
|
local sp_filename_meta = fmt("%s_%s_%s.%s", special_prefix, name, aud_sub1, special_suffix)
|
|
|
|
assert.is_true(validate_file_name(special_prefix, special_suffix, name, sp_filename_sess))
|
|
assert.is_true(validate_file_name(special_prefix, special_suffix, name, sp_filename_meta))
|
|
end)
|
|
|
|
|
|
it("validation passes with prefix", function()
|
|
local filename_sess = fmt("%s_%s_%s", simple_prefix, name, sid1)
|
|
local filename_meta = fmt("%s_%s_%s", simple_prefix, name, aud_sub1)
|
|
|
|
assert.is_true(validate_file_name(simple_prefix, nil, name, filename_sess))
|
|
assert.is_true(validate_file_name(simple_prefix, nil, name, filename_meta))
|
|
end)
|
|
|
|
it("validation passes with special prefix", function()
|
|
local sp_filename_sess = fmt("%s_%s_%s", special_prefix, name, sid1)
|
|
local sp_filename_meta = fmt("%s_%s_%s", special_prefix, name, aud_sub1)
|
|
|
|
assert.is_true(validate_file_name(special_prefix, nil, name, sp_filename_sess))
|
|
assert.is_true(validate_file_name(special_prefix, nil, name, sp_filename_meta))
|
|
end)
|
|
|
|
it("#only validation passes with suffix", function()
|
|
local filename_sess = fmt("%s_%s.%s", name, sid1, simple_suffix)
|
|
local filename_meta = fmt("%s_%s.%s", name, aud_sub1, simple_suffix)
|
|
|
|
assert.is_true(validate_file_name(nil, simple_suffix, name, filename_sess))
|
|
assert.is_true(validate_file_name(nil, simple_suffix, name, filename_meta))
|
|
end)
|
|
|
|
it("validation passes with special suffix", function()
|
|
local sp_filename_sess = fmt("%s_%s.%s", name, sid1, special_suffix)
|
|
local sp_filename_meta = fmt("%s_%s.%s", name, aud_sub1, special_suffix)
|
|
|
|
assert.is_true(validate_file_name(nil, special_suffix, name, sp_filename_sess))
|
|
assert.is_true(validate_file_name(nil, special_suffix, name, sp_filename_meta))
|
|
end)
|
|
|
|
it("validation passes with no prefix or suffix", function()
|
|
local filename_sess = fmt("%s_%s", name, sid1)
|
|
local filename_meta = fmt("%s_%s", name, aud_sub1)
|
|
|
|
assert.is_true(validate_file_name(nil, nil, name, filename_sess))
|
|
assert.is_true(validate_file_name(nil, nil, name, filename_meta))
|
|
end)
|
|
end)
|
|
end)
|