@@ -1223,6 +1223,47 @@ def test_dir_marker(gcs):
12231223 assert out2 ["type" ] == "directory"
12241224
12251225
1226+ def test_dir_marker_directory_not_listed (gcs ):
1227+ gcs .touch (f"{ TEST_BUCKET } /psudodir/" )
1228+ gcs .touch (f"{ TEST_BUCKET } /psudodir/innerfolder/innerfile" )
1229+ gcs .invalidate_cache ()
1230+ info = gcs .info (f"{ TEST_BUCKET } /psudodir" )
1231+ assert info ["type" ] == "directory"
1232+
1233+
1234+ def test_dir_marker_directory_listed (gcs ):
1235+ gcs .touch (f"{ TEST_BUCKET } /psudodir/" )
1236+ gcs .touch (f"{ TEST_BUCKET } /psudodir/innerfolder/innerfile" )
1237+ gcs .invalidate_cache ()
1238+ gcs .ls (f"{ TEST_BUCKET } /psudodir" )
1239+ info = gcs .info (f"{ TEST_BUCKET } /psudodir" )
1240+ assert info ["type" ] == "directory"
1241+
1242+
1243+ def test_dir_marker_parent_directory_listed (gcs ):
1244+ gcs .touch (f"{ TEST_BUCKET } /parent_psudodir/psudodir/" )
1245+ gcs .touch (f"{ TEST_BUCKET } /parent_psudodir/psudodir/innerfolder/innerfile" )
1246+ gcs .invalidate_cache ()
1247+ gcs .ls (f"{ TEST_BUCKET } /parent_psudodir" )
1248+ info = gcs .info (f"{ TEST_BUCKET } /parent_psudodir/psudodir" )
1249+ assert info ["type" ] == "directory"
1250+
1251+
1252+ def test_dir_marker_info_eq_ls (gcs ):
1253+ gcs .touch (f"{ TEST_BUCKET } /psudodir/" )
1254+ gcs .invalidate_cache ()
1255+ out1 = gcs .info (f"{ TEST_BUCKET } /psudodir" )
1256+ out2 = gcs .ls (f"{ TEST_BUCKET } /psudodir" , detail = True )[0 ]
1257+ assert out1 ["type" ] == "directory"
1258+ assert out1 == out2
1259+
1260+ gcs .invalidate_cache ()
1261+ out3 = gcs .ls (f"{ TEST_BUCKET } /psudodir" , detail = True )[0 ]
1262+ out4 = gcs .info (f"{ TEST_BUCKET } /psudodir" )
1263+ assert out3 ["type" ] == "directory"
1264+ assert out3 == out4
1265+
1266+
12261267def test_mkdir_with_path (gcs ):
12271268 with pytest .raises (FileNotFoundError ):
12281269 gcs .mkdir (f"{ TEST_BUCKET + 'new' } /path" , create_parents = False )
0 commit comments