@@ -145,15 +145,19 @@ def test_create(client):
145145 )
146146 assert isinstance (prompt_resource , types .Prompt )
147147 assert isinstance (prompt_resource .dataset , types .Dataset )
148+ assert isinstance (prompt_resource .dataset_version , types .DatasetVersion )
149+ assert prompt_resource .version_id == "1"
150+ assert (
151+ prompt_resource .dataset_version .metadata .prompt_api_schema .multimodal_prompt
152+ == prompt_resource .dataset .metadata .prompt_api_schema .multimodal_prompt
153+ )
148154
149155
150156def test_create_e2e (client ):
151157 prompt_resource = client .prompts .create (
152158 prompt = TEST_PROMPT ,
153159 config = TEST_CREATE_PROMPT_CONFIG ,
154160 )
155- assert isinstance (prompt_resource , types .Prompt )
156- assert isinstance (prompt_resource .dataset , types .Dataset )
157161
158162 # Test local prompt resource is the same after calling get()
159163 retrieved_prompt = client .prompts .get (prompt_id = prompt_resource .prompt_id )
@@ -186,28 +190,28 @@ def test_create_e2e(client):
186190 # Test calling create_version on the same prompt dataset and change the prompt
187191 new_prompt = TEST_PROMPT .model_copy (deep = True )
188192 new_prompt .prompt_data .contents [0 ].parts [0 ].text = "Is this Alice?"
189- prompt_resource_2 = client .prompts .create_version (
193+ updated_prompt = client .prompts .update (
190194 prompt_id = prompt_resource .prompt_id ,
191195 prompt = new_prompt ,
192- config = types .CreatePromptVersionConfig (
193- version_display_name = "my_version" ,
196+ config = types .UpdatePromptConfig (
197+ prompt_display_name = "updated_prompt_display_name" ,
198+ version_display_name = "my_version_2" ,
194199 ),
195200 )
196- assert prompt_resource_2 .dataset .name == prompt_resource .dataset .name
197- assert prompt_resource_2 .prompt_data .contents [0 ].parts [0 ].text == "Is this Alice?"
201+ assert updated_prompt .dataset .display_name == "updated_prompt_display_name"
202+ assert updated_prompt .dataset_version .display_name == "my_version_2"
203+ assert updated_prompt .version_id == "2"
204+ assert updated_prompt .prompt_data .contents [0 ].parts [0 ].text == "Is this Alice?"
198205
199- # Update the prompt contents again and verify version history is preserved
200- prompt_v3 = TEST_PROMPT .model_copy (deep = True )
201- prompt_v3 .prompt_data .contents [0 ].parts [0 ].text = "Is this Bob?"
202- prompt_resource_3 = client .prompts .create_version (
206+ # Calling get_version on version "1" should return the original prompt contents
207+ original_prompt = client .prompts .get_version (
203208 prompt_id = prompt_resource .prompt_id ,
204- prompt = prompt_v3 ,
205- config = types .CreatePromptVersionConfig (
206- version_display_name = "my_version_2" ,
207- ),
209+ version_id = "1" ,
210+ )
211+ assert (
212+ original_prompt .prompt_data .contents [0 ].parts [0 ].text
213+ == "Hello, {name}! How are you?"
208214 )
209- assert prompt_resource_3 .dataset .name == prompt_resource .dataset .name
210- assert prompt_resource_3 .prompt_data .contents [0 ].parts [0 ].text == "Is this Bob?"
211215
212216
213217def test_create_version (client ):
@@ -296,6 +300,7 @@ def test_create_with_encryption_spec(client):
296300 config = types .CreatePromptConfig (
297301 prompt_display_name = "my_prompt_with_encryption_spec" ,
298302 encryption_spec = encryption_spec ,
303+ version_display_name = "my_version_with_encryption_spec" ,
299304 )
300305 prompt_resource = client .prompts .create (
301306 prompt = TEST_PROMPT ,
@@ -304,19 +309,19 @@ def test_create_with_encryption_spec(client):
304309 assert isinstance (prompt_resource , types .Prompt )
305310 assert isinstance (prompt_resource .dataset , types .Dataset )
306311
307- # Create a version on a prompt with an encryption spec.
312+ # Update a prompt with an encryption spec.
308313 new_prompt = TEST_PROMPT .model_copy (deep = True )
309314 new_prompt .prompt_data .contents [0 ].parts [0 ].text = "Is this Alice?"
310- prompt_version_resource = client .prompts .create_version (
315+ updated_prompt_resource = client .prompts .update (
311316 prompt_id = prompt_resource .prompt_id ,
312317 prompt = new_prompt ,
313- config = types .CreatePromptVersionConfig (
318+ config = types .UpdatePromptConfig (
314319 version_display_name = "my_version_existing_dataset" ,
315320 ),
316321 )
317- assert isinstance (prompt_version_resource , types .Prompt )
318- assert isinstance (prompt_version_resource .dataset , types .Dataset )
319- assert isinstance (prompt_version_resource .dataset_version , types .DatasetVersion )
322+ assert isinstance (updated_prompt_resource , types .Prompt )
323+ assert isinstance (updated_prompt_resource .dataset , types .Dataset )
324+ assert isinstance (updated_prompt_resource .dataset_version , types .DatasetVersion )
320325
321326
322327pytestmark = pytest_helper .setup (
@@ -329,35 +334,29 @@ def test_create_with_encryption_spec(client):
329334
330335
331336@pytest .mark .asyncio
332- async def test_create_async (client ):
337+ async def test_create_async_e2e (client ):
333338 prompt_resource = await client .aio .prompts .create (
334339 prompt = TEST_PROMPT .model_dump (),
335340 config = TEST_CREATE_PROMPT_CONFIG .model_dump (),
336341 )
337342 assert isinstance (prompt_resource , types .Prompt )
338343 assert isinstance (prompt_resource .dataset , types .Dataset )
339-
340-
341- @pytest .mark .asyncio
342- async def test_create_version_async (client ):
343- prompt_resource = await client .aio .prompts .create (
344- prompt = TEST_PROMPT .model_dump (),
345- config = TEST_CREATE_PROMPT_CONFIG .model_dump (),
344+ assert isinstance (prompt_resource .dataset_version , types .DatasetVersion )
345+ assert prompt_resource .version_id == "1"
346+ assert (
347+ prompt_resource .dataset .metadata .prompt_api_schema .multimodal_prompt .prompt_message
348+ == prompt_resource .dataset_version .metadata .prompt_api_schema .multimodal_prompt .prompt_message
346349 )
350+
347351 new_prompt = TEST_PROMPT .model_copy (deep = True )
348352 new_prompt .prompt_data .contents [0 ].parts [0 ].text = "Is this Alice?"
349- prompt_version_resource = await client .aio .prompts .create_version (
353+ updated_prompt_resource = await client .aio .prompts .update (
350354 prompt_id = prompt_resource .prompt_id ,
351355 prompt = new_prompt ,
352- config = types .CreatePromptVersionConfig (
356+ config = types .UpdatePromptConfig (
353357 version_display_name = "my_version_existing_dataset" ,
354358 ),
355359 )
356- assert isinstance (prompt_version_resource , types .Prompt )
357- assert isinstance (prompt_version_resource .dataset , types .Dataset )
358- assert isinstance (prompt_version_resource .dataset_version , types .DatasetVersion )
359- assert prompt_version_resource .dataset .name .endswith (prompt_resource .prompt_id )
360- assert (
361- prompt_version_resource .prompt_data .contents [0 ].parts [0 ].text
362- == "Is this Alice?"
363- )
360+ assert isinstance (updated_prompt_resource , types .Prompt )
361+ assert isinstance (updated_prompt_resource .dataset , types .Dataset )
362+ assert isinstance (updated_prompt_resource .dataset_version , types .DatasetVersion )
0 commit comments