@@ -760,60 +760,59 @@ async def test_credentials(gptscript):
760
760
761
761
@pytest .mark .asyncio
762
762
async 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
+ ))
765
769
766
770
# 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" )
778
775
779
776
# 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 )
784
781
785
782
# 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" )
787
784
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"
789
786
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" )
791
788
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"
793
790
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" )
795
792
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"
797
794
assert e3 .description == "element3 description" , "Expected element description to match"
798
795
799
796
# 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"
802
799
assert elements [0 ].name == "element1" , "Expected element name to match"
803
800
assert elements [0 ].description == "element1 description" , "Expected element description to match"
804
801
assert elements [1 ].name == "element2" , "Expected element name to match"
805
802
assert elements [1 ].description == "element2 description" , "Expected element description to match"
806
803
assert elements [2 ].name == "element3" , "Expected element name to match"
807
804
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"
808
807
809
808
# List datasets
810
- datasets = await gptscript .list_datasets (workspace_id )
809
+ datasets = await new_client .list_datasets ()
811
810
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"
815
814
816
- await gptscript .delete_workspace (workspace_id )
815
+ await gptscript .delete_workspace (os . environ [ "GPTSCRIPT_WORKSPACE_ID" ] )
817
816
818
817
819
818
@pytest .mark .asyncio
0 commit comments