from obsapi import ObsApi from lxml import etree api = ObsApi(apiurl='https://api.suse.com') prj = 'Test:obsapi' pkg = 'suse-hello-1.0' repo = 'SLE_12' arch = 'x86_64' def test_get_package_meta(): try: response = etree.fromstring(api.get_package_meta(prj=prj, pkg=pkg)) except: response = {} assert response.get('name', None) == 'suse-hello-1.0' def test_ls_prj(): assert api.ls(prj=prj) == ['suse-hello-1.0'] def test_ls_pkg(): files = ['COPYING', 'suse-hello-1.0.tar.bz2', 'suse-hello.changes', 'suse-hello.spec', ] directory, listing = api.ls(prj=prj, pkg=pkg) assert directory.name == 'suse-hello-1.0' items = [i.name for i in listing] for f in files: assert f in items def test_ls_binaries(): files = ['_statistics', 'rpmlint.log', 'suse-hello-1.0-2.1.src.rpm', 'suse-hello-kmp-default-1.0_k3.12.28_4-2.1.x86_64.rpm', ] listing = api.ls(prj=prj, pkg=pkg, repo=repo, arch=arch) items = [i.filename for i in listing] for f in files: assert f in items def test_binaries_ls(): files = ['_statistics', 'rpmlint.log', 'suse-hello-1.0-2.1.src.rpm', 'suse-hello-kmp-default-1.0_k3.12.28_4-2.1.x86_64.rpm', ] listing = api.binaries_ls(prj=prj, pkg=pkg, repo=repo, arch=arch) items = [i.filename for i in listing] for f in files: assert f in items def test_get_vendor(): assert api.get_vendor(prj=prj) == u'Test:obsapi' def test_source_info(): sinfo = api.get_source_info(prj, pkg) assert sinfo.package == 'suse-hello-1.0' assert sinfo.rev == '2' assert sinfo.vrev == '2' assert sinfo.srcmd5 == '7054c47fb2ebde13fc62ee64d0a3b1bc' assert sinfo.verifymd5 == '7054c47fb2ebde13fc62ee64d0a3b1bc' def test_get_binary_fileinfo(): binary = 'suse-hello-kmp-default-1.0_k3.12.28_4-2.1.x86_64.rpm' bfinfo = api.get_binary_fileinfo(prj, pkg, repo, arch, binary) assert bfinfo.filename == binary assert bfinfo.size == '25869' assert bfinfo.mtime == '1429457162' assert bfinfo.arch == 'x86_64' assert bfinfo.version == '1.0_k3.12.28_4' assert bfinfo.release == '2.1' assert bfinfo.summary == 'Sample Kernel Module Package' assert bfinfo.description == 'This package contains the hello.ko module.' assert bfinfo.source == 'suse-hello'