first vommit

This commit is contained in:
Till-Immer committed 2026-07-04 14:31:50 +02:00
commit a04e68bc95
4926 files changed
+764440

No files matched your search

@@ -0,0 +1,17 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""Tests for the Google GenAI SDK's documents module."""
@@ -0,0 +1,51 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""Tests for documents.delete()."""
import pytest
from ... import types
from .. import pytest_helper
# All tests will be run for both Vertex and MLDev.
test_table: list[pytest_helper.TestTableItem] = [
pytest_helper.TestTableItem(
name="test_delete",
parameters=types._DeleteDocumentParameters(
name=(
"fileSearchStores/fr3l0ri2so25-a3r1ump9x821/documents/asurveyofmodernistpoetrytxt-01zyb2rig5gu"
),
config=types.DeleteDocumentConfig(force=True),
),
exception_if_vertex="only supported in Gemini Developer API mode",
),
]
pytestmark = pytest_helper.setup(
file=__file__,
globals_for_file=globals(),
test_method="file_search_stores.documents.delete",
test_table=test_table,
)
@pytest.mark.asyncio
async def test_async_delete(client):
with pytest_helper.exception_if_vertex(client, ValueError):
await client.aio.file_search_stores.documents.delete(
name="fileSearchStores/fr3l0ri2so25-a3r1ump9x821/documents/asurveyofmodernistpoetrytxt-uvmqjtmkm1h2",
config=types.DeleteDocumentConfig(force=True),
)
@@ -0,0 +1,85 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""Tests for file_search_stores.documents.get()."""
import pytest
from ... import types
from .. import pytest_helper
# A Document name known to exist in the test environment.
# Replace with a real one from your test setup.
_EXISTING_DOCUMENT_NAME = "fileSearchStores/fr3l0ri2so25-a3r1ump9x821/documents/asurveyofmodernistpoetrytxt-uvmqjtmkm1h2"
_NON_EXISTENT_DOCUMENT_NAME = (
"fileSearchStores/fr3l0ri2so25-a3r1ump9x821/documents/non-existent-document"
)
_INVALID_DOCUMENT_NAME = "fileSearchStores/fr3l0ri2so25-a3r1ump9x821/documents/_invalid_document_name"
_NOT_A_DOCUMENT_NAME = "genai-test-document"
# All tests will be run for both Vertex and MLDev.
test_table: list[pytest_helper.TestTableItem] = [
pytest_helper.TestTableItem(
name="test_get_success",
parameters=types._GetDocumentParameters(name=_EXISTING_DOCUMENT_NAME),
exception_if_vertex="only supported in Gemini Developer API mode",
),
pytest_helper.TestTableItem(
name="test_get_not_found",
parameters=types._GetDocumentParameters(
name=_NON_EXISTENT_DOCUMENT_NAME
),
exception_if_vertex="only supported in Gemini Developer API mode",
exception_if_mldev="Documents does not exist",
),
pytest_helper.TestTableItem(
name="test_get_invalid_name",
parameters=types._GetDocumentParameters(name=_INVALID_DOCUMENT_NAME),
exception_if_vertex="only supported in Gemini Developer API mode",
# Validation should catch this before the API call
exception_if_mldev="INVALID_ARGUMENT",
),
pytest_helper.TestTableItem(
name="test_get_not_a_document_name",
parameters=types._GetDocumentParameters(name=_NOT_A_DOCUMENT_NAME),
exception_if_vertex="only supported in Gemini Developer API mode",
exception_if_mldev="Not Found",
),
]
pytestmark = pytest_helper.setup(
file=__file__,
globals_for_file=globals(),
test_method="file_search_stores.documents.get",
test_table=test_table,
)
@pytest.mark.asyncio
async def test_async_get(client):
with pytest_helper.exception_if_vertex(client, ValueError):
# This test relies on the mocking/replays set up by pytest_helper
# For a success case:
try:
document = await client.aio.file_search_stores.documents.get(
name=_EXISTING_DOCUMENT_NAME
)
assert document is not None
assert document.name == _EXISTING_DOCUMENT_NAME
except Exception as e:
# Depending on the mock setup, errors might be raised directly
print(f"Async get failed: {e}")
raise
@@ -0,0 +1,72 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""Tests for file_search_stores.documents.list()."""
import pytest
from ... import types
from .. import pytest_helper
_FILE_SEARCH_STORE_NAME = "fileSearchStores/gzn7kdl2wpxl-4z2yqvuxbcxw"
# All tests will be run for both Vertex and MLDev.
test_table: list[pytest_helper.TestTableItem] = [
pytest_helper.TestTableItem(
name="test_list_default",
parameters=types._ListDocumentsParameters(
parent=_FILE_SEARCH_STORE_NAME
),
exception_if_vertex="only supported in Gemini Developer API mode",
),
pytest_helper.TestTableItem(
name="test_list_with_page_size",
parameters=types._ListDocumentsParameters(
parent=_FILE_SEARCH_STORE_NAME,
config=types.ListDocumentsConfig(
page_size=2,
),
),
exception_if_vertex="only supported in Gemini Developer API mode",
),
]
pytestmark = pytest_helper.setup(
file=__file__,
globals_for_file=globals(),
test_method="file_search_stores.documents.list",
test_table=test_table,
http_options={
"base_url": "https://autopush-generativelanguage.sandbox.googleapis.com/",
}
)
def test_pager(client):
with pytest_helper.exception_if_vertex(client, ValueError):
# Iterate through the first page.
for document in client.file_search_stores.documents.list(
parent=_FILE_SEARCH_STORE_NAME, config={"page_size": 2}
):
assert isinstance(document, types.Document)
@pytest.mark.asyncio
async def test_async_pager(client):
with pytest_helper.exception_if_vertex(client, ValueError):
# Iterate through the first page.
async for document in await client.aio.file_search_stores.documents.list(
parent=_FILE_SEARCH_STORE_NAME, config={"page_size": 2}
):
assert isinstance(document, types.Document)