feat(demo): update cymbal-transit to Java SDK 1.0.0 and add comprehensive tests - #88
Merged
stenalpjolly merged 2 commits intoSep 11, 2026
Conversation
…sive tests - Bump mcp-toolbox-sdk-java dependency in cymbal-transit to 1.0.0 with release-please annotation - Add demo-applications/cymbal-transit files to release-please-config.json - Map root GET / in CymbalTransitController to serve Thymeleaf index.html - Ensure resilient ADC credential handling during local execution - Fix potential IndexOutOfBoundsException in bookTicket when tool response content is empty - Add unit test suite covering McpToolboxService, TransitAgentTools, and TransitAgentController - Update demo documentation and deployment instructions
anubhav756
approved these changes
Sep 11, 2026
stenalpjolly
deleted the
stenalpjolly/stenalpjolly_cymbal-transit-1.0.0
branch
September 11, 2026 15:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Updates
demo-applications/cymbal-transitto use the newly released1.0.0version ofmcp-toolbox-sdk-java, tracks the demo inrelease-please-config.json, adds comprehensive unit test coverage, and resolves operational gaps in UI routing and credential resolution.Expectation & Implementation
mcp-toolbox-sdk-javaversion indemo-applications/cymbal-transit/pom.xmlto1.0.0and added{x-version-update}release-please annotations.demo-applications/cymbal-transit/pom.xmlanddemo-applications/cymbal-transit/README.mdtorelease-please-config.jsonunderextra-filesfor automated versioning in future releases.README.mdto1.0.0.@GetMapping("/")inCymbalTransitControllerto return"index", ensuring the Thymeleaf web interface (templates/index.html) is rendered when accessing the root application URL.IdTokenProvidercredentials gracefully inMcpToolboxService.init()(such as localUserCredentialsfrom standard ADC login) so local development does not crash with an unhandled exception.McpToolboxService.bookTicket()against empty content payloads to prevent potentialIndexOutOfBoundsExceptionwhen the server returns validation errors.GEMINI_MODEL_NAME.McpToolboxService,TransitAgentTools, andTransitAgentController.demo-applications/cymbal-transit/pom.xmlto execute**/*Test.java.Test cases
cloudcode.cymbal.web.McpToolboxServiceTest:findAllScheduleswith successful response formatting, empty content, null content, and error flags.querySchedulesparameter passing and response formatting.searchPoliciessemantic search and query formatting.bookTicketparameter binding, success, and graceful failure handling withoutIndexOutOfBoundsException.init()resilient exception handling.cloudcode.cymbal.web.TransitAgentToolsTest:@Toolmethod delegating toMcpToolboxServiceforfindAllSchedules,querySchedules,bookTicket, andsearchPolicies.cloudcode.cymbal.web.TransitAgentControllerTest:index()returns"index".handleUserChat()returns HTTP 200 OK with agent chat response.Acceptance criteria
demo-applications/cymbal-transitpass cleanly.mvn test -Dtest="*Test,!*E2ETest") pass cleanly./.Breaking changes
None.