-
-
Notifications
You must be signed in to change notification settings - Fork 53
Issues Encountered While Testing a Multi-Service gRPC Server with Runn #709
Description
I am experiencing a consistent issue while using Runn for testing my gRPC services.
When attempting to test a specific service, let's refer to it as ServiceA/MethodA,
Runn unexpectedly reports an error related to a different service, which we will call ServiceB.
This error occurs even though ServiceB is not directly involved in the test case for ServiceA/MethodA.
error message
1) grpc/tests/ServiceA_test.yml
└── grpc/tests/requestBase.yml
Failure/Error: gRPC request failed on "Generated by `runn new`".steps[0]: failed to find descriptor: symbol not found: ServiceB
Failure step (grpc/tests/requestBase.yml):
...
yaml file
desc: TestServiceA
vars:
request:
- "json://../test-data/ServiceA/0-request.json"
response:
- "json://../test-data/ServiceA/0-response.json"
steps:
- loop:
count: len(vars.request)
include:
path: requestBase.yml
vars:
ignoreField: "request_time"
request: "{{ vars.request[i] }}"
response: "{{ vars.response[i] }}"
testPath: "ServiceA/MethodA""
requestBase.yml
runners:
greq:
addr: ${BASE_GRPC_URL}
tls: false
steps:
- greq:
"{{ vars.testPath }}":
message: "{{ vars.request }}"
test: compare(current.res.message, vars.response, vars.ignoreField)
When ServiceB is removed from our gRPC server, and the gprc_cli return the service list like following.
Runn tests for ServiceA/MethodA proceed without any issues.
% ./grpc_cli ls localhost:8081
grpc.reflection.v1alpha.ServerReflection
ServiceA
I would greatly appreciate any insights or guidance on this issue.
It's unclear why Runn is requiring ServiceB for tests related to ServiceA.
Is there a potential issue in how Runn handles service dependencies, or could this be related to our specific setup?