def test_execute_confirms_lock(self, mock_log): self.img_repo.get.return_value.extra_properties = { 'os_glance_import_task': TASK_ID1} wrapper = import_flow.ImportActionWrapper(self.img_repo, IMAGE_ID1, TASK_ID1) imagelock = import_flow._ImageLock(TASK_ID1, TASK_TYPE, wrapper) imagelock.execute() mock_log.debug.assert_called_once_with('Image %(image)s import task ' '%(task)s lock confirmed', {'image': IMAGE_ID1, 'task': TASK_ID1})
def test_revert_drops_lock_missing(self, mock_log): wrapper = import_flow.ImportActionWrapper(self.img_repo, IMAGE_ID1, TASK_ID1) imagelock = import_flow._ImageLock(TASK_ID1, TASK_TYPE, wrapper) with mock.patch.object(wrapper, 'drop_lock_for_task') as mock_drop: mock_drop.side_effect = exception.NotFound() imagelock.revert(None) mock_log.warning.assert_called_once_with('Image %(image)s import task ' '%(task)s lost its lock ' 'during execution!', {'image': IMAGE_ID1, 'task': TASK_ID1})
def test_revert_drops_lock(self, mock_log): wrapper = import_flow.ImportActionWrapper(self.img_repo, IMAGE_ID1, TASK_ID1) imagelock = import_flow._ImageLock(TASK_ID1, TASK_TYPE, wrapper) with mock.patch.object(wrapper, 'drop_lock_for_task') as mock_drop: imagelock.revert(None) mock_drop.assert_called_once_with() mock_log.debug.assert_called_once_with('Image %(image)s import task ' '%(task)s dropped its lock ' 'after failure', {'image': IMAGE_ID1, 'task': TASK_ID1})
def test_execute_confirms_lock_not_held(self, mock_log): wrapper = import_flow.ImportActionWrapper(self.img_repo, IMAGE_ID1, TASK_ID1) imagelock = import_flow._ImageLock(TASK_ID1, TASK_TYPE, wrapper) self.assertRaises(exception.TaskAbortedError, imagelock.execute)