def test_get_image_data(self, mock_waitall, mock_start, mock_spawn, create_pipe): mock_tarpipe_out = mock.Mock() mock_tarpipe_in = mock.Mock() create_pipe.return_value = (mock_tarpipe_out, mock_tarpipe_in) image_cmd = vdi_handler.GenerateImageStream(self.context, self.session, self.instance, self.host_url, ['vdi_uuid']) mock_tarpipe_out.read.side_effect = ['chunk1', 'chunk2', ''] image_chunks = [] for chunk in image_cmd.get_image_data(): image_chunks.append(chunk) create_pipe.assert_called_once_with() mock_spawn.assert_called_once_with(mock_start, mock_tarpipe_in) self.assertEqual(image_chunks, ['chunk1', 'chunk2'])
def test_start_stream_generator_none_level(self, mock_stream): # Verify the vdi_handler.DEFAULT_COMPRESSLEVEL should be used, # if no compresslevel specified in GenerateImageStream. mock_stream_obj = mock.Mock() mock_stream.return_value = mock_stream_obj generator = vdi_handler.GenerateImageStream(self.context, self.session, self.instance, self.host_url, ['vdi_uuid']) fake_tarpipe_in = mock.Mock() generator.start_image_stream_generator(fake_tarpipe_in) mock_stream.assert_called_once_with(self.context, self.session, self.instance, self.host_url, ['vdi_uuid'], fake_tarpipe_in, vdi_handler.DEFAULT_COMPRESSLEVEL) mock_stream_obj.start.assert_called_once_with() fake_tarpipe_in.close.assert_called_once_with()
def test_start_stream_generator(self, mock_stream): # Verify the specified compress level should be used, # if a compresslevel specified in GenerateImageStream. compr_level = 9 mock_stream_obj = mock.Mock() mock_stream.return_value = mock_stream_obj generator = vdi_handler.GenerateImageStream(self.context, self.session, self.instance, self.host_url, ['vdi_uuid'], compresslevel=compr_level) fake_tarpipe_in = mock.Mock() generator.start_image_stream_generator(fake_tarpipe_in) mock_stream.assert_called_once_with(self.context, self.session, self.instance, self.host_url, ['vdi_uuid'], fake_tarpipe_in, compr_level) mock_stream_obj.start.assert_called_once_with() fake_tarpipe_in.close.assert_called_once_with()
def stream_from_vdis(context, session, instance, host_url, vdi_uuids, compresslevel=vdi_handler.DEFAULT_COMPRESSLEVEL): handler = vdi_handler.GenerateImageStream(context, session, instance, host_url, vdi_uuids, compresslevel) return handler.get_image_data()
def stream_from_vdis(context, session, instance, host_url, vdi_uuids): handler = vdi_handler.GenerateImageStream(context, session, instance, host_url, vdi_uuids) return handler.get_image_data()