def test__perform_upload(self): producer = self.mox.CreateMock(vdi_through_dev.TarGzProducer) consumer = self.mox.CreateMock(glance.UpdateGlanceImage) pool = self.mox.CreateMock(eventlet.GreenPool) store = vdi_through_dev.UploadToGlanceAsRawTgz('context', 'session', 'instance', 'id', ['vdi0', 'vdi1']) self.mox.StubOutWithMock(store, '_create_pipe') self.mox.StubOutWithMock(store, '_get_virtual_size') self.mox.StubOutWithMock(producer, 'get_metadata') self.mox.StubOutWithMock(vdi_through_dev, 'TarGzProducer') self.mox.StubOutWithMock(glance, 'UpdateGlanceImage') self.mox.StubOutWithMock(vdi_through_dev, 'eventlet') producer.get_metadata().AndReturn('metadata') store._get_virtual_size().AndReturn('324') store._create_pipe().AndReturn(('readfile', 'writefile')) vdi_through_dev.TarGzProducer('devpath', 'writefile', '324', 'disk.raw').AndReturn(producer) glance.UpdateGlanceImage('context', 'id', 'metadata', 'readfile').AndReturn(consumer) vdi_through_dev.eventlet.GreenPool().AndReturn(pool) pool.spawn(producer.start) pool.spawn(consumer.start) pool.waitall() self.mox.ReplayAll() store._perform_upload('devpath')
def test_start(self, mock_glance_image_service): consumer = glance.UpdateGlanceImage('context', 'id', 'metadata', 'stream') with mock.patch.object(glance, 'get_remote_image_service') as a_mock: a_mock.return_value = (mock_glance_image_service, 'image_id') consumer.start() mock_glance_image_service.update.assert_called_with( 'context', 'image_id', 'metadata', 'stream', purge_props=False)
def _perform_upload(self, devpath): readfile, writefile = self._create_pipe() size = self._get_virtual_size() producer = TarGzProducer(devpath, writefile, size, 'disk.raw') consumer = glance.UpdateGlanceImage(self.context, self.image_id, producer.get_metadata(), readfile) pool = eventlet.GreenPool() pool.spawn(producer.start) pool.spawn(consumer.start) pool.waitall()
def test_start(self): consumer = glance.UpdateGlanceImage( 'context', 'id', 'metadata', 'stream') image_service = self.mox.CreateMock(glance.GlanceImageService) self.mox.StubOutWithMock(glance, 'get_remote_image_service') glance.get_remote_image_service( 'context', 'id').AndReturn((image_service, 'image_id')) image_service.update( 'context', 'image_id', 'metadata', 'stream', purge_props=False) self.mox.ReplayAll() consumer.start()