16
16
from test_object_storage_sync_download import parse_dry_run_result , \
17
17
generate_random_string , create_new_objects_remote , create_new_files_local , cleanup_files_from_local
18
18
from tests import util
19
+ import services .object_storage .tests .common .util as object_storage_util
19
20
20
21
OBJECTS_TO_CREATE_IN_REMOTE_FOR_SYNC = 20
21
22
30
31
'' : []
31
32
}
32
33
34
+ new_path = 'new_path'
35
+ new_files_set = 'new_files_set'
36
+ new_dir = 'new_dir'
37
+
33
38
34
39
@pytest .fixture (params = [False ])
35
40
def debug (request ):
@@ -86,6 +91,14 @@ def teardown(debug):
86
91
sync_upload_bucket_name , '--force' ], debug = debug )
87
92
88
93
94
+ @pytest .fixture ()
95
+ def cleanup_new_content_set ():
96
+ data = {new_files_set : {}, new_dir : '' }
97
+ yield data
98
+ cleanup_files_from_local (data [new_files_set ])
99
+ object_storage_util .remove_dir_at_path (data [new_dir ])
100
+
101
+
89
102
@util .skip_while_rerecording
90
103
def test_sync_src_dry_run (object_storage_client , debug ):
91
104
"""
@@ -162,7 +175,7 @@ def test_sync_src_updated_objects(object_storage_client):
162
175
163
176
164
177
@util .skip_while_rerecording
165
- def test_sync_src_new_objects (object_storage_client ):
178
+ def test_sync_src_new_objects (object_storage_client , cleanup_new_content_set ):
166
179
"""
167
180
1. Upload the files to remote and validate the output and file contents
168
181
2. Create a new file in local
@@ -176,6 +189,7 @@ def test_sync_src_new_objects(object_storage_client):
176
189
new_object_name = 'a/new_object'
177
190
new_file_contents = {new_object_name : bulk_operation .generate_random_string (bulk_operation .CONTENT_STRING_LENGTH )}
178
191
new_file_path = os .path .join (sync_upload_test_dir , new_object_name )
192
+ cleanup_new_content_set [new_files_set ] = {new_file_path }
179
193
with open (new_file_path , 'w' ) as fh :
180
194
fh .write (new_file_contents [new_object_name ])
181
195
@@ -425,7 +439,7 @@ def test_sync_src_with_delete_paging(object_storage_client, debug):
425
439
426
440
427
441
@util .skip_while_rerecording
428
- def test_sync_src_with_delete_and_include (object_storage_client ):
442
+ def test_sync_src_with_delete_and_include (object_storage_client , cleanup_new_content_set ):
429
443
"""
430
444
1. Create new set of objects in local with .pdf and .doc extensions.
431
445
2. Perform a dry run with --delete to include only *.pdf and validate that only .pdf files are transferred.
@@ -439,6 +453,8 @@ def test_sync_src_with_delete_and_include(object_storage_client):
439
453
440
454
l_file_set_1 = create_new_files_local (sync_upload_test_dir , 3 , extension = 'pdf' )
441
455
l_file_set_2 = create_new_files_local (sync_upload_test_dir , 5 , extension = 'doc' )
456
+ cleanup_new_content_set [new_files_set ] = l_file_set_1 .union (l_file_set_2 )
457
+ cleanup_new_content_set [new_dir ] = os .path .join (sync_upload_test_dir , 'dir' )
442
458
443
459
result = bulk_operation .invoke (['os' , 'object' , 'sync' , '--namespace' , util .NAMESPACE , '--bucket-name' ,
444
460
sync_upload_bucket_name , '--src-dir' , sync_upload_test_dir , '--delete' ,
@@ -479,11 +495,9 @@ def test_sync_src_with_delete_and_include(object_storage_client):
479
495
assert parsed_result ['skipped-objects' ] == []
480
496
assert set (parsed_result ['deleted-objects' ]) == r_obj_set_1
481
497
482
- cleanup_files_from_local (l_file_set_1 .union (l_file_set_2 ))
483
-
484
498
485
499
@util .skip_while_rerecording
486
- def test_sync_src_with_delete_and_exclude (object_storage_client , debug ):
500
+ def test_sync_src_with_delete_and_exclude (object_storage_client , debug , cleanup_new_content_set ):
487
501
"""
488
502
1. Create new set of objects in local with .pdf and .doc extensions.
489
503
2. Perform a dry run with --delete to exclude only *.pdf and validate that all other files are transferred.
@@ -497,6 +511,8 @@ def test_sync_src_with_delete_and_exclude(object_storage_client, debug):
497
511
498
512
l_file_set_1 = create_new_files_local (sync_upload_test_dir , 3 , extension = 'pdf' )
499
513
l_file_set_2 = create_new_files_local (sync_upload_test_dir , 5 , extension = 'doc' )
514
+ cleanup_new_content_set [new_files_set ] = l_file_set_1 .union (l_file_set_2 )
515
+ cleanup_new_content_set [new_dir ] = os .path .join (sync_upload_test_dir , 'dir' )
500
516
501
517
result = bulk_operation .invoke (['os' , 'object' , 'sync' , '--namespace' , util .NAMESPACE , '--bucket-name' ,
502
518
sync_upload_bucket_name , '--src-dir' , sync_upload_test_dir , '--delete' ,
@@ -537,8 +553,6 @@ def test_sync_src_with_delete_and_exclude(object_storage_client, debug):
537
553
assert parsed_result ['skipped-objects' ] == []
538
554
assert set (parsed_result ['deleted-objects' ]) == r_obj_set_2
539
555
540
- cleanup_files_from_local (l_file_set_1 .union (l_file_set_2 ))
541
-
542
556
543
557
@util .skip_while_rerecording
544
558
def test_sync_src_with_delete_and_prefix (object_storage_client , debug ):
@@ -601,7 +615,7 @@ def test_sync_src_with_delete_and_prefix(object_storage_client, debug):
601
615
602
616
603
617
@util .skip_while_rerecording
604
- def test_sync_src_with_delete_include_and_prefix (object_storage_client , debug ):
618
+ def test_sync_src_with_delete_include_and_prefix (object_storage_client , debug , cleanup_new_content_set ):
605
619
"""
606
620
Assert that scope of file transfer and delete is only limited to --include pattern within the bucket prefix
607
621
@@ -621,6 +635,8 @@ def test_sync_src_with_delete_include_and_prefix(object_storage_client, debug):
621
635
622
636
l_file_set_1 = create_new_files_local (sync_upload_test_dir , 6 , extension = 'pdf' )
623
637
l_file_set_2 = create_new_files_local (sync_upload_test_dir , 4 , extension = 'doc' )
638
+ cleanup_new_content_set [new_files_set ] = l_file_set_1 .union (l_file_set_2 )
639
+ cleanup_new_content_set [new_dir ] = os .path .join (sync_upload_test_dir , 'dir' )
624
640
625
641
result = bulk_operation .invoke (['os' , 'object' , 'sync' , '--namespace' , util .NAMESPACE , '--bucket-name' ,
626
642
sync_upload_bucket_name , '--src-dir' , sync_upload_test_dir , '--prefix' ,
@@ -663,11 +679,10 @@ def test_sync_src_with_delete_include_and_prefix(object_storage_client, debug):
663
679
assert set (parsed_result ['uploaded-objects' ]) == set ([(os .path .join (_prefix , f [len (sync_upload_test_dir ):].replace (os .sep , '/' ).strip ('/' ))) for f in l_file_set_1 .union (l_file_set_2 )])
664
680
assert parsed_result ['skipped-objects' ] == []
665
681
assert set (parsed_result ['deleted-objects' ]) == r_obj_set_1
666
- cleanup_files_from_local (l_file_set_1 .union (l_file_set_2 ))
667
682
668
683
669
684
@util .skip_while_rerecording
670
- def test_sync_src_with_delete_exclude_and_prefix (object_storage_client , debug ):
685
+ def test_sync_src_with_delete_exclude_and_prefix (object_storage_client , debug , cleanup_new_content_set ):
671
686
"""
672
687
Assert that scope of file transfer and delete is only limited to --exclude pattern within the bucket prefix
673
688
@@ -686,6 +701,8 @@ def test_sync_src_with_delete_exclude_and_prefix(object_storage_client, debug):
686
701
_prefix = 'upload_prefix_exclude_delete/'
687
702
l_file_set_1 = create_new_files_local (sync_upload_test_dir , 6 , extension = 'pdf' )
688
703
l_file_set_2 = create_new_files_local (sync_upload_test_dir , 4 , extension = 'doc' )
704
+ cleanup_new_content_set [new_files_set ] = l_file_set_1 .union (l_file_set_2 )
705
+ cleanup_new_content_set [new_dir ] = os .path .join (sync_upload_test_dir , 'dir' )
689
706
690
707
result = bulk_operation .invoke (['os' , 'object' , 'sync' , '--namespace' , util .NAMESPACE , '--bucket-name' ,
691
708
sync_upload_bucket_name , '--src-dir' , sync_upload_test_dir , '--prefix' ,
@@ -728,7 +745,6 @@ def test_sync_src_with_delete_exclude_and_prefix(object_storage_client, debug):
728
745
assert set (parsed_result ['uploaded-objects' ]) == set ([(os .path .join (_prefix , o ).replace (os .sep , '/' )) for o in sync_local_object_content .keys ()])
729
746
assert parsed_result ['skipped-objects' ] == []
730
747
assert set (parsed_result ['deleted-objects' ]) == r_obj_set_2
731
- cleanup_files_from_local (l_file_set_1 .union (l_file_set_2 ))
732
748
733
749
734
750
@util .skip_while_rerecording
0 commit comments