111 lines
2.8 KiB
Lua
111 lines
2.8 KiB
Lua
local helpers = require "spec.helpers"
|
|
|
|
local LMDB_MAP_SIZE = "10m"
|
|
|
|
for _, strategy in helpers.each_strategy() do
|
|
if strategy ~= "off" then
|
|
describe("Admin API #" .. strategy, function()
|
|
local bp
|
|
local client, route
|
|
|
|
lazy_setup(function()
|
|
bp = helpers.get_db_utils(strategy, {
|
|
"routes",
|
|
"services",
|
|
})
|
|
|
|
route = bp.routes:insert({
|
|
paths = { "/route_with_max_safe_integer_priority"},
|
|
regex_priority = 9007199254740992,
|
|
})
|
|
|
|
assert(helpers.start_kong({
|
|
database = strategy,
|
|
}))
|
|
end)
|
|
|
|
lazy_teardown(function()
|
|
helpers.stop_kong()
|
|
end)
|
|
|
|
before_each(function()
|
|
client = assert(helpers.admin_client())
|
|
end)
|
|
|
|
after_each(function()
|
|
if client then
|
|
client:close()
|
|
end
|
|
end)
|
|
|
|
it("the maximum safe integer can be accurately represented as a decimal number", function()
|
|
local res = assert(client:send {
|
|
method = "GET",
|
|
path = "/routes/" .. route.id
|
|
})
|
|
assert.res_status(200, res)
|
|
assert.match_re(res:read_body(), "9007199254740992")
|
|
end)
|
|
end)
|
|
end
|
|
|
|
if strategy == "off" then
|
|
describe("Admin API #off", function()
|
|
local client
|
|
|
|
lazy_setup(function()
|
|
assert(helpers.start_kong({
|
|
database = "off",
|
|
lmdb_map_size = LMDB_MAP_SIZE,
|
|
stream_listen = "127.0.0.1:9011",
|
|
nginx_conf = "spec/fixtures/custom_nginx.template",
|
|
}))
|
|
end)
|
|
|
|
lazy_teardown(function()
|
|
helpers.stop_kong()
|
|
end)
|
|
|
|
before_each(function()
|
|
client = assert(helpers.admin_client())
|
|
end)
|
|
|
|
after_each(function()
|
|
if client then
|
|
client:close()
|
|
end
|
|
end)
|
|
|
|
it("the maximum safe integer can be accurately represented as a decimal number", function()
|
|
local res = assert(client:send {
|
|
method = "POST",
|
|
path = "/config",
|
|
body = {
|
|
config = [[
|
|
_format_version: "1.1"
|
|
services:
|
|
- name: my-service
|
|
id: 0855b320-0dd2-547d-891d-601e9b38647f
|
|
url: https://localhost
|
|
routes:
|
|
- name: my-route
|
|
id: 481a9539-f49c-51b6-b2e2-fe99ee68866c
|
|
paths:
|
|
- /
|
|
regex_priority: 9007199254740992
|
|
]],
|
|
},
|
|
headers = {
|
|
["Content-Type"] = "application/json"
|
|
}
|
|
})
|
|
|
|
assert.response(res).has.status(201)
|
|
local res = client:get("/routes/481a9539-f49c-51b6-b2e2-fe99ee68866c")
|
|
assert.res_status(200, res)
|
|
assert.match_re(res:read_body(), "9007199254740992")
|
|
end)
|
|
end)
|
|
end
|
|
end
|