def get_build(self, nvr_dict): """Koji build data for NVR :param dict nvr_dict: NVR dictionary as expected by kobo.rpmlib.make_nvr() :return: Dictionary with Koji build data or None, if build is not found :rtype: dict or None """ nvr_string = rpmlib.make_nvr(nvr_dict) return self._session.getBuild(nvr_string)
def get_rpms_in_container(self, buildinfo): """ Get rpms in a koji container build. buildinfo may be either a int ID, a string NVR, or a map containing 'name', 'version' and 'release. Return a set of rpm NVRs. """ rpms = set() cg_metadata = self.load_cg_metadata(buildinfo) outputs = cg_metadata['output'] for out in outputs: if out['type'] == 'docker-image': components = out['components'] rpms = set([ rpmlib.make_nvr(rpm) for rpm in components if rpm['type'] == 'rpm' ]) return rpms
def test_make_nvr(self): nvr = dict(name="net-snmp", version="5.3.2.2", release="5.el5") self.assertEqual(make_nvr(nvr), "net-snmp-5.3.2.2-5.el5") nvr = dict(name="net-snmp", version="5.3.2.2", release="5.el5") self.assertEqual(make_nvr(nvr), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") # force_epoch overrides add_epoch self.assertEqual(make_nvr(nvr, add_epoch=False, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = None self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = "" self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = "0" self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = 0 self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = 1 self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-1:5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-1:5.3.2.2-5.el5")
def test_make_nvr(self): nvr = dict(name="net-snmp", version="5.3.2.2", release="5.el5") self.assertEqual(make_nvr(nvr), "net-snmp-5.3.2.2-5.el5") nvr = dict(name="net-snmp", version="5.3.2.2", release="5.el5") self.assertEqual(make_nvr(nvr), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") # force_epoch overrides add_epoch self.assertEqual(make_nvr(nvr, add_epoch=False, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = None self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = "" self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = "0" self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = 0 self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-0:5.3.2.2-5.el5") nvr["epoch"] = 1 self.assertEqual(make_nvr(nvr, add_epoch=True), "net-snmp-1:5.3.2.2-5.el5") self.assertEqual(make_nvr(nvr, add_epoch=True, force_epoch=True), "net-snmp-1:5.3.2.2-5.el5")