Пример #1
0
 def test_load_image_handlers_with_invalid_handler_name(self):
     self.flags(image_handlers=['invaild1', 'download', 'invaild2'])
     imagehandler.load_image_handlers(self.fake_driver)
     self.assertEqual(1, len(imagehandler._IMAGE_HANDLERS))
     self.assertIsInstance(imagehandler._IMAGE_HANDLERS[0],
                           download_imagehandler.DownloadImageHandler)
     self.assertEqual(0, len(imagehandler._IMAGE_HANDLERS_ASSO))
Пример #2
0
 def test_load_image_handlers(self):
     self.flags(image_handlers=['download'])
     imagehandler.load_image_handlers(self.fake_driver)
     self.assertEqual(1, len(imagehandler._IMAGE_HANDLERS))
     self.assertIsInstance(imagehandler._IMAGE_HANDLERS[0],
                           download_imagehandler.DownloadImageHandler)
     self.assertEqual(0, len(imagehandler._IMAGE_HANDLERS_ASSO))
Пример #3
0
    def _handle_image_without_associated_handle(self, image_id,
                                                expected_locations,
                                                expected_handled_location,
                                                expected_handled_path,
                                                mock__fetch_image):
        def _fake_handler_fetch(context, image_meta, path,
                                user_id=None, project_id=None, location=None):
            return location == expected_handled_location

        mock__fetch_image.side_effect = _fake_handler_fetch

        self.flags(image_handlers=['download'])
        imagehandler.load_image_handlers(self.fake_driver)
        self.assertEqual(1, len(imagehandler._IMAGE_HANDLERS))
        self.assertEqual(0, len(imagehandler._IMAGE_HANDLERS_ASSO))

        check_left_loc_count = expected_handled_location in expected_locations
        if check_left_loc_count:
            unused_location_count = (len(expected_locations) -
                 expected_locations.index(expected_handled_location) - 1)

        self._fetch_image(image_id, expected_locations,
                          expected_handled_location, expected_handled_path)

        if check_left_loc_count:
            self.assertEqual(unused_location_count, len(expected_locations))
        self.assertEqual(1, len(imagehandler._IMAGE_HANDLERS_ASSO))
        self.assertEqual(
             (imagehandler._IMAGE_HANDLERS[0], expected_handled_location),
             imagehandler._IMAGE_HANDLERS_ASSO[expected_handled_path][:2])
Пример #4
0
 def setUp(self):
     super(ImageCacheManagerTestCase, self).setUp()
     self.stock_instance_names = set(['instance-00000001',
                                      'instance-00000002',
                                      'instance-00000003',
                                      'banana-42-hamster'])
     imagehandler.load_image_handlers(libvirt_driver.LibvirtDriver(
                                               fake.FakeVirtAPI(), False))
Пример #5
0
    def test_load_image_handlers_with_deduplicating(self,
                                                    mock_DriverManager,
                                                    mock_ExtensionManager):
        handlers = ['handler1', 'handler2', 'handler3']

        def _fake_stevedore_driver_manager(*args, **kwargs):
            return mock.MagicMock(**{'driver': kwargs['name']})

        mock_ExtensionManager.return_value = mock.MagicMock(
                                        **{'names.return_value': handlers})
        mock_DriverManager.side_effect = _fake_stevedore_driver_manager

        self.flags(image_handlers=['invaild1', 'handler1  ', '  handler3',
                                   'invaild2', '  handler2  '])
        imagehandler.load_image_handlers(self.fake_driver)
        self.assertEqual(3, len(imagehandler._IMAGE_HANDLERS))
        for handler in imagehandler._IMAGE_HANDLERS:
            self.assertTrue(handler in handlers)
        self.assertEqual(['handler1', 'handler3', 'handler2'],
                         imagehandler._IMAGE_HANDLERS)
        self.assertEqual(0, len(imagehandler._IMAGE_HANDLERS_ASSO))
Пример #6
0
    def test_load_image_handlers_with_load_handler_failure(self,
                                                    mock_DriverManager,
                                                    mock_ExtensionManager):
        handlers = ['raise_exception', 'download']

        def _fake_stevedore_driver_manager(*args, **kwargs):
            if kwargs['name'] == 'raise_exception':
                raise Exception('handler failed to initialize.')
            else:
                return mock.MagicMock(**{'driver': kwargs['name']})

        mock_ExtensionManager.return_value = mock.MagicMock(
                                        **{'names.return_value': handlers})
        mock_DriverManager.side_effect = _fake_stevedore_driver_manager

        self.flags(image_handlers=['raise_exception', 'download',
                                   'raise_exception', 'download'])
        imagehandler.load_image_handlers(self.fake_driver)
        self.assertEqual(1, len(imagehandler._IMAGE_HANDLERS))
        self.assertEqual(['download'], imagehandler._IMAGE_HANDLERS)
        self.assertEqual(0, len(imagehandler._IMAGE_HANDLERS_ASSO))
Пример #7
0
 def __init__(self, virtapi):
     self.virtapi = virtapi
     self._compute_event_callback = None
     imagehandler.load_image_handlers(self)