本文整理汇总了Python中bodhi.model.PackageUpdate.assign_id方法的典型用法代码示例。如果您正苦于以下问题:Python PackageUpdate.assign_id方法的具体用法?Python PackageUpdate.assign_id怎么用?Python PackageUpdate.assign_id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bodhi.model.PackageUpdate
的用法示例。
在下文中一共展示了PackageUpdate.assign_id方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_extended_metadata
# 需要导入模块: from bodhi.model import PackageUpdate [as 别名]
# 或者: from bodhi.model.PackageUpdate import assign_id [as 别名]
def test_extended_metadata(self):
# grab the name of a build in updates-testing, and create it in our db
koji = get_session()
builds = koji.listTagged('dist-f13-updates-testing', latest=True)
# Create all of the necessary database entries
release = Release(name='F13', long_name='Fedora 13',
id_prefix='FEDORA', dist_tag='dist-f13')
package = Package(name=builds[0]['package_name'])
update = PackageUpdate(title=builds[0]['nvr'],
release=release,
submitter=builds[0]['owner_name'],
status='testing',
notes='foobar',
type='bugfix')
build = PackageBuild(nvr=builds[0]['nvr'], package=package)
update.addPackageBuild(build)
bug = Bugzilla(bz_id=1)
update.addBugzilla(bug)
cve = CVE(cve_id="CVE-2007-0000")
update.addCVE(cve)
update.assign_id()
print update
## Initialize our temporary repo
temprepo = join(tempfile.mkdtemp('bodhi'), 'f13-updates-testing')
print "Inserting updateinfo into temprepo: %s" % temprepo
mkmetadatadir(join(temprepo, 'i386'))
repodata = join(temprepo, 'i386', 'repodata')
assert exists(join(repodata, 'repomd.xml'))
## Generate the XML
md = ExtendedMetadata(temprepo)
## Insert the updateinfo.xml into the repository
md.insert_updateinfo()
updateinfo = self.__verify_updateinfo(repodata)
## Read an verify the updateinfo.xml.gz
uinfo = UpdateMetadata()
uinfo.add(updateinfo)
notice = uinfo.get_notice(('mutt', '1.5.14', '1.fc13'))
assert not notice
notice = uinfo.get_notice(get_nvr(update.title))
assert notice
assert notice['status'] == update.status
assert notice['updated'] == update.date_modified
assert notice['from'] == str(config.get('bodhi_email'))
assert notice['description'] == update.notes
assert notice['issued'] is not None
assert notice['update_id'] == update.updateid
assert notice['epoch'] is None
cve = notice['references'][0]
assert cve['type'] == 'cve'
assert cve['href'] == update.cves[0].get_url()
assert cve['id'] == update.cves[0].cve_id
bug = notice['references'][1]
assert bug['href'] == update.bugs[0].get_url()
assert bug['id'] == '1'
assert bug['type'] == 'bugzilla'
# FC6's yum update metadata parser doesn't know about some stuff
from yum import __version__
if __version__ >= '3.0.6':
assert notice['title'] == update.title
assert notice['release'] == update.release.long_name
assert cve['title'] is None
## Clean up
shutil.rmtree(temprepo)
示例2: test_extended_metadata_updating_with_old_stable_security
# 需要导入模块: from bodhi.model import PackageUpdate [as 别名]
# 或者: from bodhi.model.PackageUpdate import assign_id [as 别名]
def test_extended_metadata_updating_with_old_stable_security(self):
testutil.capture_log(['bodhi.metadata'])
koji = get_session()
del(koji.__untag__[:])
assert not koji.__untag__, koji.__untag__
builds = koji.listTagged('dist-f7-updates', latest=True)
# Create all of the necessary database entries
release = Release(name='F17', long_name='Fedora 17', id_prefix='FEDORA',
dist_tag='dist-f17')
package = Package(name='TurboGears')
update = PackageUpdate(title='TurboGears-1.0.2.2-2.fc7',
release=release,
submitter=builds[0]['owner_name'],
status='stable',
notes='foobar',
type='security')
build = PackageBuild(nvr='TurboGears-1.0.2.2-2.fc7', package=package)
update.addPackageBuild(build)
update.assign_id()
assert update.updateid
## Initialize our temporary repo
temprepo = join(tempfile.mkdtemp('bodhi'), 'f7-updates')
print "Inserting updateinfo into temprepo: %s" % temprepo
mkmetadatadir(join(temprepo, 'i386'))
repodata = join(temprepo, 'i386', 'repodata')
assert exists(join(repodata, 'repomd.xml'))
## Generate the XML
md = ExtendedMetadata(temprepo)
## Insert the updateinfo.xml into the repository
md.insert_updateinfo()
updateinfo = self.__verify_updateinfo(repodata)
# Create a new non-security update for the same package
newbuild = 'TurboGears-1.0.2.2-3.fc7'
update = PackageUpdate(title=newbuild,
release=release,
submitter=builds[0]['owner_name'],
status='stable',
notes='foobar',
type='enhancement')
build = PackageBuild(nvr=newbuild, package=package)
update.addPackageBuild(build)
update.assign_id()
koji.__untag__.append('TurboGears-1.0.2.2-2.fc7')
## Test out updateinfo.xml updating via our ExtendedMetadata
md = ExtendedMetadata(temprepo, updateinfo)
md.insert_updateinfo()
updateinfo = self.__verify_updateinfo(repodata)
## Read an verify the updateinfo.xml.gz
uinfo = UpdateMetadata()
uinfo.add(updateinfo)
print(testutil.get_log())
assert len(uinfo.get_notices()) == 2, len(uinfo.get_notices())
assert uinfo.get_notice(get_nvr('TurboGears-1.0.2.2-2.fc7'))
notice = uinfo.get_notice(get_nvr(update.title))
assert notice, 'Cannot find update for %r' % get_nvr(update.title)
assert notice['status'] == update.status
assert notice['updated'] == update.date_modified
assert notice['from'] == str(config.get('bodhi_email'))
assert notice['description'] == update.notes
assert notice['issued'] is not None
assert notice['update_id'] == update.updateid
## Clean up
shutil.rmtree(temprepo)
del(koji.__untag__[:])
示例3: test_extended_metadata_updating_with_edited_updates
# 需要导入模块: from bodhi.model import PackageUpdate [as 别名]
# 或者: from bodhi.model.PackageUpdate import assign_id [as 别名]
def test_extended_metadata_updating_with_edited_updates(self):
testutil.capture_log(['bodhi.metadata'])
# grab the name of a build in updates-testing, and create it in our db
koji = get_session()
builds = koji.listTagged('dist-f13-updates-testing', latest=True)
# Create all of the necessary database entries
release = Release(name='F13', long_name='Fedora 13', id_prefix='FEDORA',
dist_tag='dist-f13')
package = Package(name=builds[0]['package_name'])
update = PackageUpdate(title=builds[0]['nvr'],
release=release,
submitter=builds[0]['owner_name'],
status='testing',
notes='foobar',
type='bugfix')
build = PackageBuild(nvr=builds[0]['nvr'], package=package)
update.addPackageBuild(build)
update.assign_id()
## Initialize our temporary repo
temprepo = join(tempfile.mkdtemp('bodhi'), 'f13-updates-testing')
print "Inserting updateinfo into temprepo: %s" % temprepo
mkmetadatadir(join(temprepo, 'i386'))
repodata = join(temprepo, 'i386', 'repodata')
assert exists(join(repodata, 'repomd.xml'))
## Generate the XML
md = ExtendedMetadata(temprepo)
## Insert the updateinfo.xml into the repository
md.insert_updateinfo()
updateinfo = self.__verify_updateinfo(repodata)
## Read an verify the updateinfo.xml.gz
uinfo = UpdateMetadata()
uinfo.add(updateinfo)
notice = uinfo.get_notice(('mutt', '1.5.14', '1.fc13'))
assert not notice
notice = uinfo.get_notice(get_nvr(update.title))
assert notice
assert notice['status'] == update.status
assert notice['updated'] == update.date_modified
assert notice['from'] == str(config.get('bodhi_email'))
assert notice['description'] == update.notes
assert notice['issued'] is not None
assert notice['update_id'] == update.updateid
assert notice['title'] == update.title
assert notice['release'] == update.release.long_name
## Edit the update and bump the build revision
nvr = 'TurboGears-1.0.2.2-3.fc7'
newbuild = PackageBuild(nvr=nvr, package=package)
update.removePackageBuild(build)
update.addPackageBuild(newbuild)
update.title = nvr
update.date_modified = datetime.utcnow()
# Pretend -2 was unpushed
assert len(koji.__untag__) == 0
koji.__untag__.append('TurboGears-1.0.2.2-2.fc7')
## Test out updateinfo.xml updating via our ExtendedMetadata
md = ExtendedMetadata(temprepo, updateinfo)
md.insert_updateinfo()
updateinfo = self.__verify_updateinfo(repodata)
## Read an verify the updateinfo.xml.gz
uinfo = UpdateMetadata()
uinfo.add(updateinfo)
print(testutil.get_log())
notice = uinfo.get_notice(('TurboGears', '1.0.2.2', '2.fc7'))
assert not notice, "Old TG notice did not get pruned: %s" % notice
notice = uinfo.get_notice(('TurboGears', '1.0.2.2', '3.fc7'))
assert notice, uinfo
assert notice['title'] == update.title
num_notices = len(uinfo.get_notices())
assert num_notices == 1, num_notices
## Clean up
shutil.rmtree(temprepo)
del(koji.__untag__[:])