@@ -760,60 +760,59 @@ async def test_credentials(gptscript):
760760
761761@pytest .mark .asyncio  
762762async  def  test_datasets (gptscript ):
763-     workspace_id  =  await  gptscript .create_workspace ("directory" )
764-     dataset_name  =  str (os .urandom (8 ).hex ())
763+     os .environ ["GPTSCRIPT_WORKSPACE_ID" ] =  await  gptscript .create_workspace ("directory" )
764+ 
765+     new_client  =  GPTScript (GlobalOptions (
766+         apiKey = os .getenv ("OPENAI_API_KEY" ),
767+         env = [f"{ k }  ={ v }  "  for  k , v  in  os .environ .items ()],
768+     ))
765769
766770    # Create dataset 
767-     dataset  =  await  gptscript .create_dataset (workspace_id , dataset_name , "this is a test dataset" )
768-     assert  dataset .id  !=  "" , "Expected dataset id to be set" 
769-     assert  dataset .name  ==  dataset_name , "Expected dataset name to match" 
770-     assert  dataset .description  ==  "this is a test dataset" , "Expected dataset description to match" 
771-     assert  len (dataset .elements ) ==  0 , "Expected dataset elements to be empty" 
772- 
773-     # Add an element 
774-     element_meta  =  await  gptscript .add_dataset_element (workspace_id , dataset .id , "element1" , b"element1 contents" ,
775-                                                        "element1 description" )
776-     assert  element_meta .name  ==  "element1" , "Expected element name to match" 
777-     assert  element_meta .description  ==  "element1 description" , "Expected element description to match" 
771+     dataset_id  =  await  new_client .add_dataset_elements ([
772+         DatasetElement (name = "element1" , contents = "element1 contents" , description = "element1 description" ),
773+         DatasetElement (name = "element2" , binaryContents = b"element2 contents" , description = "element2 description" ),
774+     ], name = "test-dataset" , description = "test dataset description" )
778775
779776    # Add two more elements 
780-     await  gptscript .add_dataset_elements (workspace_id ,  dataset . id ,  [
781-         DatasetElement (name = "element2 " , contents = b"element2  contents" , description = "element2  description" ),
782-         DatasetElement (name = "element3 " , contents = b "element3 contents" , description = "element3  description" ),
783-     ])
777+     await  new_client .add_dataset_elements ([
778+         DatasetElement (name = "element3 " , contents = "element3  contents" , description = "element3  description" ),
779+         DatasetElement (name = "element4 " , contents = "element3 contents" , description = "element4  description" ),
780+     ],  datasetID = dataset_id )
784781
785782    # Get the elements 
786-     e1  =  await  gptscript .get_dataset_element (workspace_id ,  dataset . id , "element1" )
783+     e1  =  await  new_client .get_dataset_element (dataset_id , "element1" )
787784    assert  e1 .name  ==  "element1" , "Expected element name to match" 
788-     assert  e1 .contents  ==  b "element1 contents" , "Expected element contents to match" 
785+     assert  e1 .contents  ==  "element1 contents" , "Expected element contents to match" 
789786    assert  e1 .description  ==  "element1 description" , "Expected element description to match" 
790-     e2  =  await  gptscript .get_dataset_element (workspace_id ,  dataset . id , "element2" )
787+     e2  =  await  new_client .get_dataset_element (dataset_id , "element2" )
791788    assert  e2 .name  ==  "element2" , "Expected element name to match" 
792-     assert  e2 .contents  ==  b"element2 contents" , "Expected element contents to match" 
789+     assert  e2 .binaryContents  ==  b"element2 contents" , "Expected element contents to match" 
793790    assert  e2 .description  ==  "element2 description" , "Expected element description to match" 
794-     e3  =  await  gptscript .get_dataset_element (workspace_id ,  dataset . id , "element3" )
791+     e3  =  await  new_client .get_dataset_element (dataset_id , "element3" )
795792    assert  e3 .name  ==  "element3" , "Expected element name to match" 
796-     assert  e3 .contents  ==  b "element3 contents" , "Expected element contents to match" 
793+     assert  e3 .contents  ==  "element3 contents" , "Expected element contents to match" 
797794    assert  e3 .description  ==  "element3 description" , "Expected element description to match" 
798795
799796    # List elements in the dataset 
800-     elements  =  await  gptscript .list_dataset_elements (workspace_id ,  dataset . id )
801-     assert  len (elements ) ==  3 , "Expected one element  in the dataset" 
797+     elements  =  await  new_client .list_dataset_elements (dataset_id )
798+     assert  len (elements ) ==  4 , "Expected four elements  in the dataset" 
802799    assert  elements [0 ].name  ==  "element1" , "Expected element name to match" 
803800    assert  elements [0 ].description  ==  "element1 description" , "Expected element description to match" 
804801    assert  elements [1 ].name  ==  "element2" , "Expected element name to match" 
805802    assert  elements [1 ].description  ==  "element2 description" , "Expected element description to match" 
806803    assert  elements [2 ].name  ==  "element3" , "Expected element name to match" 
807804    assert  elements [2 ].description  ==  "element3 description" , "Expected element description to match" 
805+     assert  elements [3 ].name  ==  "element4" , "Expected element name to match" 
806+     assert  elements [3 ].description  ==  "element4 description" , "Expected element description to match" 
808807
809808    # List datasets 
810-     datasets  =  await  gptscript .list_datasets (workspace_id )
809+     datasets  =  await  new_client .list_datasets ()
811810    assert  len (datasets ) >  0 , "Expected at least one dataset" 
812-     assert  datasets [0 ].id  ==  dataset . id , "Expected dataset id to match" 
813-     assert  datasets [0 ].name  ==  dataset_name , "Expected dataset name to match" 
814-     assert  datasets [0 ].description  ==  "this is a  test dataset" , "Expected dataset description to match" 
811+     assert  datasets [0 ].id  ==  dataset_id , "Expected dataset id to match" 
812+     assert  datasets [0 ].name  ==  "test-dataset" , "Expected dataset name to match" 
813+     assert  datasets [0 ].description  ==  "test dataset description " , "Expected dataset description to match" 
815814
816-     await  gptscript .delete_workspace (workspace_id )
815+     await  gptscript .delete_workspace (os . environ [ "GPTSCRIPT_WORKSPACE_ID" ] )
817816
818817
819818@pytest .mark .asyncio  
0 commit comments