Merge branch 'master' into lua-code-coverage
This commit is contained in:
commit
7759064ee2
|
@ -34,6 +34,12 @@ jobs:
|
|||
luarocks install busted
|
||||
luarocks install luacov
|
||||
luarocks install hasher
|
||||
luarocks install luacheck
|
||||
|
||||
- name: Lint code
|
||||
run: |
|
||||
source env/bin/activate
|
||||
luacheck docker/nginx/libs --std ngx_lua+busted
|
||||
|
||||
- name: Unit Tests
|
||||
run: |
|
||||
|
|
|
@ -16,7 +16,8 @@ log_by_lua_block {
|
|||
})
|
||||
|
||||
if err or (res and res.status ~= ngx.HTTP_NO_CONTENT) then
|
||||
ngx.log(ngx.ERR, "Failed accounts service request /track/download/" .. skylink .. ": ", err or ("[HTTP " .. res.status .. "] " .. res.body))
|
||||
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
|
||||
ngx.log(ngx.ERR, "Failed accounts service request /track/download/" .. skylink .. ": ", error_response)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -40,7 +41,8 @@ log_by_lua_block {
|
|||
})
|
||||
|
||||
if err or (res and res.status ~= ngx.HTTP_OK) then
|
||||
ngx.log(ngx.ERR, "Failed malware-scanner request /scan/" .. skylink .. ": ", err or ("[HTTP " .. res.status .. "] " .. res.body))
|
||||
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
|
||||
ngx.log(ngx.ERR, "Failed malware-scanner request /scan/" .. skylink .. ": ", error_response)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -19,7 +19,8 @@ log_by_lua_block {
|
|||
})
|
||||
|
||||
if err or (res and res.status ~= ngx.HTTP_NO_CONTENT) then
|
||||
ngx.log(ngx.ERR, "Failed accounts service request /track/registry/" .. registry_action .. ": ", err or ("[HTTP " .. res.status .. "] " .. res.body))
|
||||
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
|
||||
ngx.log(ngx.ERR, "Failed accounts service request /track/registry/" .. registry_action .. ": ", error_response)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -15,7 +15,8 @@ log_by_lua_block {
|
|||
})
|
||||
|
||||
if err or (res and res.status ~= ngx.HTTP_NO_CONTENT) then
|
||||
ngx.log(ngx.ERR, "Failed accounts service request /track/upload/" .. skylink .. ": ", err or ("[HTTP " .. res.status .. "] " .. res.body))
|
||||
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
|
||||
ngx.log(ngx.ERR, "Failed accounts service request /track/upload/" .. skylink .. ": ", error_response)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -40,7 +41,8 @@ log_by_lua_block {
|
|||
})
|
||||
|
||||
if err or (res and res.status ~= ngx.HTTP_OK) then
|
||||
ngx.log(ngx.ERR, "Failed malware-scanner request /scan/" .. skylink .. ": ", err or ("[HTTP " .. res.status .. "] " .. res.body))
|
||||
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
|
||||
ngx.log(ngx.ERR, "Failed malware-scanner request /scan/" .. skylink .. ": ", error_response)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ local function divide_string( str, max )
|
|||
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
local function number_to_bit( num, length )
|
||||
local bits = {}
|
||||
|
||||
|
@ -144,7 +144,7 @@ function basexx.to_basexx( str, alphabet, bits, pad )
|
|||
end
|
||||
|
||||
table.insert( result, pad )
|
||||
return table.concat( result )
|
||||
return table.concat( result )
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
@ -225,16 +225,16 @@ local function length_error( len, d )
|
|||
end
|
||||
|
||||
local z85Decoder = { 0x00, 0x44, 0x00, 0x54, 0x53, 0x52, 0x48, 0x00,
|
||||
0x4B, 0x4C, 0x46, 0x41, 0x00, 0x3F, 0x3E, 0x45,
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x40, 0x00, 0x49, 0x42, 0x4A, 0x47,
|
||||
0x51, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A,
|
||||
0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32,
|
||||
0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A,
|
||||
0x3B, 0x3C, 0x3D, 0x4D, 0x00, 0x4E, 0x43, 0x00,
|
||||
0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
|
||||
0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
|
||||
0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20,
|
||||
0x4B, 0x4C, 0x46, 0x41, 0x00, 0x3F, 0x3E, 0x45,
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x40, 0x00, 0x49, 0x42, 0x4A, 0x47,
|
||||
0x51, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A,
|
||||
0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32,
|
||||
0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A,
|
||||
0x3B, 0x3C, 0x3D, 0x4D, 0x00, 0x4E, 0x43, 0x00,
|
||||
0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
|
||||
0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
|
||||
0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20,
|
||||
0x21, 0x22, 0x23, 0x4F, 0x00, 0x50, 0x00, 0x00 }
|
||||
|
||||
function basexx.from_z85( str, ignore )
|
||||
|
|
|
@ -82,7 +82,8 @@ function _M.get_account_limits()
|
|||
|
||||
-- fail gracefully in case /user/limits failed
|
||||
if err or (res and res.status ~= ngx.HTTP_OK) then
|
||||
ngx.log(ngx.ERR, "Failed accounts service request /user/limits?unit=byte: ", err or ("[HTTP " .. res.status .. "] " .. res.body))
|
||||
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
|
||||
ngx.log(ngx.ERR, "Failed accounts service request /user/limits?unit=byte: ", error_response)
|
||||
ngx.var.account_limits = cjson.encode(anon_limits)
|
||||
elseif res and res.status == ngx.HTTP_OK then
|
||||
ngx.var.account_limits = res.body
|
||||
|
@ -109,7 +110,7 @@ function _M.has_subscription()
|
|||
end
|
||||
|
||||
function _M.is_auth_required()
|
||||
-- authentication is required if mode is set to "authenticated"
|
||||
-- authentication is required if mode is set to "authenticated"
|
||||
-- or "subscription" (require active subscription to a premium plan)
|
||||
return os.getenv("ACCOUNTS_LIMIT_ACCESS") == "authenticated" or _M.is_subscription_required()
|
||||
end
|
||||
|
@ -118,7 +119,7 @@ function _M.is_subscription_required()
|
|||
return os.getenv("ACCOUNTS_LIMIT_ACCESS") == "subscription"
|
||||
end
|
||||
|
||||
function is_access_always_allowed()
|
||||
local is_access_always_allowed = function ()
|
||||
-- options requests do not attach cookies - should always be available
|
||||
-- requests should not be limited based on accounts if accounts are not enabled
|
||||
return ngx.req.get_method() == "OPTIONS" or not _M.accounts_enabled()
|
||||
|
|
|
@ -27,7 +27,7 @@ function _M.hash(skylink)
|
|||
|
||||
-- parse with blake2b with key length of 32
|
||||
local blake2bHashed = hasher.blake2b(rawMerkleRoot, 32)
|
||||
|
||||
|
||||
-- hex encode the blake hash
|
||||
local hexHashed = basexx.to_hex(blake2bHashed)
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ describe("parse", function()
|
|||
it("should return unchanged base64 skylink", function()
|
||||
assert.is.same(skynet_skylink.parse(base64), base64)
|
||||
end)
|
||||
|
||||
|
||||
it("should transform base32 skylink into base64", function()
|
||||
assert.is.same(skynet_skylink.parse(base32), base64)
|
||||
end)
|
||||
|
|
|
@ -15,31 +15,31 @@ describe("extract_cookie", function()
|
|||
|
||||
it("should return nil if cookie string is nil", function()
|
||||
local cookie = utils.extract_cookie_value(nil, "aaa")
|
||||
|
||||
|
||||
assert.is_nil(cookie)
|
||||
end)
|
||||
|
||||
it("should return nil if cookie name is not found", function()
|
||||
local cookie = utils.extract_cookie(cookie_string, "foo")
|
||||
|
||||
|
||||
assert.is_nil(cookie)
|
||||
end)
|
||||
|
||||
it("should return cookie if cookie_string starts with that cookie name", function()
|
||||
local cookie = utils.extract_cookie(cookie_string, "aaa")
|
||||
|
||||
|
||||
assert.are.equals(cookie, "aaa=bbb")
|
||||
end)
|
||||
|
||||
it("should return cookie if cookie_string ends with that cookie name", function()
|
||||
local cookie = utils.extract_cookie(cookie_string, "xxx")
|
||||
|
||||
|
||||
assert.are.equals(cookie, "xxx=yyy")
|
||||
end)
|
||||
|
||||
it("should return cookie with custom matcher", function()
|
||||
local cookie = utils.extract_cookie(cookie_string, "skynet[-]jwt")
|
||||
|
||||
|
||||
assert.are.equals(cookie, "skynet-jwt=MTY0NzUyr8jD-ytiWtspm0tGabKfooxeIDuWcXhJ3lnY0eEw==")
|
||||
end)
|
||||
end)
|
||||
|
@ -49,31 +49,31 @@ describe("extract_cookie_value", function()
|
|||
|
||||
it("should return nil if cookie string is nil", function()
|
||||
local value = utils.extract_cookie_value(nil, "aaa")
|
||||
|
||||
|
||||
assert.is_nil(value)
|
||||
end)
|
||||
|
||||
it("should return nil if cookie name is not found", function()
|
||||
local value = utils.extract_cookie_value(cookie_string, "foo")
|
||||
|
||||
|
||||
assert.is_nil(value)
|
||||
end)
|
||||
|
||||
it("should return value if cookie_string starts with that cookie name", function()
|
||||
local value = utils.extract_cookie_value(cookie_string, "aaa")
|
||||
|
||||
|
||||
assert.are.equals(value, "bbb")
|
||||
end)
|
||||
|
||||
it("should return cookie if cookie_string ends with that cookie name", function()
|
||||
local value = utils.extract_cookie_value(cookie_string, "xxx")
|
||||
|
||||
|
||||
assert.are.equals(value, "yyy")
|
||||
end)
|
||||
|
||||
it("should return cookie with custom matcher", function()
|
||||
local value = utils.extract_cookie_value(cookie_string, "skynet[-]jwt")
|
||||
|
||||
|
||||
assert.are.equals(value, "MTY0NzUyr8jD-ytiWtspm0tGabKfooxeIDuWcXhJ3lnY0eEw==")
|
||||
end)
|
||||
end)
|
||||
|
|
Reference in New Issue