a2aproject / a2aproject/a2a-tck

[Bug]: Inconsistent blocking configuration in gRPC client vs. tests

Open
#116 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
50
Forks
40
Avg merge
7d 1h
Merged PRs (30d)
1

Description

### What happened?

In [GRPC client](https://github.com/a2aproject/a2a-tck/blob/b03fefcae9767dad0e978e11573192f74252dfe3/tck/transport/grpc_client.py#L411), blocking is explicitly set to true. However, in the [test](https://github.com/a2aproject/a2a-tck/blob/b03fefcae9767dad0e978e11573192f74252dfe3/tests/mandatory/protocol/test_a2a_v030_new_methods.py#L317-L321), the cancel function expects blocking to be false. Otherwise TaskState would be TaskStateCompleted which is immutable.

For the [JSON-RPC client](https://github.com/a2aproject/a2a-tck/blob/b03fefcae9767dad0e978e11573192f74252dfe3/tck/transport/jsonrpc_client.py#L283-L288), blocking isn't set (defaulting to false?), which matches the test expectation.

Why the gRPC client forced to blocking while the test expects non-blocking behavior?"

### Relevant log output

```shell

```

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Contributor guide

Open the contributing guide

Research direction

Examine the gRPC client at tck/transport/grpc_client.py line 411 where blocking is set to True. Compare with the test in tests/mandatory/protocol/test_a2a_v030_new_methods.py lines 317-321, which expects blocking=False. Also review the JSON-RPC client at tck/transport/jsonrpc_client.py lines 283-288 for default behavior. Determine whether the gRPC client should align with the test's non-blocking expectation or if the test needs updating. Run the specific test to see the failure and understand the TaskState immutability constraint.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, python
Domain
backend-api-design, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.