Skip to content

Commit d76b002

Browse files
varmar05wonder-sk
authored andcommitted
Add support for endpoint to get projects by names
1 parent f8f4a29 commit d76b002

File tree

3 files changed

+101
-100
lines changed

3 files changed

+101
-100
lines changed

Pipfile.lock

Lines changed: 73 additions & 100 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mergin/client.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,3 +492,13 @@ def project_file_changeset_info(self, project_path, file_path, version):
492492
params = {'path': file_path}
493493
resp = self.get("/v1/resource/changesets/{}/{}".format(project_path, version), params)
494494
return json.load(resp)
495+
496+
def get_projects_by_names(self, projects):
497+
""" Returns JSON with simplified projects' info for list of required projects
498+
499+
:param projects: list of projects in the form 'namespace/project_name'
500+
:type projects: List[String]
501+
"""
502+
503+
resp = self.post("/v1/project/by_names", {"projects": projects}, {"Content-Type": "application/json"})
504+
return json.load(resp)

mergin/test/test_client.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,3 +644,21 @@ def _generate_big_file(filepath, size):
644644
"""
645645
with open(filepath, 'wb') as fout:
646646
fout.write(b"\0" * size)
647+
648+
649+
def test_get_projects_by_name(mc):
650+
""" Test server 'bulk' endpoint for projects' info"""
651+
test_projects = {
652+
"projectA": f"{API_USER}/projectA",
653+
"projectB": f"{API_USER}/projectB"
654+
}
655+
656+
for name, full_name in test_projects.items():
657+
cleanup(mc, full_name, [])
658+
mc.create_project(name)
659+
660+
resp = mc.get_projects_by_names(list(test_projects.values()))
661+
for name, full_name in test_projects.items():
662+
assert full_name in resp
663+
assert resp[full_name]["name"] == name
664+
assert resp[full_name]["version"] == 'v0'

0 commit comments

Comments
 (0)