chore: remove bare excepts

Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 867666149
This commit is contained in:
George Weale
2026-02-09 10:25:03 -08:00
committed by Copybara-Service
parent fd8a9e3962
commit 0758f877b1
17 changed files with 253 additions and 22 deletions
@@ -192,6 +192,45 @@ def test_list_table_indexes_success(
assert result["results"][0]["INDEX_NAME"] == "PRIMARY_KEY"
@patch("google.adk.tools.spanner.client.get_spanner_client")
def test_list_table_indexes_circular_row_fallback_to_string(
mock_get_spanner_client, mock_spanner_ids, mock_credentials
):
"""Test list_table_indexes stringifies rows with circular references."""
mock_spanner_client = MagicMock()
mock_instance = MagicMock()
mock_database = MagicMock()
mock_snapshot = MagicMock()
circular_value = []
circular_value.append(circular_value)
mock_result_set = MagicMock()
mock_result_set.__iter__.return_value = iter([(
circular_value,
"",
"PRIMARY_KEY",
"",
True,
False,
None,
)])
mock_snapshot.execute_sql.return_value = mock_result_set
mock_database.snapshot.return_value.__enter__.return_value = mock_snapshot
mock_database.database_dialect = DatabaseDialect.GOOGLE_STANDARD_SQL
mock_instance.database.return_value = mock_database
mock_spanner_client.instance.return_value = mock_instance
mock_get_spanner_client.return_value = mock_spanner_client
result = metadata_tool.list_table_indexes(
mock_spanner_ids["project_id"],
mock_spanner_ids["instance_id"],
mock_spanner_ids["database_id"],
mock_spanner_ids["table_name"],
mock_credentials,
)
assert result["status"] == "SUCCESS"
assert isinstance(result["results"][0], str)
@patch("google.adk.tools.spanner.client.get_spanner_client")
def test_list_table_index_columns_success(
mock_get_spanner_client, mock_spanner_ids, mock_credentials
@@ -187,6 +187,47 @@ def test_similarity_search_error(
assert "Test Exception" in result["error_details"]
@mock.patch.object(utils, "embed_contents")
@mock.patch.object(client, "get_spanner_client")
def test_similarity_search_circular_row_fallback_to_string(
mock_get_spanner_client,
mock_embed_contents,
mock_spanner_ids,
mock_credentials,
):
"""Test similarity_search stringifies rows with circular references."""
mock_spanner_client = MagicMock()
mock_instance = MagicMock()
mock_database = MagicMock()
mock_snapshot = MagicMock()
circular_row = []
circular_row.append(circular_row)
mock_embed_contents.return_value = [[0.1, 0.2, 0.3]]
mock_snapshot.execute_sql.return_value = iter([circular_row])
mock_database.snapshot.return_value.__enter__.return_value = mock_snapshot
mock_database.database_dialect = DatabaseDialect.GOOGLE_STANDARD_SQL
mock_instance.database.return_value = mock_database
mock_spanner_client.instance.return_value = mock_instance
mock_get_spanner_client.return_value = mock_spanner_client
result = search_tool.similarity_search(
project_id=mock_spanner_ids["project_id"],
instance_id=mock_spanner_ids["instance_id"],
database_id=mock_spanner_ids["database_id"],
table_name=mock_spanner_ids["table_name"],
query="test query",
embedding_column_to_search="embedding_col",
columns=["col1"],
embedding_options={
"vertex_ai_embedding_model_name": "text-embedding-005"
},
credentials=mock_credentials,
)
assert result["status"] == "SUCCESS", result
assert result["rows"] == [str(circular_row)]
@mock.patch.object(client, "get_spanner_client")
def test_similarity_search_postgresql_knn_success(
mock_get_spanner_client, mock_spanner_ids, mock_credentials
@@ -178,6 +178,35 @@ def test_add_contents_empty_contents(
mock_spanner_database.batch.assert_not_called()
@mock.patch.object(spanner_utils.client, "get_spanner_client", autospec=True)
def test_execute_sql_circular_row_fallback_to_string(mock_get_spanner_client):
"""Test execute_sql stringifies rows with circular references."""
mock_spanner_client = mock.MagicMock()
mock_instance = mock.MagicMock()
mock_database = mock.MagicMock()
mock_snapshot = mock.MagicMock()
circular_row = []
circular_row.append(circular_row)
mock_snapshot.execute_sql.return_value = iter([circular_row])
mock_database.snapshot.return_value.__enter__.return_value = mock_snapshot
mock_database.database_dialect = DatabaseDialect.GOOGLE_STANDARD_SQL
mock_instance.database.return_value = mock_database
mock_spanner_client.instance.return_value = mock_instance
mock_get_spanner_client.return_value = mock_spanner_client
result = spanner_utils.execute_sql(
project_id="test-project",
instance_id="test-instance",
database_id="test-database",
query="SELECT 1",
credentials=mock.Mock(),
settings=SpannerToolSettings(),
tool_context=mock.Mock(),
)
assert result == {"status": "SUCCESS", "rows": [str(circular_row)]}
@mock.patch.object(spanner_utils, "embed_contents", autospec=True)
def test_add_contents_additional_columns_list_mismatch(
mock_embed_contents, spanner_tool_settings, mock_spanner_client