Example #1
0
 def _get_image(self, location_count=1, image_size=10):
     context = FakeContext()
     db_api = unit_test_utils.FakeDB()
     store_api = unit_test_utils.FakeStoreAPI()
     store = unit_test_utils.FakeStoreUtils(store_api)
     base_image = FakeImage()
     base_image.image_id = 'xyz'
     base_image.size = image_size
     image = xmonitor.quota.ImageProxy(base_image, context, db_api, store)
     locations = []
     for i in range(location_count):
         locations.append({
             'url': 'file:///g/there/it/is%d' % i,
             'metadata': {},
             'status': 'active'
         })
     image_values = {
         'id': 'xyz',
         'owner': context.owner,
         'status': 'active',
         'size': image_size,
         'locations': locations
     }
     db_api.image_create(context, image_values)
     return image
Example #2
0
 def setUp(self):
     super(TestImageRepo, self).setUp()
     self.db = unit_test_utils.FakeDB(initialize=False)
     self.context = xmonitor.context.RequestContext(user=USER1,
                                                    tenant=TENANT1)
     self.image_repo = xmonitor.db.ImageRepo(self.context, self.db)
     self.image_factory = xmonitor.domain.ImageFactory()
     self._create_images()
     self._create_image_members()
Example #3
0
 def setUp(self):
     super(TestImageMemberQuotas, self).setUp()
     db_api = unit_test_utils.FakeDB()
     store_api = unit_test_utils.FakeStoreAPI()
     store = unit_test_utils.FakeStoreUtils(store_api)
     context = FakeContext()
     self.image = mock.Mock()
     self.base_image_member_factory = mock.Mock()
     self.image_member_factory = xmonitor.quota.ImageMemberFactoryProxy(
         self.base_image_member_factory, context, db_api, store)
Example #4
0
 def setUp(self):
     super(TestTaskRepo, self).setUp()
     self.db = unit_test_utils.FakeDB(initialize=False)
     self.context = xmonitor.context.RequestContext(user=USER1,
                                                    tenant=TENANT1)
     self.task_repo = xmonitor.db.TaskRepo(self.context, self.db)
     self.task_factory = xmonitor.domain.TaskFactory()
     self.fake_task_input = ('{"import_from": '
                             '"swift://cloud.foo/account/mycontainer/path"'
                             ',"import_from_format": "qcow2"}')
     self._create_tasks()
Example #5
0
 def setUp(self):
     super(TestTasksController, self).setUp()
     self.db = unit_test_utils.FakeDB(initialize=False)
     self.policy = unit_test_utils.FakePolicyEnforcer()
     self.notifier = unit_test_utils.FakeNotifier()
     self.store = unit_test_utils.FakeStoreAPI()
     self._create_tasks()
     self.controller = xmonitor.api.v2.tasks.TasksController(
         self.db, self.policy, self.notifier, self.store)
     self.gateway = xmonitor.gateway.Gateway(self.db, self.store,
                                             self.notifier, self.policy)
 def setUp(self):
     super(TestImageActionsController, self).setUp()
     self.db = unit_test_utils.FakeDB(initialize=False)
     self.policy = unit_test_utils.FakePolicyEnforcer()
     self.notifier = unit_test_utils.FakeNotifier()
     self.store = unit_test_utils.FakeStoreAPI()
     for i in range(1, 4):
         self.store.data['%s/fake_location_%i' % (BASE_URI, i)] = ('Z', 1)
     self.store_utils = unit_test_utils.FakeStoreUtils(self.store)
     self.controller = image_actions.ImageActionsController(
         self.db, self.policy, self.notifier, self.store)
     self.controller.gateway.store_utils = self.store_utils
     store.create_stores()
Example #7
0
 def _test_quota_allowed_unit(self, data_length, config_quota):
     self.config(user_storage_quota=config_quota)
     context = FakeContext()
     db_api = unit_test_utils.FakeDB()
     store_api = unit_test_utils.FakeStoreAPI()
     store = unit_test_utils.FakeStoreUtils(store_api)
     base_image = FakeImage()
     base_image.image_id = 'id'
     image = xmonitor.quota.ImageProxy(base_image, context, db_api, store)
     data = '*' * data_length
     base_image.set_data(data, size=None)
     image.set_data(data)
     self.assertEqual(data_length, base_image.size)
Example #8
0
 def test_quota_allowed(self):
     quota = 10
     self.config(user_storage_quota=str(quota))
     context = FakeContext()
     db_api = unit_test_utils.FakeDB()
     store_api = unit_test_utils.FakeStoreAPI()
     store = unit_test_utils.FakeStoreUtils(store_api)
     base_image = FakeImage()
     base_image.image_id = 'id'
     image = xmonitor.quota.ImageProxy(base_image, context, db_api, store)
     data = '*' * quota
     base_image.set_data(data, size=None)
     image.set_data(data)
     self.assertEqual(quota, base_image.size)
