@@ -225,10 +225,9 @@ def test_create_remote_project_from_local(mc):
225225 assert project_info ["namespace" ] == API_USER
226226 assert project_info ["id" ] == source_mp .project_id ()
227227
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" )
232231
233232 # check we can fully download remote project
234233 mc .download_project (project , download_dir )
@@ -306,13 +305,9 @@ def test_push_pull_changes(mc):
306305 assert generate_checksum (os .path .join (project_dir , f_updated )) == f_remote_checksum
307306 assert project_info ["id" ] == mp .project_id ()
308307 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
316311
317312 # test parallel changes
318313 with open (os .path .join (project_dir_2 , f_updated ), "w" ) as f :
@@ -2019,7 +2014,7 @@ def test_report(mc):
20192014 ]
20202015 )
20212016 assert headers in content
2022- assert "base.gpkg,simple,test_plugin " in content
2017+ assert f "base.gpkg,simple,{ API_USER } " in content
20232018 assert "v3,update,,,2" in content
20242019 # files not edited are not in reports
20252020 assert "inserted_1_A.gpkg" not in content
@@ -2164,7 +2159,7 @@ def test_version_info(mc):
21642159 project = API_USER + "/" + test_project
21652160 project_dir = os .path .join (TMP_DIR , test_project ) # primary project dir
21662161 test_gpkg = "test.gpkg"
2167- file_path = os .path .join (project_dir , "test.gpkg" )
2162+ file_path = os .path .join (project_dir , test_gpkg )
21682163
21692164 cleanup (mc , project , [project_dir ])
21702165
@@ -2177,8 +2172,8 @@ def test_version_info(mc):
21772172
21782173 shutil .copy (os .path .join (TEST_DATA_DIR , "inserted_1_A_mod.gpkg" ), file_path )
21792174 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" )
21822177 assert info ["namespace" ] == API_USER
21832178 assert info ["project_name" ] == test_project
21842179 assert info ["name" ] == "v2"
@@ -2345,9 +2340,14 @@ def test_project_metadata(mc):
23452340
23462341 # copy metadata in old format
23472342 os .makedirs (os .path .join (project_dir , ".mergin" ), exist_ok = True )
2348- project_metadata = os .path .join (project_dir , ".mergin" , "mergin.json" )
23492343 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 )
23512351
23522352 # verify we have correct metadata
23532353 mp = MerginProject (project_dir )
@@ -2358,7 +2358,12 @@ def test_project_metadata(mc):
23582358
23592359 # copy metadata in new format
23602360 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 )
23622367
23632368 # verify we have correct metadata
23642369 mp = MerginProject (project_dir )
@@ -2634,15 +2639,14 @@ def test_editor_push(mc: MerginClient, mc2: MerginClient):
26342639
26352640def test_error_push_already_named_project (mc : MerginClient ):
26362641 test_project = "test_push_already_existing"
2637- project = API_USER + "/" + test_project
26382642 project_dir = os .path .join (TMP_DIR , test_project )
26392643
26402644 with pytest .raises (ClientError ) as e :
26412645 mc .create_project_and_push (test_project , project_dir )
26422646 assert e .value .detail == "Project with the same name already exists"
26432647 assert e .value .http_error == 409
26442648 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 } "
26462650
26472651
26482652def test_error_projects_limit_hit (mcStorage : MerginClient ):
0 commit comments