Target E128 - Continuation line under-indented for visual indent
https://www.flake8rules.com/rules/E128.html
This commit is contained in:
parent
27c364b0c9
commit
f38bd3a7ed
2
.flake8
2
.flake8
@ -1,4 +1,4 @@
|
|||||||
[flake8]
|
[flake8]
|
||||||
exclude = abichecker
|
exclude = abichecker
|
||||||
max-line-length = 100
|
max-line-length = 100
|
||||||
ignore = W503,W504,E501,F401,E128
|
ignore = W503,W504,E501,F401
|
||||||
|
16
ReviewBot.py
16
ReviewBot.py
@ -61,7 +61,7 @@ class PackageLookup(object):
|
|||||||
def _load_lookup_file(self, prj):
|
def _load_lookup_file(self, prj):
|
||||||
try:
|
try:
|
||||||
return osc.core.http_GET(osc.core.makeurl(self.apiurl,
|
return osc.core.http_GET(osc.core.makeurl(self.apiurl,
|
||||||
['source', prj, '00Meta', 'lookup.yml']))
|
['source', prj, '00Meta', 'lookup.yml']))
|
||||||
except HTTPError as e:
|
except HTTPError as e:
|
||||||
# in case the project doesn't exist yet (like sle update)
|
# in case the project doesn't exist yet (like sle update)
|
||||||
if e.code != 404:
|
if e.code != 404:
|
||||||
@ -301,9 +301,9 @@ class ReviewBot(object):
|
|||||||
if not self.dryrun:
|
if not self.dryrun:
|
||||||
try:
|
try:
|
||||||
osc.core.change_review_state(apiurl=self.apiurl,
|
osc.core.change_review_state(apiurl=self.apiurl,
|
||||||
reqid=req.reqid, newstate=newstate,
|
reqid=req.reqid, newstate=newstate,
|
||||||
by_group=self.review_group,
|
by_group=self.review_group,
|
||||||
by_user=self.review_user, message=msg)
|
by_user=self.review_user, message=msg)
|
||||||
except HTTPError as e:
|
except HTTPError as e:
|
||||||
if e.code != 403:
|
if e.code != 403:
|
||||||
raise e
|
raise e
|
||||||
@ -912,10 +912,10 @@ class CommandLineInterface(cmdln.Cmdln):
|
|||||||
user = conf.get_apiurl_usr(apiurl)
|
user = conf.get_apiurl_usr(apiurl)
|
||||||
|
|
||||||
return self.clazz(apiurl=apiurl,
|
return self.clazz(apiurl=apiurl,
|
||||||
dryrun=self.options.dry,
|
dryrun=self.options.dry,
|
||||||
user=user,
|
user=user,
|
||||||
group=group,
|
group=group,
|
||||||
logger=self.logger)
|
logger=self.logger)
|
||||||
|
|
||||||
def do_id(self, subcmd, opts, *args):
|
def do_id(self, subcmd, opts, *args):
|
||||||
"""${cmd_name}: check the specified request ids
|
"""${cmd_name}: check the specified request ids
|
||||||
|
@ -134,7 +134,7 @@ class CommandLineInterface(cmdln.Cmdln):
|
|||||||
parser.add_option('--http-full-debug', action='store_true',
|
parser.add_option('--http-full-debug', action='store_true',
|
||||||
help='debug HTTP traffic (filters no headers)')
|
help='debug HTTP traffic (filters no headers)')
|
||||||
parser.add_option('--cache-requests', action='store_true', default=False,
|
parser.add_option('--cache-requests', action='store_true', default=False,
|
||||||
help='cache GET requests. Not recommended for daily use.')
|
help='cache GET requests. Not recommended for daily use.')
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
@ -309,8 +309,8 @@ class CommandLineInterface(ToolBase.CommandLineInterface):
|
|||||||
def get_optparser(self):
|
def get_optparser(self):
|
||||||
parser = ToolBase.CommandLineInterface.get_optparser(self)
|
parser = ToolBase.CommandLineInterface.get_optparser(self)
|
||||||
parser.add_option('-p', '--project', dest='project', metavar='PROJECT',
|
parser.add_option('-p', '--project', dest='project', metavar='PROJECT',
|
||||||
help='project to process (default: %s)' % FACTORY,
|
help='project to process (default: %s)' % FACTORY,
|
||||||
default=FACTORY)
|
default=FACTORY)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
def setup_tool(self):
|
def setup_tool(self):
|
||||||
|
@ -138,10 +138,10 @@ class CommandLineInterface(ToolBase.CommandLineInterface):
|
|||||||
def get_optparser(self):
|
def get_optparser(self):
|
||||||
parser = ToolBase.CommandLineInterface.get_optparser(self)
|
parser = ToolBase.CommandLineInterface.get_optparser(self)
|
||||||
parser.add_option('-p', '--project', dest='project', metavar='PROJECT',
|
parser.add_option('-p', '--project', dest='project', metavar='PROJECT',
|
||||||
help='project to process (default: %s)' % FACTORY,
|
help='project to process (default: %s)' % FACTORY,
|
||||||
default=FACTORY)
|
default=FACTORY)
|
||||||
parser.add_option('--reference-project', metavar='PROJECT',
|
parser.add_option('--reference-project', metavar='PROJECT',
|
||||||
action='append', help='reference project')
|
action='append', help='reference project')
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
def setup_tool(self):
|
def setup_tool(self):
|
||||||
|
@ -53,7 +53,7 @@ maintainer if the package has no explicit maintainer assigned)
|
|||||||
Kind regards,
|
Kind regards,
|
||||||
%(sender)s
|
%(sender)s
|
||||||
""",
|
""",
|
||||||
u"""Dear %(recipient)s,
|
u"""Dear %(recipient)s,
|
||||||
|
|
||||||
Following-up the reminder of one week ago, we have to inform you that
|
Following-up the reminder of one week ago, we have to inform you that
|
||||||
'%(package)s' is still failing in %(project)s. See
|
'%(package)s' is still failing in %(project)s. See
|
||||||
@ -81,8 +81,8 @@ def SendMail(logger, project, sender, to, fullname, subject, text):
|
|||||||
xmailer = '{} - Failure Notification'.format(project)
|
xmailer = '{} - Failure Notification'.format(project)
|
||||||
to = email.utils.formataddr((fullname, to))
|
to = email.utils.formataddr((fullname, to))
|
||||||
mail_send_with_details(sender=sender, to=to,
|
mail_send_with_details(sender=sender, to=to,
|
||||||
subject=subject, text=text, xmailer=xmailer,
|
subject=subject, text=text, xmailer=xmailer,
|
||||||
relay=args.relay, dry=args.dry)
|
relay=args.relay, dry=args.dry)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
logger.error("Failed to send an email to %s (%s)" % (fullname, to))
|
logger.error("Failed to send an email to %s (%s)" % (fullname, to))
|
||||||
@ -103,11 +103,11 @@ def main(args):
|
|||||||
|
|
||||||
logger.debug('loading build fails for %s' % project)
|
logger.debug('loading build fails for %s' % project)
|
||||||
url = osc.core.makeurl(apiurl, ['projects', project, 'status'],
|
url = osc.core.makeurl(apiurl, ['projects', project, 'status'],
|
||||||
{'ignore_pending': True,
|
{'ignore_pending': True,
|
||||||
'limit_to_fails': True,
|
'limit_to_fails': True,
|
||||||
'include_versions': False,
|
'include_versions': False,
|
||||||
'format': 'json'
|
'format': 'json'
|
||||||
})
|
})
|
||||||
json_data = osc.core.http_GET(url)
|
json_data = osc.core.http_GET(url)
|
||||||
data = json.load(json_data)
|
data = json.load(json_data)
|
||||||
json_data.close()
|
json_data.close()
|
||||||
|
@ -39,7 +39,7 @@ class MaintenanceChecker(ReviewBot.ReviewBot):
|
|||||||
self.logger.debug("%s looks wrong as maintainer, skipped", prj)
|
self.logger.debug("%s looks wrong as maintainer, skipped", prj)
|
||||||
continue
|
continue
|
||||||
self.add_review(req, by_project=prj, by_package=pkg,
|
self.add_review(req, by_project=prj, by_package=pkg,
|
||||||
msg='Submission for {} by someone who is not maintainer in the devel project ({}). Please review'.format(pkg, prj))
|
msg='Submission for {} by someone who is not maintainer in the devel project ({}). Please review'.format(pkg, prj))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@memoize(session=True)
|
@memoize(session=True)
|
||||||
|
@ -189,7 +189,7 @@ class CheckSource(ReviewBot.ReviewBot):
|
|||||||
old_info = {'version': None}
|
old_info = {'version': None}
|
||||||
try:
|
try:
|
||||||
CheckSource.checkout_package(self.apiurl, target_project, target_package, pathname=dir,
|
CheckSource.checkout_package(self.apiurl, target_project, target_package, pathname=dir,
|
||||||
server_service_files=True, expand_link=True)
|
server_service_files=True, expand_link=True)
|
||||||
shutil.rmtree(os.path.join(target_package, '.osc'))
|
shutil.rmtree(os.path.join(target_package, '.osc'))
|
||||||
os.rename(target_package, '_old')
|
os.rename(target_package, '_old')
|
||||||
old_info = self.package_source_parse(target_project, target_package)
|
old_info = self.package_source_parse(target_project, target_package)
|
||||||
@ -200,7 +200,7 @@ class CheckSource(ReviewBot.ReviewBot):
|
|||||||
raise e
|
raise e
|
||||||
|
|
||||||
CheckSource.checkout_package(self.apiurl, source_project, source_package, revision=source_revision,
|
CheckSource.checkout_package(self.apiurl, source_project, source_package, revision=source_revision,
|
||||||
pathname=dir, server_service_files=True, expand_link=True)
|
pathname=dir, server_service_files=True, expand_link=True)
|
||||||
os.rename(source_package, target_package)
|
os.rename(source_package, target_package)
|
||||||
shutil.rmtree(os.path.join(target_package, '.osc'))
|
shutil.rmtree(os.path.join(target_package, '.osc'))
|
||||||
|
|
||||||
@ -251,8 +251,8 @@ class CheckSource(ReviewBot.ReviewBot):
|
|||||||
if self.staging_group and self.review_user in group_members(self.apiurl, self.staging_group):
|
if self.staging_group and self.review_user in group_members(self.apiurl, self.staging_group):
|
||||||
if not self.dryrun:
|
if not self.dryrun:
|
||||||
osc.core.change_review_state(self.apiurl, str(self.request.reqid), 'accepted',
|
osc.core.change_review_state(self.apiurl, str(self.request.reqid), 'accepted',
|
||||||
by_group=self.staging_group,
|
by_group=self.staging_group,
|
||||||
message='skipping the staging process since only .changes modifications')
|
message='skipping the staging process since only .changes modifications')
|
||||||
else:
|
else:
|
||||||
self.logger.debug('unable to skip staging review since not a member of staging group')
|
self.logger.debug('unable to skip staging review since not a member of staging group')
|
||||||
elif self.repo_checker is not None:
|
elif self.repo_checker is not None:
|
||||||
@ -353,7 +353,7 @@ class CheckSource(ReviewBot.ReviewBot):
|
|||||||
"""Returns add_role request ID for given source project. Creates that add role if needed."""
|
"""Returns add_role request ID for given source project. Creates that add role if needed."""
|
||||||
try:
|
try:
|
||||||
add_roles = get_request_list(self.apiurl, source_project,
|
add_roles = get_request_list(self.apiurl, source_project,
|
||||||
req_state=['new', 'review'], req_type='add_role')
|
req_state=['new', 'review'], req_type='add_role')
|
||||||
add_roles = list(filter(self.__is_required_maintainer, add_roles))
|
add_roles = list(filter(self.__is_required_maintainer, add_roles))
|
||||||
if len(add_roles) > 0:
|
if len(add_roles) > 0:
|
||||||
return add_roles[0].reqid
|
return add_roles[0].reqid
|
||||||
|
@ -202,7 +202,7 @@ def main(args):
|
|||||||
osc.conf.config['debug'] = args.debug
|
osc.conf.config['debug'] = args.debug
|
||||||
|
|
||||||
uc = CompareList(args.old_prj, args.new_prj, args.verbose, args.newonly,
|
uc = CompareList(args.old_prj, args.new_prj, args.verbose, args.newonly,
|
||||||
args.removedonly, args.existin, args.submit, args.submitfrom, args.submitto, args.submit_limit)
|
args.removedonly, args.existin, args.submit, args.submitfrom, args.submitto, args.submit_limit)
|
||||||
uc.crawl()
|
uc.crawl()
|
||||||
|
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
with app.app_context():
|
with app.app_context():
|
||||||
rendered = render_template('dashboard.html',
|
rendered = render_template('dashboard.html',
|
||||||
projectname=args.project,
|
projectname=args.project,
|
||||||
lastupdate=datetime.now(timezone.utc),
|
lastupdate=datetime.now(timezone.utc),
|
||||||
projects=fetcher.projects)
|
projects=fetcher.projects)
|
||||||
print(rendered)
|
print(rendered)
|
||||||
|
2
dist/ci/smtp/eml-server.py
vendored
2
dist/ci/smtp/eml-server.py
vendored
@ -13,7 +13,7 @@ class EmlServer(SMTPServer):
|
|||||||
|
|
||||||
def process_message(self, peer, mailfrom, rcpttos, data):
|
def process_message(self, peer, mailfrom, rcpttos, data):
|
||||||
filename = '%s-%d.eml' % (datetime.now().strftime('%Y%m%d%H%M%S'),
|
filename = '%s-%d.eml' % (datetime.now().strftime('%Y%m%d%H%M%S'),
|
||||||
self.no)
|
self.no)
|
||||||
f = open(filename, 'w')
|
f = open(filename, 'w')
|
||||||
f.write(data)
|
f.write(data)
|
||||||
f.close
|
f.close
|
||||||
|
@ -194,12 +194,12 @@ class ChangeLogger(cmdln.Cmdln):
|
|||||||
|
|
||||||
f = open(os.path.join(opts.dir, version1), 'rb')
|
f = open(os.path.join(opts.dir, version1), 'rb')
|
||||||
(v, (v1pkgs, v1changelogs)) = pickle.load(f,
|
(v, (v1pkgs, v1changelogs)) = pickle.load(f,
|
||||||
encoding='utf-8', errors='backslashreplace')
|
encoding='utf-8', errors='backslashreplace')
|
||||||
if v != data_version:
|
if v != data_version:
|
||||||
raise Exception("not matching version %s in %s" % (v, version1))
|
raise Exception("not matching version %s in %s" % (v, version1))
|
||||||
f = open(os.path.join(opts.dir, version2), 'rb')
|
f = open(os.path.join(opts.dir, version2), 'rb')
|
||||||
(v, (v2pkgs, v2changelogs)) = pickle.load(f,
|
(v, (v2pkgs, v2changelogs)) = pickle.load(f,
|
||||||
encoding='utf-8', errors='backslashreplace')
|
encoding='utf-8', errors='backslashreplace')
|
||||||
if v != data_version:
|
if v != data_version:
|
||||||
raise Exception("not matching version %s in %s" % (v, version2))
|
raise Exception("not matching version %s in %s" % (v, version2))
|
||||||
|
|
||||||
|
@ -205,11 +205,11 @@ class RequestHandler(BaseHTTPRequestHandler):
|
|||||||
def cookiejar_create(self, cookiejar_file, session):
|
def cookiejar_create(self, cookiejar_file, session):
|
||||||
cookie_jar = LWPCookieJar(cookiejar_file.name)
|
cookie_jar = LWPCookieJar(cookiejar_file.name)
|
||||||
cookie_jar.set_cookie(Cookie(0, self.COOKIE_NAME, session,
|
cookie_jar.set_cookie(Cookie(0, self.COOKIE_NAME, session,
|
||||||
None, False,
|
None, False,
|
||||||
'', False, True,
|
'', False, True,
|
||||||
'/', True,
|
'/', True,
|
||||||
True,
|
True,
|
||||||
None, None, None, None, {}))
|
None, None, None, None, {}))
|
||||||
cookie_jar.save()
|
cookie_jar.save()
|
||||||
cookiejar_file.flush()
|
cookiejar_file.flush()
|
||||||
|
|
||||||
@ -389,11 +389,11 @@ if __name__ == '__main__':
|
|||||||
parser.add_argument('--host', default='', help='host name to which to bind')
|
parser.add_argument('--host', default='', help='host name to which to bind')
|
||||||
parser.add_argument('--port', type=int, default=8080, help='port number to which to bind')
|
parser.add_argument('--port', type=int, default=8080, help='port number to which to bind')
|
||||||
parser.add_argument('-A', '--apiurl',
|
parser.add_argument('-A', '--apiurl',
|
||||||
help='OBS instance API URL to use instead of basing from request origin')
|
help='OBS instance API URL to use instead of basing from request origin')
|
||||||
parser.add_argument('--session',
|
parser.add_argument('--session',
|
||||||
help='session cookie value to use instead of any passed cookie')
|
help='session cookie value to use instead of any passed cookie')
|
||||||
parser.add_argument('-d', '--debug', action='store_true',
|
parser.add_argument('-d', '--debug', action='store_true',
|
||||||
help='print debugging information')
|
help='print debugging information')
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
sys.exit(args.func(args))
|
sys.exit(args.func(args))
|
||||||
|
@ -384,7 +384,7 @@ def do_staging(self, subcmd, opts, *args):
|
|||||||
Config(opts.apiurl, opts.project)
|
Config(opts.apiurl, opts.project)
|
||||||
|
|
||||||
colorama.init(autoreset=True,
|
colorama.init(autoreset=True,
|
||||||
strip=(opts.no_color or not bool(int(conf.config.get('staging.color', True)))))
|
strip=(opts.no_color or not bool(int(conf.config.get('staging.color', True)))))
|
||||||
# Allow colors to be changed.
|
# Allow colors to be changed.
|
||||||
for name in dir(Fore):
|
for name in dir(Fore):
|
||||||
if not name.startswith('_'):
|
if not name.startswith('_'):
|
||||||
|
@ -1188,7 +1188,7 @@ def create_change_devel_request(apiurl, source_project, source_package,
|
|||||||
"""Create a change_devel request"""
|
"""Create a change_devel request"""
|
||||||
|
|
||||||
action = Action('change_devel', src_project=source_project, src_package=source_package,
|
action = Action('change_devel', src_project=source_project, src_package=source_package,
|
||||||
tgt_project=target_project, tgt_package=target_package)
|
tgt_project=target_project, tgt_package=target_package)
|
||||||
return create_request(apiurl, action, message)
|
return create_request(apiurl, action, message)
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,9 +36,9 @@ class CpioFile(object):
|
|||||||
raise Exception("invalid cpio header %s" % self.c_magic)
|
raise Exception("invalid cpio header %s" % self.c_magic)
|
||||||
|
|
||||||
names = ("c_ino", "c_mode", "c_uid", "c_gid",
|
names = ("c_ino", "c_mode", "c_uid", "c_gid",
|
||||||
"c_nlink", "c_mtime", "c_filesize",
|
"c_nlink", "c_mtime", "c_filesize",
|
||||||
"c_devmajor", "c_devminor", "c_rdevmajor",
|
"c_devmajor", "c_devminor", "c_rdevmajor",
|
||||||
"c_rdevminor", "c_namesize", "c_check")
|
"c_rdevminor", "c_namesize", "c_check")
|
||||||
for (n, v) in zip(names, fields[1:]):
|
for (n, v) in zip(names, fields[1:]):
|
||||||
setattr(self, n, int(v, 16))
|
setattr(self, n, int(v, 16))
|
||||||
|
|
||||||
|
@ -103,10 +103,10 @@ class CommandLineInterface(ToolBase.CommandLineInterface):
|
|||||||
self.tool.reset()
|
self.tool.reset()
|
||||||
self.tool.dry_run = self.options.dry
|
self.tool.dry_run = self.options.dry
|
||||||
if self.tool.update_and_solve_target(api, target_project, target_config, main_repo,
|
if self.tool.update_and_solve_target(api, target_project, target_config, main_repo,
|
||||||
project=project, scope=scope, force=opts.force,
|
project=project, scope=scope, force=opts.force,
|
||||||
no_checkout=opts.no_checkout,
|
no_checkout=opts.no_checkout,
|
||||||
only_release_packages=opts.only_release_packages,
|
only_release_packages=opts.only_release_packages,
|
||||||
stop_after_solve=opts.stop_after_solve):
|
stop_after_solve=opts.stop_after_solve):
|
||||||
self.error_occured = True
|
self.error_occured = True
|
||||||
except Exception:
|
except Exception:
|
||||||
# Print exception, but continue to prevent problems effecting one
|
# Print exception, but continue to prevent problems effecting one
|
||||||
|
@ -664,9 +664,9 @@ class PkgListGen(ToolBase.ToolBase):
|
|||||||
if not only_release_packages:
|
if not only_release_packages:
|
||||||
file_utils.unlink_all_except(product_dir)
|
file_utils.unlink_all_except(product_dir)
|
||||||
file_utils.copy_directory_contents(group_dir, product_dir,
|
file_utils.copy_directory_contents(group_dir, product_dir,
|
||||||
['supportstatus.txt', 'groups.yml',
|
['supportstatus.txt', 'groups.yml',
|
||||||
'reference-unsorted.yml', 'reference-summary.yml',
|
'reference-unsorted.yml', 'reference-summary.yml',
|
||||||
'package-groups.changes'])
|
'package-groups.changes'])
|
||||||
file_utils.change_extension(product_dir, '.spec.in', '.spec')
|
file_utils.change_extension(product_dir, '.spec.in', '.spec')
|
||||||
file_utils.change_extension(product_dir, '.product.in', '.product')
|
file_utils.change_extension(product_dir, '.product.in', '.product')
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ class RepoChecker():
|
|||||||
self.store_filename = 'rebuildpacs.{}-{}.yaml'.format(project, repository)
|
self.store_filename = 'rebuildpacs.{}-{}.yaml'.format(project, repository)
|
||||||
if self.store_project and self.store_package:
|
if self.store_project and self.store_package:
|
||||||
state_yaml = source_file_load(self.apiurl, self.store_project, self.store_package,
|
state_yaml = source_file_load(self.apiurl, self.store_project, self.store_package,
|
||||||
self.store_filename)
|
self.store_filename)
|
||||||
if state_yaml:
|
if state_yaml:
|
||||||
oldstate = yaml.safe_load(state_yaml)
|
oldstate = yaml.safe_load(state_yaml)
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ class StagingHelper(object):
|
|||||||
def get_project_binarylist(self, project, repository, arch):
|
def get_project_binarylist(self, project, repository, arch):
|
||||||
query = {'view': 'binaryversions'}
|
query = {'view': 'binaryversions'}
|
||||||
root = ET.parse(http_GET(makeurl(self.apiurl, ['build', project, repository, arch],
|
root = ET.parse(http_GET(makeurl(self.apiurl, ['build', project, repository, arch],
|
||||||
query=query))).getroot()
|
query=query))).getroot()
|
||||||
return root
|
return root
|
||||||
|
|
||||||
def process_project_binarylist(self, project, repository, arch):
|
def process_project_binarylist(self, project, repository, arch):
|
||||||
@ -172,15 +172,15 @@ if __name__ == '__main__':
|
|||||||
parser = argparse.ArgumentParser(description=description)
|
parser = argparse.ArgumentParser(description=description)
|
||||||
parser.add_argument('-A', '--apiurl', metavar='URL', help='API URL')
|
parser.add_argument('-A', '--apiurl', metavar='URL', help='API URL')
|
||||||
parser.add_argument('-d', '--debug', action='store_true',
|
parser.add_argument('-d', '--debug', action='store_true',
|
||||||
help='print info useful for debuging')
|
help='print info useful for debuging')
|
||||||
parser.add_argument('-p', '--project', dest='project', metavar='PROJECT',
|
parser.add_argument('-p', '--project', dest='project', metavar='PROJECT',
|
||||||
help='deafult project (default: %s)' % OPENSUSE,
|
help='deafult project (default: %s)' % OPENSUSE,
|
||||||
default=OPENSUSE)
|
default=OPENSUSE)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
# Set logging configuration
|
# Set logging configuration
|
||||||
logging.basicConfig(level=logging.DEBUG if args.debug
|
logging.basicConfig(level=logging.DEBUG if args.debug
|
||||||
else logging.INFO)
|
else logging.INFO)
|
||||||
|
|
||||||
sys.exit(main(args))
|
sys.exit(main(args))
|
||||||
|
@ -1056,10 +1056,10 @@ class Request(object):
|
|||||||
|
|
||||||
if type == 'submit':
|
if type == 'submit':
|
||||||
self.reqid = osc.core.create_submit_request(APIURL,
|
self.reqid = osc.core.create_submit_request(APIURL,
|
||||||
src_project=source_package.project.name,
|
src_project=source_package.project.name,
|
||||||
src_package=source_package.name,
|
src_package=source_package.name,
|
||||||
dst_project=target_project,
|
dst_project=target_project,
|
||||||
dst_package=target_package)
|
dst_package=target_package)
|
||||||
print('created submit request {}/{} -> {}'.format(
|
print('created submit request {}/{} -> {}'.format(
|
||||||
source_package.project.name, source_package.name, target_project))
|
source_package.project.name, source_package.name, target_project))
|
||||||
elif type == 'delete':
|
elif type == 'delete':
|
||||||
|
@ -135,7 +135,7 @@ class TestApiCalls(OBSLocal.TestCase):
|
|||||||
{'by_project': 'openSUSE:Factory:Staging:B', 'state': 'new'}]
|
{'by_project': 'openSUSE:Factory:Staging:B', 'state': 'new'}]
|
||||||
self.assertEqual(self.winerq.reviews(), reviews)
|
self.assertEqual(self.winerq.reviews(), reviews)
|
||||||
self.assertEqual(self.wf.api.packages_staged,
|
self.assertEqual(self.wf.api.packages_staged,
|
||||||
{'wine': {'prj': 'openSUSE:Factory:Staging:B', 'rq_id': num}})
|
{'wine': {'prj': 'openSUSE:Factory:Staging:B', 'rq_id': num}})
|
||||||
|
|
||||||
def test_create_package_container(self):
|
def test_create_package_container(self):
|
||||||
"""Test if the uploaded _meta is correct."""
|
"""Test if the uploaded _meta is correct."""
|
||||||
|
@ -87,7 +87,7 @@ class TestCheckSource(OBSLocal.TestCase):
|
|||||||
self._setup_devel_project(devel_files='blowfish-with-patch')
|
self._setup_devel_project(devel_files='blowfish-with-patch')
|
||||||
|
|
||||||
req_id = self.wf.create_submit_request(self.devel_package.project,
|
req_id = self.wf.create_submit_request(self.devel_package.project,
|
||||||
self.devel_package.name, add_commit=False).reqid
|
self.devel_package.name, add_commit=False).reqid
|
||||||
|
|
||||||
self.assertReview(req_id, by_user=(self.bot_user, 'new'))
|
self.assertReview(req_id, by_user=(self.bot_user, 'new'))
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ class TestCheckSource(OBSLocal.TestCase):
|
|||||||
self._setup_devel_project()
|
self._setup_devel_project()
|
||||||
|
|
||||||
req_id = self.wf.create_submit_request(self.devel_package.project,
|
req_id = self.wf.create_submit_request(self.devel_package.project,
|
||||||
self.devel_package.name, add_commit=False).reqid
|
self.devel_package.name, add_commit=False).reqid
|
||||||
|
|
||||||
self.assertReview(req_id, by_user=(self.bot_user, 'new'))
|
self.assertReview(req_id, by_user=(self.bot_user, 'new'))
|
||||||
|
|
||||||
@ -120,10 +120,10 @@ class TestCheckSource(OBSLocal.TestCase):
|
|||||||
# switch target and devel, so basically do revert of changes done
|
# switch target and devel, so basically do revert of changes done
|
||||||
# with patch and changes
|
# with patch and changes
|
||||||
self._setup_devel_project(devel_files='blowfish',
|
self._setup_devel_project(devel_files='blowfish',
|
||||||
target_files='blowfish-with-patch-changes')
|
target_files='blowfish-with-patch-changes')
|
||||||
|
|
||||||
req_id = self.wf.create_submit_request(self.devel_package.project,
|
req_id = self.wf.create_submit_request(self.devel_package.project,
|
||||||
self.devel_package.name, add_commit=False).reqid
|
self.devel_package.name, add_commit=False).reqid
|
||||||
|
|
||||||
self.assertReview(req_id, by_user=(self.bot_user, 'new'))
|
self.assertReview(req_id, by_user=(self.bot_user, 'new'))
|
||||||
|
|
||||||
@ -214,7 +214,7 @@ class TestCheckSource(OBSLocal.TestCase):
|
|||||||
self.assertEqual('Created automatically from request %s' % req.reqid, add_role_req.description)
|
self.assertEqual('Created automatically from request %s' % req.reqid, add_role_req.description)
|
||||||
|
|
||||||
def _setup_devel_project(self, maintainer={}, devel_files='blowfish-with-patch-changes',
|
def _setup_devel_project(self, maintainer={}, devel_files='blowfish-with-patch-changes',
|
||||||
target_files='blowfish'):
|
target_files='blowfish'):
|
||||||
devel_project = self.wf.create_project(SRC_PROJECT, maintainer=maintainer)
|
devel_project = self.wf.create_project(SRC_PROJECT, maintainer=maintainer)
|
||||||
self.devel_package = OBSLocal.Package('blowfish', project=devel_project)
|
self.devel_package = OBSLocal.Package('blowfish', project=devel_project)
|
||||||
|
|
||||||
|
@ -186,8 +186,8 @@ Pico text editor while also offering a few enhancements.</description>
|
|||||||
body='<collection matches="0"></collection>')
|
body='<collection matches="0"></collection>')
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/openSUSE:Factory/00Meta/lookup.yml",
|
APIURL + "/source/openSUSE:Factory/00Meta/lookup.yml",
|
||||||
status=404)
|
status=404)
|
||||||
|
|
||||||
result = {'state_accepted': None}
|
result = {'state_accepted': None}
|
||||||
|
|
||||||
|
@ -58,14 +58,14 @@ class TestContainerCleaner(unittest.TestCase):
|
|||||||
def test_nothingToDo(self):
|
def test_nothingToDo(self):
|
||||||
"""Non-empty project, still do nothing"""
|
"""Non-empty project, still do nothing"""
|
||||||
container_arch_map = {"c": ["i586", "x86_64"],
|
container_arch_map = {"c": ["i586", "x86_64"],
|
||||||
"c.01": ["i586"],
|
"c.01": ["i586"],
|
||||||
"c.02": ["x86_64"],
|
"c.02": ["x86_64"],
|
||||||
"c.04": ["i586", "x86_64"],
|
"c.04": ["i586", "x86_64"],
|
||||||
"c.06": ["i586"],
|
"c.06": ["i586"],
|
||||||
"c.07": ["x86_64"],
|
"c.07": ["x86_64"],
|
||||||
"c.08": ["i586", "x86_64"],
|
"c.08": ["i586", "x86_64"],
|
||||||
"c.11": [],
|
"c.11": [],
|
||||||
"d.42": [], "d.43": []}
|
"d.42": [], "d.43": []}
|
||||||
|
|
||||||
to_be_deleted_exp = []
|
to_be_deleted_exp = []
|
||||||
|
|
||||||
@ -74,25 +74,25 @@ class TestContainerCleaner(unittest.TestCase):
|
|||||||
def test_multiplePackages(self):
|
def test_multiplePackages(self):
|
||||||
"""Multiple packages in one project"""
|
"""Multiple packages in one project"""
|
||||||
container_arch_map = {"c": ["i586", "x86_64"],
|
container_arch_map = {"c": ["i586", "x86_64"],
|
||||||
"c.01": ["i586"],
|
"c.01": ["i586"],
|
||||||
"c.02": ["x86_64"],
|
"c.02": ["x86_64"],
|
||||||
"c.03": [],
|
"c.03": [],
|
||||||
"c.04": ["i586", "x86_64"],
|
"c.04": ["i586", "x86_64"],
|
||||||
"c.05": ["i586", "x86_64"],
|
"c.05": ["i586", "x86_64"],
|
||||||
"c.06": ["i586"],
|
"c.06": ["i586"],
|
||||||
"c.07": ["x86_64"],
|
"c.07": ["x86_64"],
|
||||||
"c.08": ["i586", "x86_64"],
|
"c.08": ["i586", "x86_64"],
|
||||||
"c.09": ["i586", "x86_64"],
|
"c.09": ["i586", "x86_64"],
|
||||||
"c.10": ["i586", "x86_64"],
|
"c.10": ["i586", "x86_64"],
|
||||||
"c.11": [],
|
"c.11": [],
|
||||||
"d.42": [], "d.43": [],
|
"d.42": [], "d.43": [],
|
||||||
"e.51": ["i586"],
|
"e.51": ["i586"],
|
||||||
"e.52": ["aarch64"],
|
"e.52": ["aarch64"],
|
||||||
"e.53": ["i586"],
|
"e.53": ["i586"],
|
||||||
"e.54": ["i586"],
|
"e.54": ["i586"],
|
||||||
"e.55": ["i586"],
|
"e.55": ["i586"],
|
||||||
"e.56": ["i586"],
|
"e.56": ["i586"],
|
||||||
"e.57": ["i586"]}
|
"e.57": ["i586"]}
|
||||||
|
|
||||||
to_be_deleted_exp = ["c", "c.01", "c.02", "c.03", "c.04",
|
to_be_deleted_exp = ["c", "c.01", "c.02", "c.03", "c.04",
|
||||||
"e.51"]
|
"e.51"]
|
||||||
@ -103,25 +103,25 @@ class TestContainerCleaner(unittest.TestCase):
|
|||||||
"""Packages using _multbuild.
|
"""Packages using _multbuild.
|
||||||
There is no special handling for _multibuild - It's enough if any flavor has binaries."""
|
There is no special handling for _multibuild - It's enough if any flavor has binaries."""
|
||||||
container_arch_map = {"c:docker": ["i586", "x86_64"],
|
container_arch_map = {"c:docker": ["i586", "x86_64"],
|
||||||
"c.01:docker": ["i586"],
|
"c.01:docker": ["i586"],
|
||||||
"c.02:lxc": ["x86_64"],
|
"c.02:lxc": ["x86_64"],
|
||||||
"c.03:docker": [],
|
"c.03:docker": [],
|
||||||
"c.04": ["i586", "x86_64"],
|
"c.04": ["i586", "x86_64"],
|
||||||
"c.05:docker": ["i586", "x86_64"],
|
"c.05:docker": ["i586", "x86_64"],
|
||||||
"c.06:docker": ["i586"],
|
"c.06:docker": ["i586"],
|
||||||
"c.07:docker": ["x86_64"],
|
"c.07:docker": ["x86_64"],
|
||||||
"c.08:docker": ["i586", "x86_64"],
|
"c.08:docker": ["i586", "x86_64"],
|
||||||
"c.09:docker": ["i586", "x86_64"],
|
"c.09:docker": ["i586", "x86_64"],
|
||||||
"c.10:docker": ["i586", "x86_64"],
|
"c.10:docker": ["i586", "x86_64"],
|
||||||
"c.11:docker": [],
|
"c.11:docker": [],
|
||||||
"d.42:lxc": [], "d.43": [],
|
"d.42:lxc": [], "d.43": [],
|
||||||
"e.51": ["i586"],
|
"e.51": ["i586"],
|
||||||
"e.52": ["aarch64"],
|
"e.52": ["aarch64"],
|
||||||
"e.53": ["i586"],
|
"e.53": ["i586"],
|
||||||
"e.54:docker": ["i586"],
|
"e.54:docker": ["i586"],
|
||||||
"e.55:docker": ["i586"],
|
"e.55:docker": ["i586"],
|
||||||
"e.56": ["i586"],
|
"e.56": ["i586"],
|
||||||
"e.57": ["i586"]}
|
"e.57": ["i586"]}
|
||||||
|
|
||||||
to_be_deleted_exp = ["c", "c.01", "c.02", "c.03", "c.04",
|
to_be_deleted_exp = ["c", "c.01", "c.02", "c.03", "c.04",
|
||||||
"e.51"]
|
"e.51"]
|
||||||
|
@ -35,19 +35,19 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
self.logger.setLevel(logging.DEBUG)
|
self.logger.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
self.checker = FactorySourceChecker(apiurl=APIURL,
|
self.checker = FactorySourceChecker(apiurl=APIURL,
|
||||||
user='factory-source',
|
user='factory-source',
|
||||||
logger=self.logger)
|
logger=self.logger)
|
||||||
self.checker.override_allow = False # Test setup cannot handle.
|
self.checker.override_allow = False # Test setup cannot handle.
|
||||||
|
|
||||||
def test_accept_request(self):
|
def test_accept_request(self):
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/source/openSUSE:Factory/00Meta/lookup.yml',
|
APIURL + '/source/openSUSE:Factory/00Meta/lookup.yml',
|
||||||
status=404)
|
status=404)
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/request/770001",
|
APIURL + "/request/770001",
|
||||||
body="""
|
body="""
|
||||||
<request id="770001" creator="chameleon">
|
<request id="770001" creator="chameleon">
|
||||||
<action type="submit">
|
<action type="submit">
|
||||||
<source project="Base:System" package="timezone" rev="481ecbe0dfc63ece3a1f1b5598f7d96c"/>
|
<source project="Base:System" package="timezone" rev="481ecbe0dfc63ece3a1f1b5598f7d96c"/>
|
||||||
@ -62,9 +62,9 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/Base:System/timezone?view=info&rev=481ecbe0dfc63ece3a1f1b5598f7d96c",
|
APIURL + "/source/Base:System/timezone?view=info&rev=481ecbe0dfc63ece3a1f1b5598f7d96c",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<sourceinfo package="timezone"
|
<sourceinfo package="timezone"
|
||||||
rev="481ecbe0dfc63ece3a1f1b5598f7d96c"
|
rev="481ecbe0dfc63ece3a1f1b5598f7d96c"
|
||||||
srcmd5="481ecbe0dfc63ece3a1f1b5598f7d96c"
|
srcmd5="481ecbe0dfc63ece3a1f1b5598f7d96c"
|
||||||
@ -74,8 +74,8 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/openSUSE:Factory/timezone/_meta",
|
APIURL + "/source/openSUSE:Factory/timezone/_meta",
|
||||||
body="""
|
body="""
|
||||||
<package name="timezone" project="openSUSE:Factory">
|
<package name="timezone" project="openSUSE:Factory">
|
||||||
<title>timezone</title>
|
<title>timezone</title>
|
||||||
<description></description>
|
<description></description>
|
||||||
@ -83,8 +83,8 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/Base:System/timezone/_meta",
|
APIURL + "/source/Base:System/timezone/_meta",
|
||||||
body="""
|
body="""
|
||||||
<package name="timezone" project="Base:System">
|
<package name="timezone" project="Base:System">
|
||||||
<title>timezone</title>
|
<title>timezone</title>
|
||||||
<description></description>
|
<description></description>
|
||||||
@ -92,9 +92,9 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/openSUSE:Factory/timezone?view=info",
|
APIURL + "/source/openSUSE:Factory/timezone?view=info",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<sourceinfo package="timezone"
|
<sourceinfo package="timezone"
|
||||||
rev="89"
|
rev="89"
|
||||||
vrev="1"
|
vrev="1"
|
||||||
@ -105,9 +105,9 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/openSUSE:Factory/timezone/_history?limit=5",
|
APIURL + "/source/openSUSE:Factory/timezone/_history?limit=5",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<sourceinfo package="timezone"
|
<sourceinfo package="timezone"
|
||||||
rev="89"
|
rev="89"
|
||||||
vrev="1"
|
vrev="1"
|
||||||
@ -118,9 +118,9 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/search/request',
|
APIURL + '/search/request',
|
||||||
responses=[
|
responses=[
|
||||||
httpretty.Response(body="""
|
httpretty.Response(body="""
|
||||||
<collection matches="1">
|
<collection matches="1">
|
||||||
<request id="254684" creator="chameleon">
|
<request id="254684" creator="chameleon">
|
||||||
<action type="submit">
|
<action type="submit">
|
||||||
@ -137,7 +137,7 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
</request>
|
</request>
|
||||||
</collection>
|
</collection>
|
||||||
"""),
|
"""),
|
||||||
httpretty.Response(body="""
|
httpretty.Response(body="""
|
||||||
<collection matches="1">
|
<collection matches="1">
|
||||||
<request id="254684" creator="chameleon">
|
<request id="254684" creator="chameleon">
|
||||||
<action type="submit">
|
<action type="submit">
|
||||||
@ -151,7 +151,7 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
</request>
|
</request>
|
||||||
</collection>
|
</collection>
|
||||||
""")
|
""")
|
||||||
])
|
])
|
||||||
|
|
||||||
result = {'status': None}
|
result = {'status': None}
|
||||||
|
|
||||||
@ -164,8 +164,8 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
return (200, headers, '<status code="blah"/>')
|
return (200, headers, '<status code="blah"/>')
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.POST,
|
httpretty.register_uri(httpretty.POST,
|
||||||
APIURL + "/request/770001",
|
APIURL + "/request/770001",
|
||||||
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
||||||
|
|
||||||
# first time request is in in review
|
# first time request is in in review
|
||||||
self.checker.set_request_ids(['770001'])
|
self.checker.set_request_ids(['770001'])
|
||||||
@ -182,9 +182,9 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
def test_source_not_in_factory(self):
|
def test_source_not_in_factory(self):
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/search/request?match=state%2F%40name%3D%27review%27+and+review%5B%40by_user%3D%27factory-source%27+and+%40state%3D%27new%27%5D&withfullhistory=1',
|
APIURL + '/search/request?match=state%2F%40name%3D%27review%27+and+review%5B%40by_user%3D%27factory-source%27+and+%40state%3D%27new%27%5D&withfullhistory=1',
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<collection matches="1">
|
<collection matches="1">
|
||||||
<request id="261411" creator="lnussel">
|
<request id="261411" creator="lnussel">
|
||||||
<action type="maintenance_incident">
|
<action type="maintenance_incident">
|
||||||
@ -215,8 +215,8 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/request/261411",
|
APIURL + "/request/261411",
|
||||||
body="""
|
body="""
|
||||||
<request id="261411" creator="lnussel">
|
<request id="261411" creator="lnussel">
|
||||||
<action type="maintenance_incident">
|
<action type="maintenance_incident">
|
||||||
<source project="home:lnussel:branches:openSUSE:Backports:SLE-12" package="plan" rev="71e76daf2c2e9ddb0b9208f54a14f608"/>
|
<source project="home:lnussel:branches:openSUSE:Backports:SLE-12" package="plan" rev="71e76daf2c2e9ddb0b9208f54a14f608"/>
|
||||||
@ -245,8 +245,8 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/home:lnussel:branches:openSUSE:Backports:SLE-12/plan",
|
APIURL + "/source/home:lnussel:branches:openSUSE:Backports:SLE-12/plan",
|
||||||
body="""
|
body="""
|
||||||
<directory name="plan" rev="1" vrev="1" srcmd5="b4ed19dc30c1b328168bc62a81ec6998">
|
<directory name="plan" rev="1" vrev="1" srcmd5="b4ed19dc30c1b328168bc62a81ec6998">
|
||||||
<linkinfo project="home:lnussel:plan" package="plan" srcmd5="7a2353f73b29dba970702053229542a0" baserev="7a2353f73b29dba970702053229542a0" xsrcmd5="71e76daf2c2e9ddb0b9208f54a14f608" lsrcmd5="b4ed19dc30c1b328168bc62a81ec6998" />
|
<linkinfo project="home:lnussel:plan" package="plan" srcmd5="7a2353f73b29dba970702053229542a0" baserev="7a2353f73b29dba970702053229542a0" xsrcmd5="71e76daf2c2e9ddb0b9208f54a14f608" lsrcmd5="b4ed19dc30c1b328168bc62a81ec6998" />
|
||||||
<entry name="_link" md5="91f81d88456818a18a7332999fb2da18" size="125" mtime="1415807350" />
|
<entry name="_link" md5="91f81d88456818a18a7332999fb2da18" size="125" mtime="1415807350" />
|
||||||
@ -256,21 +256,21 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/openSUSE:Factory/plan/_meta",
|
APIURL + "/source/openSUSE:Factory/plan/_meta",
|
||||||
status=404,
|
status=404,
|
||||||
body="""
|
body="""
|
||||||
<status code="unknown_package">
|
<status code="unknown_package">
|
||||||
<summary>openSUSE:Factory/plan</summary>
|
<summary>openSUSE:Factory/plan</summary>
|
||||||
</status>
|
</status>
|
||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/source/openSUSE:Factory/00Meta/lookup.yml',
|
APIURL + '/source/openSUSE:Factory/00Meta/lookup.yml',
|
||||||
status=404)
|
status=404)
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/search/request',
|
APIURL + '/search/request',
|
||||||
body="""
|
body="""
|
||||||
<collection matches="0">
|
<collection matches="0">
|
||||||
</collection>
|
</collection>
|
||||||
""")
|
""")
|
||||||
@ -284,8 +284,8 @@ class TestFactorySourceAccept(OBSLocal.TestCase):
|
|||||||
return (200, headers, '<status code="ok"/>')
|
return (200, headers, '<status code="ok"/>')
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.POST,
|
httpretty.register_uri(httpretty.POST,
|
||||||
APIURL + "/request/261411",
|
APIURL + "/request/261411",
|
||||||
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
||||||
|
|
||||||
self.checker.requests = []
|
self.checker.requests = []
|
||||||
self.checker.set_request_ids_search_review()
|
self.checker.set_request_ids_search_review()
|
||||||
|
@ -27,8 +27,8 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
self.logger.setLevel(logging.DEBUG)
|
self.logger.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
self.checker = MaintenanceChecker(apiurl=APIURL,
|
self.checker = MaintenanceChecker(apiurl=APIURL,
|
||||||
user='maintbot',
|
user='maintbot',
|
||||||
logger=self.logger)
|
logger=self.logger)
|
||||||
self.checker.override_allow = False # Test setup cannot handle.
|
self.checker.override_allow = False # Test setup cannot handle.
|
||||||
|
|
||||||
def test_non_maintainer_submit(self):
|
def test_non_maintainer_submit(self):
|
||||||
@ -36,8 +36,8 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/search/request',
|
APIURL + '/search/request',
|
||||||
body="""
|
body="""
|
||||||
<collection matches="1">
|
<collection matches="1">
|
||||||
<request id="261355" creator="brassh">
|
<request id="261355" creator="brassh">
|
||||||
<action type="maintenance_incident">
|
<action type="maintenance_incident">
|
||||||
@ -63,9 +63,9 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/request/261355",
|
APIURL + "/request/261355",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<request id="261355" creator="brassh">
|
<request id="261355" creator="brassh">
|
||||||
<action type="maintenance_incident">
|
<action type="maintenance_incident">
|
||||||
<source project="home:brassh" package="mysql-workbench" rev="857c77d2ba1d347b6dc50a1e5bcb74e1"/>
|
<source project="home:brassh" package="mysql-workbench" rev="857c77d2ba1d347b6dc50a1e5bcb74e1"/>
|
||||||
@ -89,9 +89,9 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/home:brassh/mysql-workbench",
|
APIURL + "/source/home:brassh/mysql-workbench",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<directory name="mysql-workbench" rev="6" vrev="6" srcmd5="858204decf53f923d5574dbe6ae63b15">
|
<directory name="mysql-workbench" rev="6" vrev="6" srcmd5="858204decf53f923d5574dbe6ae63b15">
|
||||||
<linkinfo project="openSUSE:13.2" package="mysql-workbench" srcmd5="ed9c3b12388cbd14868eb3faabe34685" baserev="ed9c3b12388cbd14868eb3faabe34685" xsrcmd5="08bfb4f40cb1e2de8f9cd4633bf02eb1" lsrcmd5="858204decf53f923d5574dbe6ae63b15" />
|
<linkinfo project="openSUSE:13.2" package="mysql-workbench" srcmd5="ed9c3b12388cbd14868eb3faabe34685" baserev="ed9c3b12388cbd14868eb3faabe34685" xsrcmd5="08bfb4f40cb1e2de8f9cd4633bf02eb1" lsrcmd5="858204decf53f923d5574dbe6ae63b15" />
|
||||||
<serviceinfo code="succeeded" xsrcmd5="6ec4305a8e5363e26a7f4895a0ae12d2" />
|
<serviceinfo code="succeeded" xsrcmd5="6ec4305a8e5363e26a7f4895a0ae12d2" />
|
||||||
@ -117,20 +117,20 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
return (200, headers, '<status code="ok"/>')
|
return (200, headers, '<status code="ok"/>')
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.POST,
|
httpretty.register_uri(httpretty.POST,
|
||||||
APIURL + "/request/261355",
|
APIURL + "/request/261355",
|
||||||
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/search/owner?project=openSUSE:13.2:Update&binary=mysql-workbench",
|
APIURL + "/search/owner?project=openSUSE:13.2:Update&binary=mysql-workbench",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<collection/>
|
<collection/>
|
||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/search/owner?binary=mysql-workbench",
|
APIURL + "/search/owner?binary=mysql-workbench",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<collection>
|
<collection>
|
||||||
<owner rootproject="openSUSE" project="server:database" package="mysql-workbench">
|
<owner rootproject="openSUSE" project="server:database" package="mysql-workbench">
|
||||||
<person name="Gankov" role="maintainer"/>
|
<person name="Gankov" role="maintainer"/>
|
||||||
@ -148,8 +148,8 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
def test_non_maintainer_double_review(self):
|
def test_non_maintainer_double_review(self):
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/search/request',
|
APIURL + '/search/request',
|
||||||
body="""
|
body="""
|
||||||
<collection matches="1">
|
<collection matches="1">
|
||||||
<request id="261355" creator="brassh">
|
<request id="261355" creator="brassh">
|
||||||
<action type="maintenance_incident">
|
<action type="maintenance_incident">
|
||||||
@ -178,9 +178,9 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/request/261355",
|
APIURL + "/request/261355",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<request id="261355" creator="brassh">
|
<request id="261355" creator="brassh">
|
||||||
<action type="maintenance_incident">
|
<action type="maintenance_incident">
|
||||||
<source project="home:brassh" package="mysql-workbench" rev="857c77d2ba1d347b6dc50a1e5bcb74e1"/>
|
<source project="home:brassh" package="mysql-workbench" rev="857c77d2ba1d347b6dc50a1e5bcb74e1"/>
|
||||||
@ -207,9 +207,9 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/home:brassh/mysql-workbench",
|
APIURL + "/source/home:brassh/mysql-workbench",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<directory name="mysql-workbench" rev="6" vrev="6" srcmd5="858204decf53f923d5574dbe6ae63b15">
|
<directory name="mysql-workbench" rev="6" vrev="6" srcmd5="858204decf53f923d5574dbe6ae63b15">
|
||||||
<linkinfo project="openSUSE:13.2" package="mysql-workbench" srcmd5="ed9c3b12388cbd14868eb3faabe34685" baserev="ed9c3b12388cbd14868eb3faabe34685" xsrcmd5="08bfb4f40cb1e2de8f9cd4633bf02eb1" lsrcmd5="858204decf53f923d5574dbe6ae63b15" />
|
<linkinfo project="openSUSE:13.2" package="mysql-workbench" srcmd5="ed9c3b12388cbd14868eb3faabe34685" baserev="ed9c3b12388cbd14868eb3faabe34685" xsrcmd5="08bfb4f40cb1e2de8f9cd4633bf02eb1" lsrcmd5="858204decf53f923d5574dbe6ae63b15" />
|
||||||
<serviceinfo code="succeeded" xsrcmd5="6ec4305a8e5363e26a7f4895a0ae12d2" />
|
<serviceinfo code="succeeded" xsrcmd5="6ec4305a8e5363e26a7f4895a0ae12d2" />
|
||||||
@ -235,20 +235,20 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
return (200, headers, '<status code="ok"/>')
|
return (200, headers, '<status code="ok"/>')
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.POST,
|
httpretty.register_uri(httpretty.POST,
|
||||||
APIURL + "/request/261355",
|
APIURL + "/request/261355",
|
||||||
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/search/owner?project=openSUSE:13.2:Update&binary=mysql-workbench",
|
APIURL + "/search/owner?project=openSUSE:13.2:Update&binary=mysql-workbench",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<collection/>
|
<collection/>
|
||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/search/owner?binary=mysql-workbench",
|
APIURL + "/search/owner?binary=mysql-workbench",
|
||||||
match_querystring=True,
|
match_querystring=True,
|
||||||
body="""
|
body="""
|
||||||
<collection>
|
<collection>
|
||||||
<owner rootproject="openSUSE" project="server:database" package="mysql-workbench">
|
<owner rootproject="openSUSE" project="server:database" package="mysql-workbench">
|
||||||
<person name="Gankov" role="maintainer"/>
|
<person name="Gankov" role="maintainer"/>
|
||||||
@ -266,8 +266,8 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
def test_backports_submit(self):
|
def test_backports_submit(self):
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/search/request',
|
APIURL + '/search/request',
|
||||||
body="""
|
body="""
|
||||||
<collection matches="1">
|
<collection matches="1">
|
||||||
<request id="261411" creator="lnussel">
|
<request id="261411" creator="lnussel">
|
||||||
<action type="maintenance_incident">
|
<action type="maintenance_incident">
|
||||||
@ -288,8 +288,8 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/request/261411",
|
APIURL + "/request/261411",
|
||||||
body="""
|
body="""
|
||||||
<request id="261411" creator="lnussel">
|
<request id="261411" creator="lnussel">
|
||||||
<action type="maintenance_incident">
|
<action type="maintenance_incident">
|
||||||
<source project="home:lnussel:branches:openSUSE:Backports:SLE-12" package="plan" rev="71e76daf2c2e9ddb0b9208f54a14f608"/>
|
<source project="home:lnussel:branches:openSUSE:Backports:SLE-12" package="plan" rev="71e76daf2c2e9ddb0b9208f54a14f608"/>
|
||||||
@ -308,8 +308,8 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + "/source/home:lnussel:branches:openSUSE:Backports:SLE-12/plan",
|
APIURL + "/source/home:lnussel:branches:openSUSE:Backports:SLE-12/plan",
|
||||||
body="""
|
body="""
|
||||||
<directory name="plan" rev="1" vrev="1" srcmd5="b4ed19dc30c1b328168bc62a81ec6998">
|
<directory name="plan" rev="1" vrev="1" srcmd5="b4ed19dc30c1b328168bc62a81ec6998">
|
||||||
<linkinfo project="home:lnussel:plan" package="plan" srcmd5="7a2353f73b29dba970702053229542a0" baserev="7a2353f73b29dba970702053229542a0" xsrcmd5="71e76daf2c2e9ddb0b9208f54a14f608" lsrcmd5="b4ed19dc30c1b328168bc62a81ec6998" />
|
<linkinfo project="home:lnussel:plan" package="plan" srcmd5="7a2353f73b29dba970702053229542a0" baserev="7a2353f73b29dba970702053229542a0" xsrcmd5="71e76daf2c2e9ddb0b9208f54a14f608" lsrcmd5="b4ed19dc30c1b328168bc62a81ec6998" />
|
||||||
<entry name="_link" md5="91f81d88456818a18a7332999fb2da18" size="125" mtime="1415807350" />
|
<entry name="_link" md5="91f81d88456818a18a7332999fb2da18" size="125" mtime="1415807350" />
|
||||||
@ -319,8 +319,8 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.GET,
|
httpretty.register_uri(httpretty.GET,
|
||||||
APIURL + '/search/owner',
|
APIURL + '/search/owner',
|
||||||
body="""
|
body="""
|
||||||
<collection/>
|
<collection/>
|
||||||
""")
|
""")
|
||||||
|
|
||||||
@ -333,8 +333,8 @@ class TestMaintenance(OBSLocal.TestCase):
|
|||||||
return (200, headers, '<status code="ok"/>')
|
return (200, headers, '<status code="ok"/>')
|
||||||
|
|
||||||
httpretty.register_uri(httpretty.POST,
|
httpretty.register_uri(httpretty.POST,
|
||||||
APIURL + "/request/261411",
|
APIURL + "/request/261411",
|
||||||
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
body=lambda method, uri, headers: change_request(result, method, uri, headers))
|
||||||
|
|
||||||
self.checker.requests = []
|
self.checker.requests = []
|
||||||
self.checker.set_request_ids_search_review()
|
self.checker.set_request_ids_search_review()
|
||||||
|
@ -111,7 +111,7 @@ class TestSelect(OBSLocal.TestCase):
|
|||||||
SupersedeCommand(self.wf.api).perform()
|
SupersedeCommand(self.wf.api).perform()
|
||||||
|
|
||||||
self.assertEqual(rq1.reviews(), [{'state': 'accepted', 'by_group': 'factory-staging'}, {'state': 'accepted', 'by_project': 'openSUSE:Factory:Staging:A'},
|
self.assertEqual(rq1.reviews(), [{'state': 'accepted', 'by_group': 'factory-staging'}, {'state': 'accepted', 'by_project': 'openSUSE:Factory:Staging:A'},
|
||||||
{'state': 'declined', 'by_group': 'factory-staging'}])
|
{'state': 'declined', 'by_group': 'factory-staging'}])
|
||||||
self.assertEqual(rq2.reviews(), [{'state': 'accepted', 'by_group': 'factory-staging'}, {'state': 'new', 'by_project': 'openSUSE:Factory:Staging:A'}])
|
self.assertEqual(rq2.reviews(), [{'state': 'accepted', 'by_group': 'factory-staging'}, {'state': 'new', 'by_project': 'openSUSE:Factory:Staging:A'}])
|
||||||
|
|
||||||
def test_delete_multibuild_package(self):
|
def test_delete_multibuild_package(self):
|
||||||
|
@ -175,10 +175,10 @@ class ToTestManager(ToolBase.ToolBase):
|
|||||||
continue
|
continue
|
||||||
if repo.get('dirty') == 'true':
|
if repo.get('dirty') == 'true':
|
||||||
self.logger.info('%s %s %s -> %s' % (repo.get('project'),
|
self.logger.info('%s %s %s -> %s' % (repo.get('project'),
|
||||||
repo.get('repository'), repo.get('arch'), 'dirty'))
|
repo.get('repository'), repo.get('arch'), 'dirty'))
|
||||||
ready = False
|
ready = False
|
||||||
if repo.get('code') not in codes:
|
if repo.get('code') not in codes:
|
||||||
self.logger.info('%s %s %s -> %s' % (repo.get('project'),
|
self.logger.info('%s %s %s -> %s' % (repo.get('project'),
|
||||||
repo.get('repository'), repo.get('arch'), repo.get('code')))
|
repo.get('repository'), repo.get('arch'), repo.get('code')))
|
||||||
ready = False
|
ready = False
|
||||||
return ready
|
return ready
|
||||||
|
@ -300,4 +300,4 @@ class ToTestPublisher(ToTestManager):
|
|||||||
if self.project.totest_images_repo != self.project.product_repo:
|
if self.project.totest_images_repo != self.project.product_repo:
|
||||||
self.logger.info('Publish test project content (image_products)')
|
self.logger.info('Publish test project content (image_products)')
|
||||||
self.api.switch_flag_in_prj(self.project.test_project, flag='publish', state='enable',
|
self.api.switch_flag_in_prj(self.project.test_project, flag='publish', state='enable',
|
||||||
repository=self.project.totest_images_repo)
|
repository=self.project.totest_images_repo)
|
||||||
|
@ -310,6 +310,6 @@ class ToTestReleaser(ToTestManager):
|
|||||||
|
|
||||||
if self.project.totest_images_repo != self.project.product_repo:
|
if self.project.totest_images_repo != self.project.product_repo:
|
||||||
self.api.switch_flag_in_prj(self.project.test_project, flag='publish', state='disable',
|
self.api.switch_flag_in_prj(self.project.test_project, flag='publish', state='disable',
|
||||||
repository=self.project.totest_images_repo)
|
repository=self.project.totest_images_repo)
|
||||||
|
|
||||||
self._release(set_release=release)
|
self._release(set_release=release)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user