Example #9
0
    def setUp(self):
        super(TestImageMembersController, self).setUp()
        self.db = unit_test_utils.FakeDB(initialize=False)
        self.store = unit_test_utils.FakeStoreAPI()
        self.policy = unit_test_utils.FakePolicyEnforcer()
        self.notifier = unit_test_utils.FakeNotifier()
        self._create_images()
        self._create_image_members()
        self.controller = xmonitor.api.v2.image_members.ImageMembersController(
            self.db, self.policy, self.notifier, self.store)
        glance_store.register_opts(CONF)

        self.config(default_store='filesystem',
                    filesystem_store_datadir=self.test_dir,
                    group="glance_store")

        glance_store.create_stores()
Example #10
0
    def test_iadd_location_for_queued_image(self):
        context = FakeContext()
        db_api = unit_test_utils.FakeDB()
        store_api = unit_test_utils.FakeStoreAPI()
        store = unit_test_utils.FakeStoreUtils(store_api)
        base_image = FakeImage()
        base_image.image_id = str(uuid.uuid4())
        image = xmonitor.quota.ImageProxy(base_image, context, db_api, store)
        self.assertIsNone(image.size)

        self.stubs.Set(store_api, 'get_size_from_backend',
                       unit_test_utils.fake_get_size_from_backend)
        image.locations += [{'url': 'file:///fake.img.tar.gz', 'metadata': {}}]
        self.assertIn({
            'url': 'file:///fake.img.tar.gz',
            'metadata': {}
        }, image.locations)
Example #11
0
 def setUp(self):
     super(TestEncryptedLocations, self).setUp()
     self.db = unit_test_utils.FakeDB(initialize=False)
     self.context = xmonitor.context.RequestContext(user=USER1,
                                                    tenant=TENANT1)
     self.image_repo = xmonitor.db.ImageRepo(self.context, self.db)
     self.image_factory = xmonitor.domain.ImageFactory()
     self.crypt_key = '0123456789abcdef'
     self.config(metadata_encryption_key=self.crypt_key)
     self.foo_bar_location = [{
         'url': 'foo',
         'metadata': {},
         'status': 'active'
     }, {
         'url': 'bar',
         'metadata': {},
         'status': 'active'
     }]
Example #12
0
    def _quota_exceeded_size(self, quota, data, deleted=True, size=None):
        self.config(user_storage_quota=quota)
        context = FakeContext()
        db_api = unit_test_utils.FakeDB()
        store_api = unit_test_utils.FakeStoreAPI()
        store = unit_test_utils.FakeStoreUtils(store_api)
        base_image = FakeImage()
        base_image.image_id = 'id'
        image = xmonitor.quota.ImageProxy(base_image, context, db_api, store)

        if deleted:
            with patch.object(store_utils, 'safe_delete_from_backend'):
                store_utils.safe_delete_from_backend(context, image.image_id,
                                                     base_image.locations[0])

        self.assertRaises(exception.StorageQuotaFull,
                          image.set_data,
                          data,
                          size=size)
Example #13
0
 def setUp(self):
     super(TestMetadefRepo, self).setUp()
     self.db = unit_test_utils.FakeDB(initialize=False)
     self.context = xmonitor.context.RequestContext(user=USER1,
                                                    tenant=TENANT1)
     self.namespace_repo = xmonitor.db.MetadefNamespaceRepo(
         self.context, self.db)
     self.property_repo = xmonitor.db.MetadefPropertyRepo(
         self.context, self.db)
     self.object_repo = xmonitor.db.MetadefObjectRepo(self.context, self.db)
     self.tag_repo = xmonitor.db.MetadefTagRepo(self.context, self.db)
     self.resource_type_repo = xmonitor.db.MetadefResourceTypeRepo(
         self.context, self.db)
     self.namespace_factory = xmonitor.domain.MetadefNamespaceFactory()
     self.property_factory = xmonitor.domain.MetadefPropertyFactory()
     self.object_factory = xmonitor.domain.MetadefObjectFactory()
     self.tag_factory = xmonitor.domain.MetadefTagFactory()
     self.resource_type_factory = xmonitor.domain.MetadefResourceTypeFactory(
     )
     self._create_namespaces()
     self._create_properties()
     self._create_objects()
     self._create_tags()
     self._create_resource_types()
Example #14
0
 def setUp(self):
     super(TestContext, self).setUp()
     self.db_api = unit_utils.FakeDB()
Example #15
0
 def setUp(self):
     super(TestTasksControllerPolicies, self).setUp()
     self.db = unit_test_utils.FakeDB()
     self.policy = unit_test_utils.FakePolicyEnforcer()
     self.controller = xmonitor.api.v2.tasks.TasksController(
         self.db, self.policy)
 def setUp(self):
     super(TestImageTagsController, self).setUp()
     self.db = unit_test_utils.FakeDB()
     self.controller = xmonitor.api.v2.image_tags.Controller(self.db)