Skip to content

Commit 6737a70

Browse files
BenjaminKazemicopybara-github
authored andcommitted
feat: GenAI SDK client(multimodal) - Add public get/update/delete methods to multimodal datasets.
PiperOrigin-RevId: 825617246
1 parent 2267d58 commit 6737a70

File tree

5 files changed

+316
-25
lines changed

5 files changed

+316
-25
lines changed

tests/unit/vertexai/genai/replays/test_delete_multimodal_datasets.py

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,27 @@ def test_delete_dataset(client):
3939
name=name,
4040
)
4141
assert isinstance(operation, types.MultimodalDatasetOperation)
42-
assert operation
42+
assert operation.done
43+
44+
45+
def test_delete_dataset_with_public_method(client):
46+
dataset = client.datasets.create_from_bigquery(
47+
multimodal_dataset={
48+
"display_name": "test-from-bigquery",
49+
"metadata": {
50+
"inputConfig": {
51+
"bigquerySource": {"uri": f"bq://{BIGQUERY_TABLE_NAME}"},
52+
},
53+
},
54+
}
55+
)
56+
name = dataset.name.split("/datasets/")[1]
57+
58+
operation = client.datasets.delete_multimodal_dataset(
59+
name=name,
60+
)
61+
assert isinstance(operation, types.MultimodalDatasetOperation)
62+
assert operation.done
4363

4464

