コード例 #1
0
 def test_as_file(self, mock_adapter, mock_glance_image):
     mock_glance_image.data.return_value = 'iterable-data'
     image = utils.RawTGZImage(mock_glance_image)
     result = image._as_file()
     self.assertEqual('data-as-file', result)
     mock_glance_image.data.assert_called_once_with()
     mock_adapter.assert_called_once_with('iterable-data')
コード例 #2
0
ファイル: test_utils.py プロジェクト: ykwon8651/project-e
    def test_as_file(self):
        self.mox.StubOutWithMock(utils, 'IterableToFileAdapter')
        glance_image = self.mox.CreateMock(utils.GlanceImage)
        image = utils.RawTGZImage(glance_image)
        glance_image.data().AndReturn('iterable-data')
        utils.IterableToFileAdapter('iterable-data').AndReturn('data-as-file')

        self.mox.ReplayAll()

        result = image._as_file()

        self.assertEqual('data-as-file', result)
コード例 #3
0
ファイル: test_utils.py プロジェクト: ykwon8651/project-e
    def test_as_tarfile(self):
        image = utils.RawTGZImage(None)
        self.mox.StubOutWithMock(image, '_as_file')
        self.mox.StubOutWithMock(utils.tarfile, 'open')

        image._as_file().AndReturn('the_file')
        utils.tarfile.open(mode='r|gz', fileobj='the_file').AndReturn('tf')

        self.mox.ReplayAll()

        result = image._as_tarfile()
        self.assertEqual('tf', result)
コード例 #4
0
    def test_get_size(self, mock_as_tar, mock_tar_info, mock_tar_file):
        mock_tar_file.next.return_value = mock_tar_info
        mock_tar_info.size = 124
        mock_as_tar.return_value = mock_tar_file

        image = utils.RawTGZImage(None)
        result = image.get_size()

        self.assertEqual(124, result)
        self.assertEqual(image._tar_info, mock_tar_info)
        self.assertEqual(image._tar_file, mock_tar_file)
        mock_as_tar.assert_called_once_with()
        mock_tar_file.next.assert_called_once_with()
コード例 #5
0
    def test_stream_to_without_size_retrieved(self, mock_copyfile,
                                              mock_as_tar, mock_tar_info,
                                              mock_tar_file):
        target_file = mock.create_autospec(open)
        source_file = mock.create_autospec(open)
        mock_tar_file.next.return_value = mock_tar_info
        mock_tar_file.extractfile.return_value = source_file
        mock_as_tar.return_value = mock_tar_file

        image = utils.RawTGZImage(None)
        image._image_service_and_image_id = ('service', 'id')
        image.stream_to(target_file)

        mock_as_tar.assert_called_once_with()
        mock_tar_file.next.assert_called_once_with()
        mock_tar_file.extractfile.assert_called_once_with(mock_tar_info)
        mock_copyfile.assert_called_once_with(
            source_file, target_file)
        mock_tar_file.close.assert_called_once_with()
コード例 #6
0
ファイル: test_utils.py プロジェクト: ykwon8651/project-e
    def test_get_size(self):
        tar_file = self.mox.CreateMock(tarfile.TarFile)
        tar_info = self.mox.CreateMock(tarfile.TarInfo)

        image = utils.RawTGZImage(None)

        self.mox.StubOutWithMock(image, '_as_tarfile')

        image._as_tarfile().AndReturn(tar_file)
        tar_file.next().AndReturn(tar_info)
        tar_info.size = 124

        self.mox.ReplayAll()

        result = image.get_size()

        self.assertEqual(124, result)
        self.assertEqual(image._tar_info, tar_info)
        self.assertEqual(image._tar_file, tar_file)
コード例 #7
0
ファイル: test_utils.py プロジェクト: ykwon8651/project-e
    def test_stream_to_without_size_retrieved(self):
        source_tar = self.mox.CreateMock(tarfile.TarFile)
        first_tarinfo = self.mox.CreateMock(tarfile.TarInfo)
        target_file = self.mox.CreateMock(file)
        source_file = self.mox.CreateMock(file)

        image = utils.RawTGZImage(None)
        image._image_service_and_image_id = ('service', 'id')

        self.mox.StubOutWithMock(image, '_as_tarfile', source_tar)
        self.mox.StubOutWithMock(utils.shutil, 'copyfileobj')

        image._as_tarfile().AndReturn(source_tar)
        source_tar.next().AndReturn(first_tarinfo)
        source_tar.extractfile(first_tarinfo).AndReturn(source_file)
        utils.shutil.copyfileobj(source_file, target_file)
        source_tar.close()

        self.mox.ReplayAll()

        image.stream_to(target_file)
コード例 #8
0
 def test_as_tarfile(self, mock_open, mock_as_file):
     image = utils.RawTGZImage(None)
     result = image._as_tarfile()
     self.assertEqual('tf', result)
     mock_as_file.assert_called_once_with()
     mock_open.assert_called_once_with(mode='r|gz', fileobj='the_file')