fix require_release_jobs_for_repo use of messages object
Change-Id: I9a701fb6d57943f701d81c6d5203590ce003ec32 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
@@ -119,7 +119,7 @@ _RELEASE_JOBS_FOR_TYPE = {
|
||||
|
||||
|
||||
def require_release_jobs_for_repo(deliv, zuul_projects, repo,
|
||||
release_type, mk_warning, mk_error):
|
||||
release_type, messages):
|
||||
"""Check the repository for release jobs.
|
||||
|
||||
Returns a list of tuples containing a message and a boolean
|
||||
@@ -140,7 +140,7 @@ def require_release_jobs_for_repo(deliv, zuul_projects, repo,
|
||||
return
|
||||
|
||||
if repo.name not in zuul_projects:
|
||||
mk_error(
|
||||
messages.error(
|
||||
'did not find %s in %s' % (repo.name, ZUUL_PROJECTS_FILENAME),
|
||||
)
|
||||
else:
|
||||
@@ -159,7 +159,7 @@ def require_release_jobs_for_repo(deliv, zuul_projects, repo,
|
||||
if j in expected_jobs
|
||||
]
|
||||
if len(found_jobs) == 0:
|
||||
mk_error(
|
||||
messages.error(
|
||||
'{filename} no release job specified for {repo}, '
|
||||
'one of {expected!r} needs to be included in {existing!r} '
|
||||
'or no release will be '
|
||||
@@ -171,7 +171,7 @@ def require_release_jobs_for_repo(deliv, zuul_projects, repo,
|
||||
),
|
||||
)
|
||||
elif len(found_jobs) > 1:
|
||||
mk_warning(
|
||||
messages.warning(
|
||||
'{filename} multiple release jobs specified for {repo}, '
|
||||
'{existing!r} should include *one* of '
|
||||
'{expected!r}, found {found!r}'.format(
|
||||
@@ -193,7 +193,7 @@ def require_release_jobs_for_repo(deliv, zuul_projects, repo,
|
||||
if j in templates and j not in expected_jobs
|
||||
]
|
||||
if bad_jobs:
|
||||
mk_error(
|
||||
messages.error(
|
||||
'{filename} has unexpected release jobs '
|
||||
'{bad_jobs!r} for release-type {wrong_type} '
|
||||
'but {repo} uses release-type {release_type}'.format(
|
||||
|
||||
@@ -14,12 +14,17 @@
|
||||
|
||||
from oslotest import base
|
||||
|
||||
from openstack_releases.cmds import validate
|
||||
from openstack_releases import deliverable
|
||||
from openstack_releases import project_config
|
||||
|
||||
|
||||
class TestReleaseJobsStandard(base.BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.msg = validate.MessageCollector()
|
||||
|
||||
def test_no_artifact_flag(self):
|
||||
deliv = deliverable.Deliverable(
|
||||
team='team',
|
||||
@@ -37,18 +42,15 @@ class TestReleaseJobsStandard(base.BaseTestCase):
|
||||
)
|
||||
zuul_projects = {
|
||||
}
|
||||
warnings = []
|
||||
errors = []
|
||||
project_config.require_release_jobs_for_repo(
|
||||
deliv,
|
||||
{'validate-projects-by-name': zuul_projects},
|
||||
deliv.repos[0],
|
||||
'std',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
self.msg,
|
||||
)
|
||||
self.assertEqual(0, len(warnings))
|
||||
self.assertEqual(0, len(errors))
|
||||
self.assertEqual(0, len(self.msg.warnings))
|
||||
self.assertEqual(0, len(self.msg.errors))
|
||||
|
||||
def test_retired_flag(self):
|
||||
deliv = deliverable.Deliverable(
|
||||
@@ -67,18 +69,15 @@ class TestReleaseJobsStandard(base.BaseTestCase):
|
||||
)
|
||||
zuul_projects = {
|
||||
}
|
||||
warnings = []
|
||||
errors = []
|
||||
project_config.require_release_jobs_for_repo(
|
||||
deliv,
|
||||
{'validate-projects-by-name': zuul_projects},
|
||||
deliv.repos[0],
|
||||
'std',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
self.msg,
|
||||
)
|
||||
self.assertEqual(0, len(warnings))
|
||||
self.assertEqual(0, len(errors))
|
||||
self.assertEqual(0, len(self.msg.warnings))
|
||||
self.assertEqual(0, len(self.msg.errors))
|
||||
|
||||
def test_no_zuul_projects(self):
|
||||
deliv = deliverable.Deliverable(
|
||||
@@ -93,18 +92,15 @@ class TestReleaseJobsStandard(base.BaseTestCase):
|
||||
)
|
||||
zuul_projects = {
|
||||
}
|
||||
warnings = []
|
||||
errors = []
|
||||
project_config.require_release_jobs_for_repo(
|
||||
deliv,
|
||||
{'validate-projects-by-name': zuul_projects},
|
||||
deliv.repos[0],
|
||||
'std',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
self.msg,
|
||||
)
|
||||
self.assertEqual(0, len(warnings))
|
||||
self.assertEqual(1, len(errors))
|
||||
self.assertEqual(0, len(self.msg.warnings))
|
||||
self.assertEqual(1, len(self.msg.errors))
|
||||
|
||||
def test_one_expected_job(self):
|
||||
deliv = deliverable.Deliverable(
|
||||
@@ -124,19 +120,16 @@ class TestReleaseJobsStandard(base.BaseTestCase):
|
||||
],
|
||||
},
|
||||
}
|
||||
warnings = []
|
||||
errors = []
|
||||
project_config.require_release_jobs_for_repo(
|
||||
deliv,
|
||||
zuul_projects,
|
||||
deliv.repos[0],
|
||||
'python-pypi',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
self.msg,
|
||||
)
|
||||
print(warnings, errors)
|
||||
self.assertEqual(0, len(warnings))
|
||||
self.assertEqual(0, len(errors))
|
||||
self.msg.show_summary()
|
||||
self.assertEqual(0, len(self.msg.warnings))
|
||||
self.assertEqual(0, len(self.msg.errors))
|
||||
|
||||
def test_two_expected_jobs(self):
|
||||
deliv = deliverable.Deliverable(
|
||||
@@ -157,15 +150,12 @@ class TestReleaseJobsStandard(base.BaseTestCase):
|
||||
],
|
||||
}
|
||||
}
|
||||
warnings = []
|
||||
errors = []
|
||||
project_config.require_release_jobs_for_repo(
|
||||
deliv,
|
||||
zuul_projects,
|
||||
deliv.repos[0],
|
||||
'python-pypi',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
self.msg,
|
||||
)
|
||||
self.assertEqual(0, len(warnings))
|
||||
self.assertEqual(1, len(errors))
|
||||
self.assertEqual(0, len(self.msg.warnings))
|
||||
self.assertEqual(1, len(self.msg.errors))
|
||||
|
||||
Reference in New Issue
Block a user