Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@ function extension_create()
local throw = require('std.throw').create()

local instance = {
await_completed = {},
collection = {},
exec = { },
func = { },
namespace = { },
request = { }
}

Expand All @@ -55,6 +57,15 @@ function extension_create()
until status == 'Completed'
end

function instance.exec.get(exec_id)
local err, resp = handle_response(http.get({
url = '/v1/execs/' .. exec_id,
headers = { ['x-exec-token'] = context.exec.token }
}))

return err, resp.content
end

function instance.exec.list(query)
query = query or {}
query.namespace_ids = query.namespace_ids or {}
Expand Down Expand Up @@ -144,6 +155,47 @@ function extension_create()
return err, resp.content
end

function instance.func.list(query)
query = query or { }
local url = '/v1/funcs'
if query.namespace_ids ~= nil then
local res = ""
for idx, namespace_id in ipairs(query.namespace_ids) do
res = res .. namespace_id
if idx < #query.namespace_ids then
res = res .. ","
end
end
url = url .. '?namespace_ids=' .. res
end

local err, resp = handle_response(http.get({
url = url,
headers = { ['x-exec-token'] = context.exec.token },
}))

if resp ~= nil then
resp = resp.content.funcs
end

return err, resp
end

function instance.namespace.append(req)
req = req or {}
local namespace_id = req.namespace_id or exec_namespace_id
local err, resp = handle_response(http.post({
url = '/v1/namespaces/' .. namespace_id .. '/namespaces',
headers = { ['x-exec-token'] = context.exec.token },
body = {
name = req.name,
features = nil
}
}))

return err, resp.content
end

return instance
end

Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
sys = require_plugin('std.sys')
sys = require('std.sys').create({
base_url = context.env.api_host
})


namespace = fail_on_error(sys.namespaces.append({ name = "hamal::namespace::rocks" }))
namespace = fail_on_error(sys.namespace.append({ name = "hamal::namespace::rocks" }))
sys.await_completed(namespace)

