@@ -373,17 +373,18 @@ class Patch(EmailMixin, models.Model):
* success, if latest checks for all contexts reports as
success
"""
+ state_names = dict(Check.STATE_CHOICES)
states = [check.state for check in self.checks]
if not states:
- return Check.STATE_PENDING
+ return state_names[Check.STATE_PENDING]
for state in [Check.STATE_FAIL, Check.STATE_WARNING,
Check.STATE_PENDING]: # order sensitive
if state in states:
- return state
+ return state_names[state]
- return Check.STATE_SUCCESS
+ return state_names[Check.STATE_SUCCESS]
@property
def checks(self):
@@ -60,7 +60,9 @@ class PatchChecksTest(TransactionTestCase):
return check
def assertCheckEqual(self, patch, check_state):
- self.assertEqual(self.patch.combined_check_state, check_state)
+ state_names = dict(Check.STATE_CHOICES)
+ self.assertEqual(self.patch.combined_check_state,
+ state_names[check_state])
def assertChecksEqual(self, patch, checks=None):
if not checks:
@@ -353,10 +353,8 @@ def check_to_dict(obj):
def patch_check_to_dict(obj):
"""Return a combined patch check."""
- state_names = dict(Check.STATE_CHOICES)
-
return {
- 'state': state_names[obj.combined_check_state],
+ 'state': obj.combined_check_state,
'total': len(obj.checks),
'checks': [check_to_dict(check) for check in obj.checks]
}
Previously the 'combined_check_status' function returned the checks enum integer for the status field. However, the string representation is more meaningful and is the only representation seen by users at moment. Change this function so it returns, for example, 'success' instead of '1'. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com> --- patchwork/models.py | 7 ++++--- patchwork/tests/test_checks.py | 4 +++- patchwork/views/xmlrpc.py | 4 +--- 3 files changed, 8 insertions(+), 7 deletions(-)