46 lines
1.4 KiB
Lua
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)
|