-
-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues Encountered While Testing a Multi-Service gRPC Server with Runn #709
Comments
Are you importing something of ServiceB in the .proto file of ServiceA? |
There are no dependencies in our .proto definitions between ServiceA and ServiceB. Also after we removed Service B, we enabled the gRPC health check service, and the same issue happened.
And FYI I tried to use buf curl with reflect to call ServiceA, everything is OK. |
@xiao-yao-tn Thank you for your report! Sounds like a problem with runn's Multi service + Reflection. |
Note that this is because gRPC Runner first performs reflection on all services. This led me to believe that the information in Service B might be incomplete. |
I tried using grpcbin but could not reproduce it. $ docker run -it --rm -p 9000:9000 -p 9001:9001 moul/grpcbin &
[1] 82024
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
~ > unable to setup input stream: unable to set IO streams as raw terminal: interrupted system call
[1] + exit 1 docker run -it --rm -p 9000:9000 -p 9001:9001 moul/grpcbin
$ grpcurl -plaintext localhost:9000 list
addsvc.Add
grpc.gateway.examples.examplepb.ABitOfEverythingService
grpc.reflection.v1alpha.ServerReflection
grpcbin.GRPCBin
hello.HelloService
$ grpcurl -plaintext -d '{"greeting": "alice"}' localhost:9000 hello.HelloService/SayHello
{
"reply": "hello alice"
}
$ runn --version
runn version 0.91.4
~ > cat tmp.yml
desc: grpcbin
runners:
greq:
addr: localhost:9000
tls: false
steps:
- greq:
hello.HelloService/SayHello:
message:
greeting: alice
$ runn run tmp.yml
.
1 scenario, 0 skipped, 0 failures
$ |
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
yaml file
requestBase.yml
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.
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?
The text was updated successfully, but these errors were encountered: