bodhi/model.py | 13 +++++++------
bodhi/tests/test_controllers.py | 24 ++++++++++++++++++++++++
bodhi/tests/test_model.py | 2 +-
3 files changed, 32 insertions(+), 7 deletions(-)
New commits:
commit ab94952884f83d1f3ea8733eb079749ad8c88e47
Author: Luke Macken <lmacken(a)redhat.com>
Date: Wed Mar 3 13:09:42 2010 -0500
Add a unit test to ensure PackageUpdate.request_complete() works on critpath
diff --git a/bodhi/tests/test_controllers.py b/bodhi/tests/test_controllers.py
index d4ba4a8..7bae57a 100644
--- a/bodhi/tests/test_controllers.py
+++ b/bodhi/tests/test_controllers.py
@@ -1683,6 +1683,30 @@ class TestControllers(testutil.DBTest):
assert update.comments[2].author == 'bodhi', update.comments
assert update.comments[2].text == 'Critical path update approved'
+ def test_critpath_request_complete(self):
+ """
+ Ensure devs can *not* push critpath updates directly to stable
+ for pending releases
+ """
+ session = login()
+ create_release(locked=True)
+ params = {
+ 'builds' : 'kernel-2.6.31-1.fc7',
+ 'release' : 'Fedora 7',
+ 'type_' : 'bugfix',
+ 'bugs' : '',
+ 'notes' : 'foobar',
+ 'stable_karma' : 1,
+ 'request': 'stable',
+ 'unstable_karma' : -1,
+ }
+ self.save_update(params, session)
+ update = PackageUpdate.byTitle(params['builds'])
+ assert update.critpath
+
+ update.request_complete()
+ assert not update.request
+
def test_created_since(self):
session = login()
create_release()
diff --git a/bodhi/tests/test_model.py b/bodhi/tests/test_model.py
index 56f5775..6e60bcb 100644
--- a/bodhi/tests/test_model.py
+++ b/bodhi/tests/test_model.py
@@ -440,7 +440,7 @@ class TestPackageUpdate(testutil.DBTest):
up.status = 'testing'
up.status_comment()
assert len(up.comments) == 1
- assert up.comments[0].author == 'bodhi', up.comments[0]
+ assert 'bodhi' in up.comments[0].author, up.comments[0]
assert up.comments[0].text == 'This update has been pushed to testing'
up.status = 'stable'
up.status_comment()
commit 29573c67403483e35dec2cf12a91acf7538c2765
Author: Luke Macken <lmacken(a)redhat.com>
Date: Wed Mar 3 13:09:20 2010 -0500
Only automatically mark as stable if it's not stable already...
diff --git a/bodhi/model.py b/bodhi/model.py
index 014a1f5..7b36eaa 100644
--- a/bodhi/model.py
+++ b/bodhi/model.py
@@ -738,12 +738,13 @@ class PackageUpdate(SQLObject):
not self.critpath_approved):
pass
else:
- log.info("Automatically marking %s as stable" % self.title)
- self.request = 'stable'
- self.pushed = False
- #self.date_pushed = None
- mail.send(self.submitter, 'stablekarma', self)
- mail.send_admin('stablekarma', self)
+ if self.status != 'stable':
+ log.info("Automatically marking %s as stable" %
self.title)
+ self.request = 'stable'
+ self.pushed = False
+ #self.date_pushed = None
+ mail.send(self.submitter, 'stablekarma', self)
+ mail.send_admin('stablekarma', self)
if self.status == 'testing' and self.unstable_karma != 0 and \
self.karma == self.unstable_karma:
Show replies by date