fix(bigtable): populate Value type in _format_execute_query_view_params#17547
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the view parameter formatting for Bigtable queries to explicitly include the string type when constructing Value objects. It also adds unit tests to verify this behavior. The reviewer noted that comparing proto-plus message objects directly to dictionaries in the new test assertions will fail, and suggested converting the messages to dictionaries first using to_dict.
| request = execute_query_mock.call_args[0][0] | ||
| assert "user_id" in request.view_parameters | ||
| assert request.view_parameters["user_id"].string_value == "alice" | ||
| assert request.view_parameters["user_id"].type_ == {"string_type": {}} |
There was a problem hiding this comment.
In proto-plus, comparing a message object directly to a dictionary using == will evaluate to False because proto-plus does not support direct equality comparison with dicts. To perform this assertion correctly, convert the message to a dictionary first using type(message).to_dict(message).
| assert request.view_parameters["user_id"].type_ == {"string_type": {}} | |
| assert type(request.view_parameters["user_id"].type_).to_dict(request.view_parameters["user_id"].type_) == {"string_type": {}} |
| request = execute_query_mock.call_args[0][0] | ||
| assert "user_id" in request.view_parameters | ||
| assert request.view_parameters["user_id"].string_value == "alice" | ||
| assert request.view_parameters["user_id"].type_ == {"string_type": {}} |
There was a problem hiding this comment.
In proto-plus, comparing a message object directly to a dictionary using == will evaluate to False because proto-plus does not support direct equality comparison with dicts. To perform this assertion correctly, convert the message to a dictionary first using type(message).to_dict(message).
| assert request.view_parameters["user_id"].type_ == {"string_type": {}} | |
| assert type(request.view_parameters["user_id"].type_).to_dict(request.view_parameters["user_id"].type_) == {"string_type": {}} |
…_query_view_params
…har line length limit
…atting across all Ruff versions
… 0.14 compatibility
🤖 I have created a release *beep* *boop* --- <details><summary>gapic-generator: 1.36.0</summary> ## [1.36.0](gapic-generator-v1.35.0...gapic-generator-v1.36.0) (2026-06-25) ### Features * **mypy:** centralize mypy.ini and update templates ([#17523](#17523)) ([3a67b7f](3a67b7f)) </details> <details><summary>google-ads-datamanager: 0.9.1</summary> ## [0.9.1](google-ads-datamanager-v0.9.0...google-ads-datamanager-v0.9.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-analytics-admin: 0.30.1</summary> ## [0.30.1](google-analytics-admin-v0.30.0...google-analytics-admin-v0.30.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-apps-chat: 0.10.1</summary> ## [0.10.1](google-apps-chat-v0.10.0...google-apps-chat-v0.10.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-auth: 2.55.1</summary> ## [2.55.1](google-auth-v2.55.0...google-auth-v2.55.1) (2026-06-25) ### Bug Fixes * **auth:** lower regional access boundary logs from warning to debug. ([#17571](#17571)) ([1ef4183](1ef4183)), closes [#17515](#17515) </details> <details><summary>google-cloud-bigtable: 2.40.0</summary> ## [2.40.0](google-cloud-bigtable-v2.39.0...google-cloud-bigtable-v2.40.0) (2026-06-25) ### Features * regenerate google-cloud-bigtable ([#17575](#17575)) ([bd782cf](bd782cf)) ### Bug Fixes * **bigtable:** populate Value type in _format_execute_query_view_params ([#17547](#17547)) ([8cb77d9](8cb77d9)) </details> <details><summary>google-cloud-build: 3.38.0</summary> ## [3.38.0](google-cloud-build-v3.37.0...google-cloud-build-v3.38.0) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-ces: 0.7.1</summary> ## [0.7.1](google-cloud-ces-v0.7.0...google-cloud-ces-v0.7.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-chronicle: 0.6.1</summary> ## [0.6.1](google-cloud-chronicle-v0.6.0...google-cloud-chronicle-v0.6.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-compute: 1.49.0</summary> ## [1.49.0](google-cloud-compute-v1.48.0...google-cloud-compute-v1.49.0) (2026-06-25) ### Features * regenerate google-cloud-compute ([#17576](#17576)) ([140d86f](140d86f)) </details> <details><summary>google-cloud-dataform: 0.11.1</summary> ## [0.11.1](google-cloud-dataform-v0.11.0...google-cloud-dataform-v0.11.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-dataproc: 5.29.0</summary> ## [5.29.0](google-cloud-dataproc-v5.28.0...google-cloud-dataproc-v5.29.0) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-dialogflow: 2.49.0</summary> ## [2.49.0](google-cloud-dialogflow-v2.48.0...google-cloud-dialogflow-v2.49.0) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-dialogflow-cx: 2.7.0</summary> ## [2.7.0](google-cloud-dialogflow-cx-v2.6.0...google-cloud-dialogflow-cx-v2.7.0) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-discoveryengine: 0.20.1</summary> ## [0.20.1](google-cloud-discoveryengine-v0.20.0...google-cloud-discoveryengine-v0.20.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-firestore: 2.28.0</summary> ## [2.28.0](google-cloud-firestore-v2.27.0...google-cloud-firestore-v2.28.0) (2026-06-25) ### Features * **firestore:** drop Python 3.7-3.9 support and regenerate ([#17247](#17247)) ([b11224f](b11224f)) * regenerate google-cloud-[e-i] packages ([#17079](#17079)) ([5239b18](5239b18)) * regenerate google-cloud-firestore ([#17577](#17577)) ([57ebaa3](57ebaa3)) ### Bug Fixes * **firestore:** Imropve improper pipeline aliases ([#16651](#16651)) ([f728bd6](f728bd6)) * **firestore:** remove usage of typing_extensions ([#17357](#17357)) ([cdaf213](cdaf213)) * make test_utils unique_resource_id parallel-safe ([#17440](#17440)) ([ac1f5d5](ac1f5d5)) </details> <details><summary>google-cloud-network-management: 1.37.0</summary> ## [1.37.0](google-cloud-network-management-v1.36.0...google-cloud-network-management-v1.37.0) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-network-security: 0.13.2</summary> ## [0.13.2](google-cloud-network-security-v0.13.1...google-cloud-network-security-v0.13.2) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-network-services: 0.10.1</summary> ## [0.10.1](google-cloud-network-services-v0.10.0...google-cloud-network-services-v0.10.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-oracledatabase: 0.6.1</summary> ## [0.6.1](google-cloud-oracledatabase-v0.6.0...google-cloud-oracledatabase-v0.6.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> <details><summary>google-cloud-spanner: 3.69.0</summary> ## [3.69.0](google-cloud-spanner-v3.68.0...google-cloud-spanner-v3.69.0) (2026-06-25) ### Features * regenerate google-cloud-spanner ([#17578](#17578)) ([39b252f](39b252f)) </details> <details><summary>google-cloud-vectorsearch: 0.11.1</summary> ## [0.11.1](google-cloud-vectorsearch-v0.11.0...google-cloud-vectorsearch-v0.11.1) (2026-06-25) ### Features * update googleapis and regenerate ([#17554](#17554)) ([03d0574](03d0574)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Ensures that string view parameters construct Value objects with both string_value and explicit string_type populated.
Fixes issue where view parameters created Value objects missing the explicit type_ field.