use deliverable model object to validate the team name
Also rely on the schema validation to require a team setting at all. Change-Id: I7e49a5ab717fc44d190e99bba28caa63ee54ae33 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
439c896c6b
commit
1e9eab181a
@ -243,14 +243,13 @@ def validate_bugtracker(deliv, messages):
|
||||
messages.error('No launchpad or storyboard project given')
|
||||
|
||||
|
||||
def validate_team(deliverable_info, team_data, messages):
|
||||
def validate_team(deliv, team_data, messages):
|
||||
"Look for the team name"
|
||||
header('Validate Team')
|
||||
if 'team' not in deliverable_info:
|
||||
messages.error('No team name given')
|
||||
elif deliverable_info['team'] not in team_data:
|
||||
if deliv.team not in team_data:
|
||||
messages.warning('Team %r not in governance data' %
|
||||
deliverable_info['team'])
|
||||
deliv.team)
|
||||
LOG.debug('owned by team {}'.format(deliv.team))
|
||||
|
||||
|
||||
def validate_release_notes(deliverable_info, messages):
|
||||
@ -1330,7 +1329,7 @@ def main():
|
||||
)
|
||||
clone_deliverable(deliv, workdir, messages)
|
||||
validate_bugtracker(deliv, messages)
|
||||
validate_team(deliverable_info, team_data, messages)
|
||||
validate_team(deliv, team_data, messages)
|
||||
validate_release_notes(deliverable_info, messages)
|
||||
validate_type(deliverable_info, messages)
|
||||
validate_model(deliverable_info, series_name, messages)
|
||||
|
@ -221,7 +221,7 @@ class Deliverable(object):
|
||||
def __init__(self, team, series, name, data):
|
||||
self.team = team
|
||||
if self.team is None:
|
||||
self.team = data['team']
|
||||
self.team = data.get('team')
|
||||
self.series = series
|
||||
self.name = name
|
||||
self._data = data
|
||||
|
@ -6,6 +6,9 @@ $id: "http://git.openstack.org/cgit/openstack/releases/tree/README.rst"
|
||||
# typos.
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- team
|
||||
|
||||
properties:
|
||||
team:
|
||||
type: "string"
|
||||
|
@ -164,18 +164,14 @@ class TestValidateTeam(base.BaseTestCase):
|
||||
super().setUp()
|
||||
self.msg = validate.MessageCollector()
|
||||
|
||||
def test_no_name(self):
|
||||
validate.validate_team(
|
||||
{},
|
||||
{},
|
||||
self.msg,
|
||||
)
|
||||
self.assertEqual(0, len(self.msg.warnings))
|
||||
self.assertEqual(1, len(self.msg.errors))
|
||||
|
||||
def test_invalid_name(self):
|
||||
validate.validate_team(
|
||||
{'team': 'nonsense-name'},
|
||||
deliverable.Deliverable(
|
||||
team='nonsense-name',
|
||||
series='series',
|
||||
name='name',
|
||||
data={},
|
||||
),
|
||||
{},
|
||||
self.msg,
|
||||
)
|
||||
@ -185,7 +181,12 @@ class TestValidateTeam(base.BaseTestCase):
|
||||
|
||||
def test_valid_name(self):
|
||||
validate.validate_team(
|
||||
{'team': 'oslo'},
|
||||
deliverable.Deliverable(
|
||||
team='oslo',
|
||||
series='series',
|
||||
name='name',
|
||||
data={},
|
||||
),
|
||||
{'oslo': None},
|
||||
self.msg,
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user