4565
pytestmark = pytest_helper.setup(
@@ -52,7 +72,7 @@ def test_delete_dataset(client):
5272

5373
@pytest.mark.asyncio
5474
async def test_delete_dataset_async(client):
55-
dataset = client.datasets.create_from_bigquery(
75+
dataset = await client.aio.datasets.create_from_bigquery(
5676
multimodal_dataset={
5777
"display_name": "test-from-bigquery",
5878
"metadata": {
@@ -64,8 +84,29 @@ async def test_delete_dataset_async(client):
6484
)
6585
name = dataset.name.split("/datasets/")[1]
6686

67-
operation = client.datasets._delete_multimodal_dataset(
87+
operation = await client.aio.datasets._delete_multimodal_dataset(
6888
name=name,
6989
)
7090
assert isinstance(operation, types.MultimodalDatasetOperation)
7191
assert operation
92+
93+
94+
@pytest.mark.asyncio
95+
async def test_delete_dataset_with_public_method_async(client):
96+
dataset = await client.aio.datasets.create_from_bigquery(
97+
multimodal_dataset={
98+
"display_name": "test-from-bigquery",
99+
"metadata": {
100+
"inputConfig": {
101+
"bigquerySource": {"uri": f"bq://{BIGQUERY_TABLE_NAME}"},
102+
},
103+
},
104+
}
105+
)
106+
name = dataset.name.split("/datasets/")[1]
107+
108+
operation = await client.aio.datasets.delete_multimodal_dataset(
109+
name=name,
110+
)
111+
assert isinstance(operation, types.MultimodalDatasetOperation)
112+
assert operation.done

tests/unit/vertexai/genai/replays/test_get_multimodal_datasets.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,16 @@ def test_get_dataset(client):
2929
)
3030
assert isinstance(dataset, types.MultimodalDataset)
3131
assert dataset.name.endswith(DATASET)
32-
assert dataset.display_name == "test-from-bigquery"
32+
assert dataset.display_name == "test-display-name"
33+
34+
35+
def test_get_dataset_from_public_method(client):
36+
dataset = client.datasets.get_multimodal_dataset(
37+
name=DATASET,
38+
)
39+
assert isinstance(dataset, types.MultimodalDataset)
40+
assert dataset.name.endswith(DATASET)
41+
assert dataset.display_name == "test-display-name"
3342

3443

3544
pytestmark = pytest_helper.setup(
@@ -47,4 +56,14 @@ async def test_get_dataset_async(client):
4756
)
4857
assert isinstance(dataset, types.MultimodalDataset)
4958
assert dataset.name.endswith(DATASET)
50-
assert dataset.display_name == "test-from-bigquery"
59+
assert dataset.display_name == "test-display-name"
60+
61+
62+
@pytest.mark.asyncio
63+
async def test_get_dataset_from_public_method_async(client):
64+
dataset = await client.aio.datasets.get_multimodal_dataset(
65+
name=DATASET,
66+
)
67+
assert isinstance(dataset, types.MultimodalDataset)
68+
assert dataset.name.endswith(DATASET)
69+
assert dataset.display_name == "test-display-name"

tests/unit/vertexai/genai/replays/test_update_multimodal_datasets.py

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,37 @@
2727

2828

2929
def test_update_dataset(client):
30-
operation = client.datasets._update_multimodal_dataset(
30+
dataset = client.datasets._update_multimodal_dataset(
3131
name=DATASET,
32-
display_name="test-display-name",
33-
description="test-description",
32+
display_name="test-display-name (updated with internal method)",
33+
description="test-description (updated with internal method)",
3434
metadata={
3535
"inputConfig": {
3636
"bigquerySource": {"uri": f"bq://{BIGQUERY_TABLE_NAME}"},
3737
},
3838
},
3939
)
40-
assert isinstance(operation, types.MultimodalDatasetOperation)
40+
assert isinstance(dataset, types.MultimodalDataset)
41+
assert dataset.display_name == "test-display-name (updated with internal method)"
42+
assert dataset.description == "test-description (updated with internal method)"
43+
44+
45+
def test_update_dataset_with_public_method(client):
46+
dataset = client.datasets.update_multimodal_dataset(
47+
multimodal_dataset={
48+
"name": DATASET,
49+
"display_name": "test-display-name (updated with public method)",
50+
"description": "test-description (updated with public method)",
51+
"metadata": {
52+
"inputConfig": {
53+
"bigquerySource": {"uri": f"bq://{BIGQUERY_TABLE_NAME}"},
54+
},
55+
},
56+
}
57+
)
58+
assert isinstance(dataset, types.MultimodalDataset)
59+
assert dataset.display_name == "test-display-name (updated with public method)"
60+
assert dataset.description == "test-description (updated with public method)"
4161

4262

4363
pytestmark = pytest_helper.setup(
@@ -50,14 +70,35 @@ def test_update_dataset(client):
5070

5171
@pytest.mark.asyncio
5272
async def test_update_dataset_async(client):
53-
operation = await client.aio.datasets._update_multimodal_dataset(
73+
dataset = await client.aio.datasets._update_multimodal_dataset(
5474
name=DATASET,
55-
display_name="test-display-name",
75+
display_name="test-display-name (updated with internal method)",
76+
description="test-description (updated with internal method)",
5677
metadata={
5778
"inputConfig": {
5879
"bigquerySource": {"uri": f"bq://{BIGQUERY_TABLE_NAME}"},
5980
},
6081
},
6182
)
62-
assert isinstance(operation, types.MultimodalDatasetOperation)
63-
assert operation
83+
assert isinstance(dataset, types.MultimodalDataset)
84+
assert dataset.display_name == "test-display-name (updated with internal method)"
85+
assert dataset.description == "test-description (updated with internal method)"
86+
87+
88+
@pytest.mark.asyncio
89+
async def test_update_dataset_with_public_method_async(client):
90+
dataset = await client.aio.datasets.update_multimodal_dataset(
91+
multimodal_dataset={
92+
"name": DATASET,
93+
"display_name": "test-display-name (updated with public method)",
94+
"description": "test-description (updated with public method)",
95+
"metadata": {
96+
"inputConfig": {
97+
"bigquerySource": {"uri": f"bq://{BIGQUERY_TABLE_NAME}"},
98+
},
99+
},
100+
}
101+
)
102+
assert isinstance(dataset, types.MultimodalDataset)
103+
assert dataset.display_name == "test-display-name (updated with public method)"
104+
assert dataset.description == "test-description (updated with public method)"

0 commit comments

Comments
 (0)