5.1 KiB
5.1 KiB
Java SDK IT Coverage Registry
This registry records which public Java SDK interfaces are covered by
test/java-sdk-test integration tests and the scenario groups each class
verifies.
The detailed scenario matrix lives in
JAVA_SDK_IT_SCENARIOS.md. A Partial status means
the current IT has representative coverage but must not be treated as complete
SDK API scenario coverage.
Java SDK ITs run only with the dedicated Maven profile
java-sdk-integration-test. The generic integration-test profile belongs to
HTTP API IT CI and should build this module without executing SDK IT cases.
Client SDK
| SDK interface | IT class | Status | Scenario coverage | Known gaps |
|---|---|---|---|---|
ConfigService |
ConfigServiceJavaSdkITCase |
Covered | Verifies factory creation, publish/query/getConfigWithResult/CAS/remove lifecycle, missing-result shape, missing/idempotent removal, standalone addListener, listener removal behavior, null listener rejection for add/sign/remove paths, client-side invalid parameter handling, valid JSON type metadata, unknown type compatibility, config filter request/response transformation, fuzzy-watch matched keys/add/delete/cancel behavior, missing config behavior, and shutdown cleanup. |
getConfig timeout simulation is intentionally excluded from standalone Java SDK IT because it is not deterministic to force against the shared running server. |
NamingService |
NamingServiceJavaSdkITCase |
Partial | Verifies factory creation, explicit/default group registration, string and Instance overloads, cluster string overloads, duplicate register idempotency, single persistent instance lifecycle, missing/repeated deregister idempotency, batch register, empty batch register no-op behavior, partial batch deregister, current null-list batch pre-remote failure behavior, query/select/list/deregister lifecycle, subscribe=true cached refresh, service-list pagination and deprecated selector overload boundaries, cluster and metadata behavior, explicit unhealthy selection, disabled/zero-weight filtering, subscribe callback delivery, subscribe state, cluster and public selector listener filtering, fuzzy-watch matched service keys/add/cancel behavior, null listener no-op, unsubscribe-stop behavior, validation for blank service, null instance, blank instance IP, invalid port/cluster, invalid heartbeat metadata, persistent batch member, empty batch deregister, mismatched group prefix, missing service empty result, no-healthy selection failure, and shutdown cleanup. |
Fuzzy-watch delete-service events are not stable through public instance deregistration because the SDK has no public service delete API. |
AiService / A2aService |
AiServiceJavaSdkITCase |
Partial | Verifies factory creation, MCP release/query/subscribe, MCP latest and duplicate-version controlled error behavior, direct MCP endpoint-spec release, versioned and default/latest MCP endpoint register/query/deregister for remote servers, missing MCP endpoint controlled error, MCP stdio endpoint registration controlled error, A2A agent card release/query/subscribe/unsubscribe-stop, A2A latest-version behavior, A2A duplicate-version idempotency, A2A missing-card get behavior, single/batch/TLS A2A endpoint registration with endpoint-detail assertion, current-value listener callbacks, missing-resource nullable MCP/A2A/Prompt subscribe shapes, gRPC Skill/AgentSpec unsupported error mapping, missing skill download controlled exception, SDK validation for MCP/A2A/Prompt/Skill/AgentSpec required parameters, endpoint validation, batch endpoint version mismatch, and shutdown cleanup. | MCP unsubscribe-stop behavior, missing A2A endpoint behavior, and functional Prompt/Skill/AgentSpec resource scenarios remain because the public Java SDK exposes query/download/subscribe APIs but not stable create/upload APIs for standalone IT setup. |
LockService |
LockServiceJavaSdkITCase |
Covered | Verifies factory creation, distributed lock acquire/compete/release/reacquire lifecycle, repeated release boundary, expiration-based reacquire, unsupported lock type and missing key error mapping, null lock-instance SDK boundary, direct remoteTryLock/remoteReleaseLock, and shutdown cleanup. |
No known public LockService scenario gap in the standalone Java SDK IT. |
Pending SDK Surfaces
The following SDK surfaces are documented by
specs/*/testing/java-sdk-integration-test-spec.md and should be added in
later batches:
- deprecated
NamingMaintainService - maintainer-client SDK interfaces are tracked separately in
test/maintainer-sdk-test