@@ -81,21 +81,52 @@ def __init__(self, admin_api_interactor: ShedApiInteractor, api_interactor: Shed
81
81
self ._admin_api_interactor = admin_api_interactor
82
82
self ._api_interactor = api_interactor
83
83
84
- def setup_test_data_repo (self , test_data_path : str ) -> Repository :
85
- prefix = test_data_path .replace ("_" , "" )
86
- category_id = self .new_category (prefix = prefix ).id
87
- repository = self .new_repository (category_id , prefix = prefix )
88
- repository_id = repository .id
84
+ def setup_bismark_repo (self , repository_id : HasRepositoryId , end : Optional [int ] = None ):
85
+ self .setup_test_data_repo_by_id ("bismark" , repository_id , assert_ok = False , end = end )
86
+
87
+ def setup_test_data_repo_by_id (
88
+ self ,
89
+ test_data_path : str ,
90
+ repository_id : Optional [HasRepositoryId ] = None ,
91
+ assert_ok = True ,
92
+ start : int = 0 ,
93
+ end : Optional [int ] = None ,
94
+ ) -> HasRepositoryId :
95
+ if repository_id is None :
96
+ prefix = test_data_path .replace ("_" , "" )
97
+ category_id = self .new_category (prefix = prefix ).id
98
+ repository = self .new_repository (category_id , prefix = prefix )
99
+ repository_id = repository .id
100
+
89
101
assert repository_id
90
102
91
103
for index , repo_tar in enumerate (repo_tars (test_data_path )):
104
+ if index < start :
105
+ continue
106
+
107
+ if end and index >= end :
108
+ break
109
+
92
110
commit_message = f"Updating { test_data_path } with index { index } with tar { repo_tar } "
93
- response = self .upload_revision (
94
- repository_id ,
95
- repo_tar ,
96
- commit_message = commit_message ,
97
- )
98
- assert response .is_ok
111
+ response = self .upload_revision_raw (repository_id , repo_tar , commit_message )
112
+ if assert_ok :
113
+ api_asserts .assert_status_code_is_ok (response )
114
+ assert RepositoryUpdate (__root__ = response .json ()).is_ok
115
+ return repository_id
116
+
117
+ def setup_test_data_repo (
118
+ self ,
119
+ test_data_path : str ,
120
+ repository : Optional [Repository ] = None ,
121
+ assert_ok = True ,
122
+ start : int = 0 ,
123
+ end : Optional [int ] = None ,
124
+ ) -> Repository :
125
+ if repository is None :
126
+ prefix = test_data_path .replace ("_" , "" )
127
+ category_id = self .new_category (prefix = prefix ).id
128
+ repository = self .new_repository (category_id , prefix = prefix )
129
+ self .setup_test_data_repo_by_id (test_data_path , repository , assert_ok = assert_ok , start = start , end = end )
99
130
return repository
100
131
101
132
def setup_column_maker_repo (self , prefix = DEFAULT_PREFIX ) -> Repository :
@@ -152,7 +183,7 @@ def upload_revision_raw(
152
183
def upload_revision (
153
184
self , repository : HasRepositoryId , path : Traversable , commit_message : str = DEFAULT_COMMIT_MESSAGE
154
185
):
155
- response = self .upload_revision_raw (repository , path , commit_message )
186
+ response = self .upload_revision_raw (repository , path , commit_message = commit_message )
156
187
if response .status_code != 200 :
157
188
response_json = None
158
189
err_msg = None
0 commit comments