first vommit
This commit is contained in:
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."""
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -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)
|
||||
Reference in new issue
Block a user