~mandel/ubuntuone-client/fix-803984

« back to all changes in this revision

Viewing changes to tests/syncdaemon/test_action_queue.py

  • Committer: Manuel de la Pena
  • Date: 2011-06-24 04:26:26 UTC
  • Revision ID: mandel@themacaque.com-20110624042626-x3jla4yavchbdi4e
Added a Upload test so that we ensure that we can upload files using the correct open func.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5644
5644
        """Set up for tests."""
5645
5645
        super(OsIntegrationTests, self).setUp()
5646
5646
        self.fdopen = self.mocker.replace('os.fdopen')
5647
 
        self.open = self.mocker.replace('ubuntuone.platform.open_file')
5648
5647
 
5649
5648
    def test_fdopen(self):
5650
5649
        """Ensure that we are calling fdopen correctly."""
5663
5662
        self.assertEqual(data, tmp.read(len(data)))
5664
5663
        tmp.close()
5665
5664
 
5666
 
    def test_run(self):
 
5665
    def test_upload_run(self):
5667
5666
        """Ensure that _run does use the correct os_helper calls."""
5668
 
        event_queue= self.mocker.mock()
5669
 
        self.action_queue.event_queue = event_queue 
 
5667
        share_id = 'share_id'
 
5668
        node_id = 'node_id'
 
5669
        previous_hash = 'hash'
 
5670
        actual_hash = 'hash'
 
5671
        crc32 = 'crc32'
 
5672
        size = 'size'
 
5673
        path = 'path'
 
5674
        filobj_factory = self.mocker.mock()
 
5675
        tempfile_factory = self.mocker.mock()
 
5676
        request_queue = self.mocker.mock()
 
5677
        action_queue = self.mocker.mock()
 
5678
        event_queue = self.mocker.mock()
5670
5679
        tempfile = 'temp'
5671
 
        self.action_queue.tempfile = tempfile 
5672
 
        event_queue.push('AQ_UPLOAD_STARTED',
 
5680
        # create the cmd and forget about possible expectations
 
5681
        # set by the init
 
5682
        upload_cmd = Upload(request_queue, share_id, node_id, previous_hash,
 
5683
                            actual_hash, crc32, size, path, filobj_factory,
 
5684
                            tempfile_factory)
 
5685
        upload_cmd.tempfile = self.mocker.mock()
 
5686
        self.mocker.reset()
 
5687
        open_file = self.mocker.replace('ubuntuone.platform.open_file')
 
5688
        # expectations
 
5689
        request_queue.action_queue.event_queue.push('AQ_UPLOAD_STARTED',
5673
5690
                         share_id=ANY,
5674
5691
                         node_id=ANY,
5675
5692
                         hash=ANY)
5676
 
        self.open(tempfile, 'rb')
 
5693
        upload_cmd.tempfile.name
 
5694
        self.mocker.result(tempfile)
 
5695
        upload_cmd.tempfile.name
 
5696
        self.mocker.result(tempfile)
 
5697
        open_file(tempfile, 'rb')
5677
5698
        self.mocker.throw(ValueError)
5678
 
        self.assertRaises(ValueError, self.action_queue._run)
 
 
b'\\ No newline at end of file'
 
5699
        self.mocker.replay()
 
5700
        self.assertRaises(ValueError, upload_cmd._run)