def test_task_package_names_are_case_sensitive(self): test_package_name = '/distribution/beaker/dummy_for_bz681143' # There is a pre-existing TaskPackage in all lowercase... with session.begin(): TaskPackage.lazy_create(package=u'opencryptoki') # But the task we are uploading has RunFor: openCryptoki, # with uppercase C sel = self.selenium sel.open('') sel.click('link=New Task') sel.wait_for_page_to_load('30000') sel.type('task_task_rpm', pkg_resources.resource_filename(self.__module__, 'tmp-distribution-beaker-dummy_for_bz681143-1.0-1.noarch.rpm')) sel.click('//input[@value="Submit Data"]') sel.wait_for_page_to_load('30000') self.assert_task_upload_flash_OK(test_package_name) sel.type('simplesearch', test_package_name) sel.click('search') sel.wait_for_page_to_load('30000') sel.click('link=%s' % test_package_name) sel.wait_for_page_to_load('30009') # Should have openCryptoki in correct case: self.assertEqual(self.get_task_info_field('Run For'), 'openCryptoki')
def test_task_package_names_are_case_sensitive(self): test_package_name = '/distribution/beaker/dummy_for_bz681143' # There is a pre-existing TaskPackage in all lowercase... with session.begin(): TaskPackage.lazy_create(package=u'opencryptoki') # But the task we are uploading has RunFor: openCryptoki, # with uppercase C b = self.browser b.get(get_server_base() + 'tasks/new') b.find_element_by_id('task_task_rpm').send_keys( pkg_resources.resource_filename( 'bkr.inttest.server', 'task-rpms/tmp-distribution-beaker-dummy_for_bz681143-1.0-1.noarch.rpm' )) b.find_element_by_xpath('//button[text()="Upload"]').click() self.addCleanup( unlink_ignore, os.path.join( turbogears.config.get('basepath.rpms'), 'tmp-distribution-beaker-dummy_for_bz681143-1.0-1.noarch.rpm')) self.assert_task_upload_flash_OK(test_package_name) b.find_element_by_name('simplesearch').send_keys(test_package_name) b.find_element_by_id('simpleform').submit() b.find_element_by_link_text(test_package_name).click() # Should have openCryptoki in correct case: self.assertEqual(self.get_task_info_field('Run For'), 'openCryptoki')
def create_task(name=None, exclude_arch=None, exclude_osmajor=None, version=u'1.0-1', uploader=None, owner=None, priority=u'Manual', valid=None, path=None, description=None, requires=None, runfor=None, type=None): if name is None: name = unique_name(u'/distribution/test_task_%s') if path is None: path = u'/mnt/tests/%s' % name if description is None: description = unique_name(u'description%s') if uploader is None: uploader = create_user(user_name=u'task-uploader%s' % name.replace('/', '-')) if owner is None: owner = u'*****@*****.**' % name.replace('/', '-') if valid is None: valid = True rpm = u'example%s-%s.noarch.rpm' % (name.replace('/', '-'), version) task = Task.lazy_create(name=name) task.rpm = rpm task.version = version task.uploader = uploader task.owner = owner task.priority = priority task.valid = valid task.path = path task.description = description task.avg_time = 1200 if type: for t in type: task.types.append(TaskType.lazy_create(type=t)) if exclude_arch: for arch in exclude_arch: task.excluded_arch.append( TaskExcludeArch(arch_id=Arch.by_name(arch).id)) if exclude_osmajor: for osmajor in exclude_osmajor: task.excluded_osmajor.append( TaskExcludeOSMajor(osmajor=OSMajor.lazy_create( osmajor=osmajor))) if requires: for require in requires: tp = TaskPackage.lazy_create(package=require) task.required.append(tp) if runfor: for run in runfor: task.runfor.append(TaskPackage.lazy_create(package=run)) return task
def create_task(name=None, exclude_arches=None, exclusive_arches=None, exclude_osmajors=None, exclusive_osmajors=None, version=u'1.0-1', uploader=None, owner=None, priority=u'Manual', valid=None, path=None, description=None, requires=None, runfor=None, type=None, avg_time=1200): if name is None: name = unique_name(u'/distribution/test_task_%s') if path is None: path = u'/mnt/tests/%s' % name if description is None: description = unique_name(u'description%s') if uploader is None: uploader = create_user(user_name=u'task-uploader%s' % name.replace('/', '-')) if owner is None: owner = u'*****@*****.**' % name.replace('/', '-') if valid is None: valid = True rpm = u'example%s-%s.noarch.rpm' % (name.replace('/', '-'), version) task = Task(name=name) task.rpm = rpm task.version = version task.uploader = uploader task.owner = owner task.priority = priority task.valid = valid task.path = path task.description = description task.avg_time = avg_time task.license = u'GPLv99+' if type: for t in type: task.types.append(TaskType.lazy_create(type=t)) if exclude_arches: for arch in exclude_arches: task.excluded_arches.append(Arch.by_name(arch)) if exclusive_arches: for arch in exclusive_arches: task.exclusive_arches.append(Arch.by_name(arch)) if exclude_osmajors: for osmajor in exclude_osmajors: task.excluded_osmajors.append(OSMajor.lazy_create(osmajor=osmajor)) if exclusive_osmajors: for osmajor in exclusive_osmajors: task.exclusive_osmajors.append(OSMajor.lazy_create(osmajor=osmajor)) if requires: for require in requires: tp = TaskPackage.lazy_create(package=require) task.required.append(tp) if runfor: for run in runfor: task.runfor.append(TaskPackage.lazy_create(package=run)) session.add(task) session.flush() log.debug('Created task %s', task.name) return task
def test_task_package_names_are_case_sensitive(self): test_package_name = '/distribution/beaker/dummy_for_bz681143' # There is a pre-existing TaskPackage in all lowercase... with session.begin(): TaskPackage.lazy_create(package=u'opencryptoki') # But the task we are uploading has RunFor: openCryptoki, # with uppercase C b = self.browser b.get(get_server_base() + 'tasks/new') b.find_element_by_id('task_task_rpm').send_keys( pkg_resources.resource_filename('bkr.inttest.server', 'task-rpms/tmp-distribution-beaker-dummy_for_bz681143-1.0-1.noarch.rpm')) b.find_element_by_xpath('//button[text()="Upload"]').click() self.assert_task_upload_task_header(test_package_name) # Should have openCryptoki in correct case: self.assertEqual(self.get_task_info_field('Run For'), 'openCryptoki')
def create_task(name=None, exclude_arch=None, exclude_osmajor=None, version=u'1.0-1', uploader=None, owner=None, priority=u'Manual', valid=None, path=None, description=None, requires=None, runfor=None, type=None): if name is None: name = unique_name(u'/distribution/test_task_%s') if path is None: path = u'/mnt/tests/%s' % name if description is None: description = unique_name(u'description%s') if uploader is None: uploader = create_user(user_name=u'task-uploader%s' % name.replace('/', '-')) if owner is None: owner = u'*****@*****.**' % name.replace('/', '-') if valid is None: valid = True rpm = u'example%s-%s.noarch.rpm' % (name.replace('/', '-'), version) task = Task.lazy_create(name=name) task.rpm = rpm task.version = version task.uploader = uploader task.owner = owner task.priority = priority task.valid = valid task.path = path task.description = description if type: for t in type: task.types.append(TaskType.lazy_create(type=t)) if exclude_arch: for arch in exclude_arch: task.excluded_arch.append(TaskExcludeArch(arch_id=Arch.by_name(arch).id)) if exclude_osmajor: for osmajor in exclude_osmajor: task.excluded_osmajor.append(TaskExcludeOSMajor(osmajor=OSMajor.lazy_create(osmajor=osmajor))) if requires: for require in requires: tp = TaskPackage.lazy_create(package=require) task.required.append(tp) if runfor: for run in runfor: task.runfor.append(TaskPackage.lazy_create(package=run)) return task
recipe.ks_meta = xmlrecipe.ks_meta recipe.kernel_options = xmlrecipe.kernel_options recipe.kernel_options_post = xmlrecipe.kernel_options_post # try parsing install options to make sure there is no syntax error try: InstallOptions.from_strings(recipe.ks_meta, recipe.kernel_options, recipe.kernel_options_post) except Exception as e: raise BX(_('Error parsing ks_meta: %s' % e)) recipe.role = xmlrecipe.role if xmlrecipe.reservesys: recipe.reservation_request = RecipeReservationRequest( xmlrecipe.reservesys.duration) custom_packages = set() for xmlpackage in xmlrecipe.packages(): package = TaskPackage.lazy_create(package='%s' % xmlpackage.name) custom_packages.add(package) for installPackage in xmlrecipe.installPackages(): package = TaskPackage.lazy_create(package='%s' % installPackage) custom_packages.add(package) recipe.custom_packages = list(custom_packages) for xmlrepo in xmlrecipe.iter_repos(): recipe.repos.append(RecipeRepo(name=xmlrepo.name, url=xmlrepo.url)) for xmlksappend in xmlrecipe.iter_ksappends(): recipe.ks_appends.append(RecipeKSAppend(ks_append=xmlksappend)) xmltasks = [] invalid_tasks = [] for xmltask in xmlrecipe.iter_tasks(): if hasattr(xmltask, 'fetch'): # If fetch URL is given, the task doesn't need to exist. xmltasks.append(xmltask)
# try evaluating the host_requires, to make sure it's valid recipe.distro_tree.systems_filter(user, recipe.host_requires) except StandardError, e: raise BX(_('Error in hostRequires: %s' % e)) recipe.whiteboard = xmlrecipe.whiteboard or None #'' -> NULL for DB recipe.kickstart = xmlrecipe.kickstart if xmlrecipe.autopick: recipe.autopick_random = xmlrecipe.autopick.random if xmlrecipe.watchdog: recipe.panic = xmlrecipe.watchdog.panic recipe.ks_meta = xmlrecipe.ks_meta recipe.kernel_options = xmlrecipe.kernel_options recipe.kernel_options_post = xmlrecipe.kernel_options_post recipe.role = xmlrecipe.role for xmlpackage in xmlrecipe.packages(): package = TaskPackage.lazy_create(package='%s' % xmlpackage.name) recipe.custom_packages.append(package) for installPackage in xmlrecipe.installPackages(): package = TaskPackage.lazy_create(package='%s' % installPackage) recipe.custom_packages.append(package) for xmlrepo in xmlrecipe.iter_repos(): recipe.repos.append(RecipeRepo(name=xmlrepo.name, url=xmlrepo.url)) for xmlksappend in xmlrecipe.iter_ksappends(): recipe.ks_appends.append(RecipeKSAppend(ks_append=xmlksappend)) xmltasks = [] invalid_tasks = [] for xmltask in xmlrecipe.iter_tasks(): if hasattr(xmltask, 'fetch'): # If fetch URL is given, the task doesn't need to exist. xmltasks.append(xmltask) elif Task.exists_by_name(xmltask.name, valid=True):