func_one = fail_on_error(sys.funcs.create({
func_one = fail_on_error(sys.func.create({
namespace_id = namespace.id,
name = 'func-1'
}))
sys.await_completed(func_one)

assert(func_one ~= nil)
assert(func_one.workspace_id == '539')
assert(func_one.namespace_id == namespace.id)
assert(func_one.workspaceId == '539')
assert(func_one.namespaceId == namespace.id)

func_one = fail_on_error(sys.funcs.get(func_one.id))
func_one = fail_on_error(sys.func.get(func_one.id))
print(dump(func_one))
assert(func_one.namespace.id == namespace.id)
assert(func_one.namespace.name == "hamal::namespace::rocks")

err, hooks = sys.funcs.list()
err, hooks = sys.func.list()
assert(#hooks == 1)
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
sys = require_plugin('std.sys')
sys = require('std.sys').create({
base_url = context.env.api_host
})

err, hooks = sys.funcs.list()
assert(err == nil)
hooks = fail_on_error(sys.func.list())
assert(#hooks == 0)

hook_req = fail_on_error(sys.funcs.create({ namespace_id = '539', name = 'func-1' }))
hook_req = fail_on_error(sys.func.create({ namespace_id = '539', name = 'func-1' }))
sys.await_completed(hook_req)

assert(err == nil)
assert(hook_req ~= nil)
--
_, hooks = sys.funcs.list()

hooks = fail_on_error(sys.func.list())
assert(#hooks == 1)

assert(hook_req.id == hooks[1].id)
assert(hooks[1].name == 'func-1')

func_two = fail_on_error(sys.funcs.create({ namespace_id = '539', name = 'func-2' }))
func_two = fail_on_error(sys.func.create({
namespace_id = '539',
name = 'func-2'
}))
sys.await_completed(func_two)

_, hooks = sys.funcs.list()
hooks = fail_on_error(sys.func.list())
assert(#hooks == 2)
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
sys = require_plugin('std.sys')
sys = require('std.sys').create({
base_url = context.env.api_host
})

namespace_one_req = fail_on_error(sys.namespaces.append({ name = 'namespace-one' }))
namespace_one_req = fail_on_error(sys.namespace.append({ name = 'namespace-one' }))
sys.await_completed(namespace_one_req)

namespace_two_req = fail_on_error(sys.namespaces.append({ name = 'namespace-two' }))
namespace_two_req = fail_on_error(sys.namespace.append({ name = 'namespace-two' }))
sys.await_completed(namespace_two_req)

sys.await_completed(
fail_on_error(sys.funcs.create({ namespace_id = namespace_one_req.id, name = 'func-1' }))
fail_on_error(sys.func.create({ namespace_id = namespace_one_req.id, name = 'func-1' }))
)

count = #fail_on_error(sys.funcs.list())
count = #fail_on_error(sys.func.list())
assert(count == 1)

count = #fail_on_error(sys.funcs.list({}))
count = #fail_on_error(sys.func.list({}))
assert(count == 1)

count = #fail_on_error(sys.funcs.list({ namespace_ids = { namespace_one_req.id } }))
count = #fail_on_error(sys.func.list({ namespace_ids = { namespace_one_req.id } }))
assert(count == 1)

count = #fail_on_error(sys.funcs.list({ namespace_ids = { namespace_two_req.id } }))
assert(count == 0)
count = #fail_on_error(sys.func.list({ namespace_ids = { namespace_two_req.id } }))
assert(count == 0)
Original file line number Diff line number Diff line change
@@ -1,19 +1,31 @@
sys = require_plugin('std.sys')
sys = require('std.sys').create({
base_url = context.env.api_host
})

namespace_one_req = fail_on_error(sys.namespaces.append({ name = 'namespace-one' }))
namespace_one_req = fail_on_error(sys.namespace.append({ name = 'namespace-one' }))
sys.await_completed(namespace_one_req)

namespace_two_req = fail_on_error(sys.namespaces.append({ name = 'namespace-two' }))
namespace_two_req = fail_on_error(sys.namespace.append({ name = 'namespace-two' }))
sys.await_completed(namespace_two_req)

sys.await_completed(fail_on_error(sys.funcs.create({ namespace_id = namespace_one_req.id, name = 'func-1' })))
sys.await_completed(fail_on_error(sys.funcs.create({ namespace_id = namespace_two_req.id, name = 'func-2' })))
sys.await_completed(
fail_on_error(sys.func.create(
{ namespace_id = namespace_one_req.id, name = 'func-1' })
)
)

assert(#fail_on_error(sys.funcs.list({ namespace_ids = { namespace_one_req.id } })) == 1)
assert(#fail_on_error(sys.funcs.list({ namespace_ids = { namespace_two_req.id } })) == 1)
sys.await_completed(
fail_on_error(sys.func.create(
{ namespace_id = namespace_two_req.id, name = 'func-2' }))
)

-- root-namespace contains 2 namespace-one (func-1) and namespace_two(func-2)
root_namespace_hooks = fail_on_error(sys.funcs.list({ namespace_ids = { '539' } }))
func_list = fail_on_error(sys.func.list({ namespace_ids = { namespace_one_req.id } }))

assert(#fail_on_error(sys.func.list({ namespace_ids = { namespace_one_req.id } })) == 1)
assert(#fail_on_error(sys.func.list({ namespace_ids = { namespace_two_req.id } })) == 1)

--root-namespace contains 2 namespace-one (func-1) and namespace_two(func-2)
root_namespace_hooks = fail_on_error(sys.func.list({ namespace_ids = { '539' } }))
assert(#root_namespace_hooks == 2)
assert(root_namespace_hooks[1].name == 'func-2')
assert(root_namespace_hooks[2].name == 'func-1')
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
sys = require('std.sys').create({
base_url = context.env.api_host
})

namespace_one_req = fail_on_error(sys.namespace.append({ name = 'namespace-one' }))
sys.await_completed(namespace_one_req)

namespace_two_req = fail_on_error(sys.namespace.append({ name = 'namespace-two' }))
sys.await_completed(namespace_two_req)

sys.await_completed(
fail_on_error(sys.func.create(
{ namespace_id = namespace_one_req.id, name = 'func-1' })
)
)

sys.await_completed(
fail_on_error(sys.func.create(
{ namespace_id = namespace_two_req.id, name = 'func-2' }))
)

func_list = fail_on_error(sys.func.list({ namespace_ids = { namespace_one_req.id, namespace_two_req.id } }))
assert(#func_list == 2)