diff options
| -rw-r--r-- | obsapi/buildapi.py | 3 | ||||
| -rw-r--r-- | test/test_obs_build_api.py | 16 |
2 files changed, 14 insertions, 5 deletions
diff --git a/obsapi/buildapi.py b/obsapi/buildapi.py index 893a213..caa09d0 100644 --- a/obsapi/buildapi.py +++ b/obsapi/buildapi.py @@ -58,7 +58,8 @@ class ObsBuildApi(ObsHttpApi): return self.__get(prj, repo, arch, pkg, '_log') def get_repository(self, prj, repo, arch, binaryname=''): - return self.__get(prj, repo, arch, '_repository', binaryname) + # Important! We call self.get() to handle binary get properly + return self.get(prj, repo, arch, '_repository', binaryname) def put_repository(self, prj, repo, arch, filename, data): return self.__put(prj, repo, arch, '_repository', filename, data=data) diff --git a/test/test_obs_build_api.py b/test/test_obs_build_api.py index 95b8fa3..39b6868 100644 --- a/test/test_obs_build_api.py +++ b/test/test_obs_build_api.py @@ -1,4 +1,5 @@ from obsapi.buildapi import ObsBuildApi +from lxml import etree prj = 'home:sbahling:obsapi:test' pkg = 'suse-hello-1.0' @@ -115,10 +116,17 @@ def test_build_get_log(): def test_build_get_repository(): xml = buildapi.get_repository(prj, repo, arch) - assert '<binarylist>' in xml + assert '<binarylist' in xml def test_build_get_repository_binary(): - bname = 'suse-hello-kmp-default.rpm' - binary = buildapi.get_repository(prj, repo, arch, bname) - assert len(binary) == 6709 + xml = buildapi.get_repository(prj, repo, arch) + root = etree.fromstring(xml) + entries = root.findall('binary') + assert entries is not None + for entry in entries: + bname = entry.get('filename') + size = entry.get('size') + binary = buildapi.get_repository(prj, repo, arch, bname) + assert binary is not None + assert len(binary) == int(size) |
