~thisfred/ubuntuone-client/lp-737150

« back to all changes in this revision

Viewing changes to tests/syncdaemon/test_action_queue.py

  • Committer: Tarmac
  • Author(s): Facundo Batista
  • Date: 2011-03-02 13:39:44 UTC
  • mfrom: (899.1.2 better-cancel)
  • Revision ID: tarmac-20110302133944-f03cb52a9bov0kzs
Support double cancellation (LP: #705231)

Show diffs side-by-side

added added

removed removed

Lines of Context:
343
343
        """It does not cancel anything, because all empty."""
344
344
        assert not self.action_queue.queue.waiting
345
345
        self.action_queue._cancel_op('shr', 'node', Upload)
346
 
        self.assertTrue(self.handler.check_debug('starting', 'cancel_upload',
347
 
                                                 'shr', 'node'))
348
346
        self.assertFalse(self.handler.check_debug('cancelled', 'shr', 'node'))
349
 
        self.assertTrue(self.handler.check_debug('finished', 'shr', 'node'))
350
347
 
351
348
    def _set_queue(self, *waiting):
352
349
        """Set the content queue content."""
362
359
        self._set_queue(cmd1, cmd2)
363
360
        self.action_queue._cancel_op('sh', 'nd3', FakeCommand)
364
361
        self.assertFalse(self.handler.check_debug('cancelled', 'sh', 'nd3'))
365
 
        self.assertTrue(self.handler.check_debug('finished without cancel',
366
 
                                                 'sh', 'nd3'))
367
362
        self.assertFalse(cmd1.cancelled)
368
363
        self.assertFalse(cmd2.cancelled)
369
364
 
374
369
        self._set_queue(cmd1, cmd2)
375
370
        self.action_queue._cancel_op('sh', 'nd', Upload)
376
371
        self.assertFalse(self.handler.check_debug('cancelled', 'sh', 'nd'))
377
 
        self.assertTrue(self.handler.check_debug('finished without cancel',
378
 
                                                 'sh', 'nd'))
379
372
        self.assertFalse(cmd1.cancelled)
380
373
        self.assertFalse(cmd2.cancelled)
381
374
 
385
378
        self._set_queue(cmd)
386
379
        self.action_queue._cancel_op('sh', 'nd', FakeCommand)
387
380
        self.assertTrue(self.handler.check_debug('cancelled', 'sh', 'nd'))
388
 
        self.assertFalse(self.handler.check_debug('finished without cancel',
389
 
                                                  'sh', 'nd'))
390
381
        self.assertTrue(cmd.cancelled)
391
382
 
392
383
    def test_node_is_queued_move_api(self):
2088
2079
        self.assertEqual(called, [1, 2])
2089
2080
        self.assertTrue(self.cmd.cancelled)
2090
2081
 
 
2082
    def test_cancel_cancelled(self):
 
2083
        """Don't do anything if command already cancelled."""
 
2084
        called = []
 
2085
        self.cmd.cleanup = lambda: called.append(True)
 
2086
        self.cmd.finish = lambda: called.append(True)
 
2087
        self.cmd.cancelled = True
 
2088
        self.cmd.cancel()
 
2089
        self.assertFalse(called)
 
2090
        self.assertTrue(self.cmd.cancelled)
 
2091
 
2091
2092
 
2092
2093
class CreateUDFTestCase(ConnectedBaseTestCase):
2093
2094
    """Test for CreateUDF ActionQueueCommand."""