Files
kong--kong/spec/01-unit/22-grpc-utils_spec.lua
2026-07-13 12:32:21 +08:00

46 lines
1.4 KiB
Lua

local grpc_tools = require "kong.tools.grpc"
describe("grpc tools", function()
it("visits service methods", function()
local methods = {}
local grpc_tools_instance = grpc_tools.new()
grpc_tools_instance:each_method("helloworld.proto",
function(parsed, service, method)
methods[#methods + 1] = string.format("%s.%s", service.name, method.name)
end)
assert.same({
"HelloService.SayHello",
"HelloService.UnknownMethod",
}, methods)
end)
it("visits imported methods", function()
local methods = {}
local grpc_tools_instance = grpc_tools.new()
grpc_tools_instance:each_method("direct_imports.proto",
function(parsed, service, method)
methods[#methods + 1] = string.format("%s.%s", service.name, method.name)
end, true)
assert.same({
"HelloService.SayHello",
"HelloService.UnknownMethod",
"Own.Open",
}, methods)
end)
it("imports recursively", function()
local methods = {}
local grpc_tools_instance = grpc_tools.new()
grpc_tools_instance:each_method("second_level_imports.proto",
function(parsed, service, method)
methods[#methods + 1] = string.format("%s.%s", service.name, method.name)
end, true)
assert.same({
"HelloService.SayHello",
"HelloService.UnknownMethod",
"Own.Open",
"Added.Final",
}, methods)
end)
end)