@@ -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