Merge "Handle task state update when expected is None"

This commit is contained in:
Jenkins
2016-01-14 21:27:51 +00:00
committed by Gerrit Code Review
2 changed files with 11 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
# Copyright 2015 IBM Corp.
# Copyright 2015, 2016 IBM Corp.
#
# All Rights Reserved.
#
@@ -23,14 +23,14 @@ from nova_powervm.virt.powervm.tasks import image as tsk_img
class TestImage(test.TestCase):
def test_update_task_state(self):
def func(task_state, expected_state):
def func(task_state, expected_state='delirious'):
self.assertEqual('task_state', task_state)
self.assertIsNone(expected_state)
self.assertEqual('delirious', expected_state)
tf = tsk_img.UpdateTaskState(func, 'task_state')
self.assertEqual('update_task_state_task_state', tf.name)
tf.execute()
def func2(task_state, expected_state):
def func2(task_state, expected_state=None):
self.assertEqual('task_state', task_state)
self.assertEqual('expected_state', expected_state)
tf = tsk_img.UpdateTaskState(func2, 'task_state',

View File

@@ -1,4 +1,4 @@
# Copyright 2015 IBM Corp.
# Copyright 2015, 2016 IBM Corp.
#
# All Rights Reserved.
#
@@ -36,13 +36,16 @@ class UpdateTaskState(task.Task):
"""
self.update_task_state = update_task_state
self.task_state = task_state
self.expected_state = expected_state
self.kwargs = {}
if expected_state is not None:
# We only want to pass expected state if it's not None! That's so
# we take the update_task_state method's default.
self.kwargs['expected_state'] = expected_state
super(UpdateTaskState, self).__init__(
name='update_task_state_%s' % task_state)
def execute(self):
self.update_task_state(task_state=self.task_state,
expected_state=self.expected_state)
self.update_task_state(self.task_state, **self.kwargs)
class StreamToGlance(task.Task):