28
28
"""
29
29
30
30
import subprocess
31
+ import pathlib
31
32
33
+ import requests
34
+
35
+ from tsdapiclient .fileapi import import_list
36
+ from tsdapiclient .session import session_token
37
+
38
+
39
+ def list_uploaded_files (tenant : str , env : str = "prod" , group : str = "" , folder : str = "" , remote_path = None ):
40
+ token = session_token (env = env , pnum = tenant , token_type = "import" )
41
+ return [i .get ("filename" ) for i in import_list (
42
+ env = env ,
43
+ pnum = tenant ,
44
+ token = token ,
45
+ directory = folder ,
46
+ group = group ,
47
+ remote_path = remote_path ,
48
+ ).get ("files" )]
32
49
33
50
def test_single_file_upload (tenant ):
34
51
result = subprocess .run (["tacl" , tenant , "--upload" , "./test/test_file_1" ])
35
52
assert result .returncode == 0
53
+ # disabled due to issue with listing large import folders
54
+ # uploaded_files = list_uploaded_files(tenant=tenant, group=f"{tenant}-member-group")
55
+ # assert "test_file_1" in uploaded_files
36
56
57
+ def test_single_file_upload_remote_path (tenant ):
58
+ result = subprocess .run (["tacl" , tenant , "--upload" , "./test/test_file_1" , "--remote-path" , "test" ])
59
+ assert result .returncode == 0
60
+ uploaded_files = list_uploaded_files (tenant = tenant , group = f"{ tenant } -member-group" , remote_path = "test" )
61
+ assert "test_file_1" in uploaded_files
37
62
38
63
def test_directory_upload (tenant ):
39
64
result = subprocess .run (["tacl" , tenant , "--upload" , "./test/test_folder_1" ])
40
65
assert result .returncode == 0
66
+ uploaded_files = list_uploaded_files (tenant = tenant , group = f"{ tenant } -member-group" , folder = "test/test_folder_1" )
67
+ assert "test" in uploaded_files
41
68
42
69
43
70
def test_sync_upload (tenant ):
44
71
result = subprocess .run (["tacl" , tenant , "--upload" , "./test/test_folder_1" ])
45
72
result = subprocess .run (["tacl" , tenant , "--upload-sync" , "./test/test_folder_1" ])
46
73
assert result .returncode == 0
74
+ uploaded_files = list_uploaded_files (tenant = tenant , group = f"{ tenant } -member-group" , folder = "test/test_folder_1" )
75
+ assert "test" in uploaded_files
47
76
48
77
49
78
def test_sync_download (tenant ):
@@ -55,3 +84,18 @@ def test_delete_single_file(tenant):
55
84
result = subprocess .run (["tacl" , tenant , "--download-delete" , "./test_folder_3/test" ])
56
85
assert result .returncode == 0
57
86
87
+
88
+ def test_upload_directory_sync_multiple_times (tenant ):
89
+ result = subprocess .run (["tacl" , tenant , "--upload" , "./test/test_folder_1" ])
90
+ assert result .returncode == 0
91
+ uploaded_files = list_uploaded_files (tenant = tenant , group = f"{ tenant } -member-group" , folder = "test/test_folder_1" )
92
+ assert "test" in uploaded_files
93
+ result = subprocess .run (["tacl" , tenant , "--upload-sync" , "./test/test_folder_1" ])
94
+ assert result .returncode == 0
95
+ uploaded_files = list_uploaded_files (tenant = tenant , group = f"{ tenant } -member-group" , folder = "test/test_folder_1" )
96
+ assert "test" in uploaded_files
97
+ result = subprocess .run (["tacl" , tenant , "--upload-sync" , "./test/test_folder_1" ])
98
+ assert result .returncode == 0
99
+ uploaded_files = list_uploaded_files (tenant = tenant , group = f"{ tenant } -member-group" , folder = "test/test_folder_1" )
100
+ assert "test" in uploaded_files
101
+
0 commit comments