mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-01-10 07:58:12 -05:00
## Description This Pull Request introduces support for the Firebird database as a new `source` and adds the `firebird-sql` and `firebird-execute-sql` tools. The implementation follows the architectural pattern established by the existing PostgreSQL and MySQL tools. Comprehensive integration tests have been added in the `tests/firebird` directory, covering table creation, data insertion, and the invocation of all related tools. Corresponding user and developer documentation has also been included. ## Test Results The core functionality is working as demonstrated by the vast majority of tests passing. However, a few tests fail due to limitations and inflexibilities in the generic test harness (`tests/tool.go`), which is not fully compatible with Firebird's specific syntax and behavior. ### Known and Justified Failures: * **`invoke_my-tool` / `invoke_my-array-tool`:** The `RunToolInvokeTest` function reuses the same `want` variable for both sub-tests, which have different inputs and expected outputs. The test is configured for `my-tool` to pass, which consequently causes the `my-array-tool` test to fail its assertion. The `got` log for the array test confirms that the tool returns the correct response for the given input. * **`invoke_my-exec-sql-tool`:** This test fails because the harness sends the query `SELECT 1`, which is invalid syntax in Firebird. Subsequent tests for this tool using DDL and DML (`create`, `select`, `drop`) all pass, confirming its core functionality. * **`invoke_select-fields-templateParams-tool`:** This test fails due to a case-sensitivity mismatch in column names (`NAME` vs. `name`). The expected output in the test harness is hardcoded with a lowercase name. * **Authentication Tests:** All authentication-related tests are failing. This appears to be a general issue with the local test environment setup and is not specific to the Firebird implementation. ## Next Steps I believe the implementation is ready for review. I am available to make any requested changes. Feat #935 --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> Co-authored-by: Yuan Teoh <yuanteoh@google.com>