@@ -225,10 +225,9 @@ def test_create_remote_project_from_local(mc):
225
225
assert project_info ["namespace" ] == API_USER
226
226
assert project_info ["id" ] == source_mp .project_id ()
227
227
228
- versions = mc .project_versions (project )
229
- assert len (versions ) == 1
230
- assert versions [0 ]["name" ] == "v1"
231
- assert any (f for f in versions [0 ]["changes" ]["added" ] if f ["path" ] == "test.qgs" )
228
+ version = mc .project_version_info (project_info .get ("id" ), "v1" )
229
+ assert version ["name" ] == "v1"
230
+ assert any (f for f in version ["changes" ]["added" ] if f ["path" ] == "test.qgs" )
232
231
233
232
# check we can fully download remote project
234
233
mc .download_project (project , download_dir )
@@ -306,13 +305,9 @@ def test_push_pull_changes(mc):
306
305
assert generate_checksum (os .path .join (project_dir , f_updated )) == f_remote_checksum
307
306
assert project_info ["id" ] == mp .project_id ()
308
307
assert len (project_info ["files" ]) == len (mp .inspect_files ())
309
- project_versions = mc .project_versions (project )
310
- assert len (project_versions ) == 2
311
- f_change = next (
312
- (f for f in project_versions [- 1 ]["changes" ]["updated" ] if f ["path" ] == f_updated ),
313
- None ,
314
- )
315
- assert "origin_checksum" not in f_change # internal client info
308
+ project_version = mc .project_version_info (project_info ["id" ], "v2" )
309
+ updated_file = [f for f in project_version ["changes" ]["updated" ] if f ["path" ] == f_updated ][0 ]
310
+ assert "origin_checksum" not in updated_file # internal client info
316
311
317
312
# test parallel changes
318
313
with open (os .path .join (project_dir_2 , f_updated ), "w" ) as f :
@@ -2019,7 +2014,7 @@ def test_report(mc):
2019
2014
]
2020
2015
)
2021
2016
assert headers in content
2022
- assert "base.gpkg,simple,test_plugin " in content
2017
+ assert f "base.gpkg,simple,{ API_USER } " in content
2023
2018
assert "v3,update,,,2" in content
2024
2019
# files not edited are not in reports
2025
2020
assert "inserted_1_A.gpkg" not in content
@@ -2164,7 +2159,7 @@ def test_version_info(mc):
2164
2159
project = API_USER + "/" + test_project
2165
2160
project_dir = os .path .join (TMP_DIR , test_project ) # primary project dir
2166
2161
test_gpkg = "test.gpkg"
2167
- file_path = os .path .join (project_dir , "test.gpkg" )
2162
+ file_path = os .path .join (project_dir , test_gpkg )
2168
2163
2169
2164
cleanup (mc , project , [project_dir ])
2170
2165
@@ -2177,8 +2172,8 @@ def test_version_info(mc):
2177
2172
2178
2173
shutil .copy (os .path .join (TEST_DATA_DIR , "inserted_1_A_mod.gpkg" ), file_path )
2179
2174
mc .push_project (project_dir )
2180
-
2181
- info = mc .project_version_info (project , 2 )[ 0 ]
2175
+ project_info = mc . project_info ( project )
2176
+ info = mc .project_version_info (project_info . get ( "id" ), "v2" )
2182
2177
assert info ["namespace" ] == API_USER
2183
2178
assert info ["project_name" ] == test_project
2184
2179
assert info ["name" ] == "v2"
@@ -2345,9 +2340,14 @@ def test_project_metadata(mc):
2345
2340
2346
2341
# copy metadata in old format
2347
2342
os .makedirs (os .path .join (project_dir , ".mergin" ), exist_ok = True )
2348
- project_metadata = os .path .join (project_dir , ".mergin" , "mergin.json" )
2349
2343
metadata_file = os .path .join (project_dir , "old_metadata.json" )
2350
- shutil .copyfile (metadata_file , project_metadata )
2344
+ # rewrite metadata nemespace to prevent failing tests with other user than test_plugin
2345
+ with open (metadata_file , "r" ) as f :
2346
+ metadata = json .load (f )
2347
+ metadata ["name" ] = f"{ API_USER } /{ test_project } "
2348
+ project_metadata_file = os .path .join (project_dir , ".mergin" , "mergin.json" )
2349
+ with open (project_metadata_file , "w" ) as f :
2350
+ json .dump (metadata , f , indent = 2 )
2351
2351
2352
2352
# verify we have correct metadata
2353
2353
mp = MerginProject (project_dir )
@@ -2358,7 +2358,12 @@ def test_project_metadata(mc):
2358
2358
2359
2359
# copy metadata in new format
2360
2360
metadata_file = os .path .join (project_dir , "new_metadata.json" )
2361
- shutil .copyfile (metadata_file , project_metadata )
2361
+ # rewrite metadata nemespace to prevent failing tests with other user than test_plugin
2362
+ with open (metadata_file , "r" ) as f :
2363
+ metadata = json .load (f )
2364
+ metadata ["namespace" ] = API_USER
2365
+ with open (project_metadata_file , "w" ) as f :
2366
+ json .dump (metadata , f , indent = 2 )
2362
2367
2363
2368
# verify we have correct metadata
2364
2369
mp = MerginProject (project_dir )
@@ -2634,15 +2639,14 @@ def test_editor_push(mc: MerginClient, mc2: MerginClient):
2634
2639
2635
2640
def test_error_push_already_named_project (mc : MerginClient ):
2636
2641
test_project = "test_push_already_existing"
2637
- project = API_USER + "/" + test_project
2638
2642
project_dir = os .path .join (TMP_DIR , test_project )
2639
2643
2640
2644
with pytest .raises (ClientError ) as e :
2641
2645
mc .create_project_and_push (test_project , project_dir )
2642
2646
assert e .value .detail == "Project with the same name already exists"
2643
2647
assert e .value .http_error == 409
2644
2648
assert e .value .http_method == "POST"
2645
- assert e .value .url == f"{ mc .url } v1/project/test_plugin "
2649
+ assert e .value .url == f"{ mc .url } v1/project/{ API_USER } "
2646
2650
2647
2651
2648
2652
def test_error_projects_limit_hit (mcStorage : MerginClient ):
0 commit comments