@@ -1068,6 +1068,45 @@ def test_storage_stats(cloud_test_catalog):
10681068 assert stats .size == 15
10691069
10701070
1071+ @pytest .mark .parametrize ("cloud_type" , ["s3" , "azure" , "gs" ], indirect = True )
1072+ def test_enlist_source_handles_slash (cloud_test_catalog ):
1073+ catalog = cloud_test_catalog .catalog
1074+ src_uri = cloud_test_catalog .src_uri
1075+
1076+ catalog .enlist_source (f"{ src_uri } /dogs" , ttl = 1234 )
1077+ stats = catalog .storage_stats (src_uri )
1078+ assert stats .num_objects == len (DEFAULT_TREE ["dogs" ])
1079+ assert stats .size == 15
1080+
1081+ catalog .enlist_source (f"{ src_uri } /dogs/" , ttl = 1234 , force_update = True )
1082+ stats = catalog .storage_stats (src_uri )
1083+ assert stats .num_objects == len (DEFAULT_TREE ["dogs" ])
1084+ assert stats .size == 15
1085+
1086+
1087+ @pytest .mark .parametrize ("cloud_type" , ["s3" , "azure" , "gs" ], indirect = True )
1088+ def test_enlist_source_handles_glob (cloud_test_catalog ):
1089+ catalog = cloud_test_catalog .catalog
1090+ src_uri = cloud_test_catalog .src_uri
1091+
1092+ catalog .enlist_source (f"{ src_uri } /dogs/*.jpg" , ttl = 1234 )
1093+ stats = catalog .storage_stats (src_uri )
1094+
1095+ assert stats .num_objects == len (DEFAULT_TREE ["dogs" ])
1096+ assert stats .size == 15
1097+
1098+
1099+ @pytest .mark .parametrize ("cloud_type" , ["s3" , "azure" , "gs" ], indirect = True )
1100+ def test_enlist_source_handles_file (cloud_test_catalog ):
1101+ catalog = cloud_test_catalog .catalog
1102+ src_uri = cloud_test_catalog .src_uri
1103+
1104+ catalog .enlist_source (f"{ src_uri } /dogs/dog1" , ttl = 1234 )
1105+ stats = catalog .storage_stats (src_uri )
1106+ assert stats .num_objects == len (DEFAULT_TREE ["dogs" ])
1107+ assert stats .size == 15
1108+
1109+
10711110@pytest .mark .parametrize ("from_cli" , [False , True ])
10721111def test_garbage_collect (cloud_test_catalog , from_cli , capsys ):
10731112 catalog = cloud_test_catalog .catalog
0 commit comments