diff --git a/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua b/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua index 011b9aae32..b43ece4695 100644 --- a/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua +++ b/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua @@ -181,6 +181,21 @@ function extension_create() return err, resp end + function instance.func.update(req) + req = req or {} + local err, resp = handle_response(http.patch({ + url = '/v1/funcs/' .. req.id, + headers = { ['x-exec-token'] = context.exec.token }, + body = { + name = req.name or nil, + inputs = req.inputs or {}, + code = req.code or nil + } + })) + + return err, resp.content + end + function instance.namespace.append(req) req = req or {} local namespace_id = req.namespace_id or exec_namespace_id diff --git a/platform/testbed/src/integrationTest/resources/api/func/update/nothing_to_update/01.lua b/platform/testbed/src/integrationTest/resources/api/func/update/nothing_to_update/01.lua index 33ebc5700d..741c5e918a 100644 --- a/platform/testbed/src/integrationTest/resources/api/func/update/nothing_to_update/01.lua +++ b/platform/testbed/src/integrationTest/resources/api/func/update/nothing_to_update/01.lua @@ -1,18 +1,20 @@ -sys = require_plugin('std.sys') +sys = require('std.sys').create({ + base_url = context.env.api_host +}) -local func_req = fail_on_error(sys.funcs.create({ +local func_req = fail_on_error(sys.func.create({ name = 'created-name', inputs = { }, code = 'created-code' })) sys.await_completed(func_req) -update_req = fail_on_error(sys.funcs.update({ +update_req = fail_on_error(sys.func.update({ id = func_req.id })) sys.await_completed(update_req) -func_one = fail_on_error(sys.funcs.get(func_req.id)) +func_one = fail_on_error(sys.func.get(func_req.id)) assert(func_one.name == 'created-name') assert(func_one.code.version == 1) assert(func_one.code.value == 'created-code') diff --git a/platform/testbed/src/integrationTest/resources/api/func/update/updated/01.lua b/platform/testbed/src/integrationTest/resources/api/func/update/updated/01.lua index efb215dbda..9d221b2b52 100644 --- a/platform/testbed/src/integrationTest/resources/api/func/update/updated/01.lua +++ b/platform/testbed/src/integrationTest/resources/api/func/update/updated/01.lua @@ -1,20 +1,21 @@ -sys = require_plugin('std.sys') - -local func_req = fail_on_error(sys.funcs.create({ +sys = require('std.sys').create({ + base_url = context.env.api_host +}) +local func_req = fail_on_error(sys.func.create({ name = 'created-name', inputs = { }, code = 'created-code' })) sys.await_completed(func_req) -update_req = fail_on_error(sys.funcs.update({ +update_req = fail_on_error(sys.func.update({ id = func_req.id, name = 'updated-name', code = 'updated-code' })) sys.await_completed(update_req) -func_one = fail_on_error(sys.funcs.get(func_req.id)) +func_one = fail_on_error(sys.func.get(func_req.id)) assert(func_one.name == 'updated-name') assert(func_one.code.version == 2) assert(func_one.code.value == 'updated-code')