示例#1
0
 def setUp(self):
     super(TestImageNotifications, self).setUp()
     self.image = ImageStub(image_id=UUID1,
                            name='image-1',
                            status='active',
                            size=1024,
                            created_at=DATETIME,
                            updated_at=DATETIME,
                            owner=TENANT1,
                            visibility='public',
                            container_format='ami',
                            tags=['one', 'two'],
                            disk_format='ami',
                            min_ram=128,
                            min_disk=10,
                            checksum='ca425b88f047ce8ec45ee90e813ada91',
                            locations=['http://127.0.0.1'])
     self.context = glance.context.RequestContext(tenant=TENANT2,
                                                  user=USER1)
     self.image_repo_stub = ImageRepoStub()
     self.notifier = unit_test_utils.FakeNotifier()
     self.image_repo_proxy = glance.notifier.ImageRepoProxy(
         self.image_repo_stub, self.context, self.notifier)
     self.image_proxy = glance.notifier.ImageProxy(self.image, self.context,
                                                   self.notifier)
示例#2
0
 def setUp(self):
     super(TestTasksController, self).setUp()
     self.db = unit_test_utils.FakeDB()
     self.policy = unit_test_utils.FakePolicyEnforcer()
     self.notifier = unit_test_utils.FakeNotifier()
     self.store = unit_test_utils.FakeStoreAPI()
     self._create_tasks()
     self.controller = glance.api.v2.tasks.TasksController(
         self.db, self.policy, self.notifier, self.store)
    def setUp(self):
        super(TestImagesController, self).setUp()

        self.config(verbose=True, debug=True)
        self.notifier = unit_test_utils.FakeNotifier()
        self.controller = glance.api.v2.image_data.ImageDataController(
            db_api=unit_test_utils.FakeDB(),
            store_api=unit_test_utils.FakeStoreAPI(),
            policy_enforcer=unit_test_utils.FakePolicyEnforcer(),
            notifier=self.notifier)
示例#4
0
    def setUp(self):
        super(TestTaskNotifications, self).setUp()
        task_input = {"loc": "fake"}
        self.task_stub = TaskStub(
            task_id='aaa',
            task_type='import',
            status='pending',
            owner=TENANT2,
            expires_at=None,
            created_at=DATETIME,
            updated_at=DATETIME,
            image_id='fake_image_id',
            user_id='fake_user',
            request_id='fake_request_id',
        )

        self.task = Task(
            task_id='aaa',
            task_type='import',
            status='pending',
            owner=TENANT2,
            expires_at=None,
            created_at=DATETIME,
            updated_at=DATETIME,
            task_input=task_input,
            result='res',
            message='blah',
            image_id='fake_image_id',
            user_id='fake_user',
            request_id='fake_request_id',
        )
        self.context = glance.context.RequestContext(
            tenant=TENANT2,
            user=USER1
        )
        self.task_repo_stub = TaskRepoStub()
        self.notifier = unit_test_utils.FakeNotifier()
        self.task_repo_proxy = glance.notifier.TaskRepoProxy(
            self.task_repo_stub,
            self.context,
            self.notifier
        )
        self.task_proxy = glance.notifier.TaskProxy(
            self.task,
            self.context,
            self.notifier
        )
        self.task_stub_proxy = glance.notifier.TaskStubProxy(
            self.task_stub,
            self.context,
            self.notifier
        )
        self.patcher = mock.patch.object(timeutils, 'utcnow')
        mock_utcnow = self.patcher.start()
        mock_utcnow.return_value = datetime.datetime.utcnow()
示例#5
0
 def setUp(self):
     super(TestImageMembersController, self).setUp()
     self.db = unit_test_utils.FakeDB()
     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 = glance.api.v2.image_members.ImageMembersController(
         self.db, self.policy, self.notifier, self.store)
     glance_store.create_stores()
    def setUp(self):
        super(TestMultiBackendImagesController, self).setUp()

        self.config(debug=True)
        self.image_repo = FakeImageRepo()
        db = unit_test_utils.FakeDB()
        policy = unit_test_utils.FakePolicyEnforcer()
        notifier = unit_test_utils.FakeNotifier()
        store = unit_test_utils.FakeStoreAPI()
        self.controller = glance.api.v2.image_data.ImageDataController()
        self.controller.gateway = FakeGateway(db, store, notifier, policy,
                                              self.image_repo)
 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()
示例#8
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 = glance.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()
示例#9
0
    def setUp(self):
        super(TestImagesController, self).setUp()

        self.config(debug=True)
        self.image_repo = FakeImageRepo()
        db = unit_test_utils.FakeDB()
        policy = unit_test_utils.FakePolicyEnforcer()
        notifier = unit_test_utils.FakeNotifier()
        store = unit_test_utils.FakeStoreAPI()
        self.controller = glance.api.v2.image_data.ImageDataController()
        self.controller.gateway = FakeGateway(db, store, notifier, policy,
                                              self.image_repo)
        # FIXME(abhishekk): Everything is fake in this test, so mocked the
        # image mutable_check, Later we need to fix these tests to use
        # some realistic data
        patcher = mock.patch('glance.api.v2.policy.check_is_image_mutable')
        patcher.start()
        self.addCleanup(patcher.stop)
示例#10
0
    def test_image_set_data_upload_and_activate_notification_disabled(self):
        insurance = {'called': False}
        image = ImageStub(image_id=UUID1, name='image-1', status='queued',
                          created_at=DATETIME, updated_at=DATETIME,
                          owner=TENANT1, visibility='public')
        context = glance.context.RequestContext(tenant=TENANT2, user=USER1)
        fake_notifier = unit_test_utils.FakeNotifier()
        image_proxy = glance.notifier.ImageProxy(image, context, fake_notifier)

        def data_iterator():
            fake_notifier.log = []
            yield 'abcde'
            yield 'fghij'
            insurance['called'] = True

        self.config(disabled_notifications=['image.activate', 'image.upload'])
        image_proxy.set_data(data_iterator(), 10)
        self.assertTrue(insurance['called'])
        output_logs = fake_notifier.get_logs()
        self.assertEqual(0, len(output_logs))
示例#11
0
 def setUp(self):
     super(TestTaskNotifications, self).setUp()
     self.task = TaskStub(task_id='aaa',
                          type='import',
                          status='pending',
                          input={"loc": "fake"},
                          result='',
                          owner=TENANT2,
                          message='',
                          expires_at=None,
                          created_at=DATETIME,
                          updated_at=DATETIME)
     self.context = glance.context.RequestContext(tenant=TENANT2,
                                                  user=USER1)
     self.task_repo_stub = TaskRepoStub()
     self.notifier = unit_test_utils.FakeNotifier()
     self.task_repo_proxy = glance.notifier.TaskRepoProxy(
         self.task_repo_stub, self.context, self.notifier)
     self.task_proxy = glance.notifier.TaskProxy(self.task, self.context,
                                                 self.notifier)
     timeutils.set_time_override()
示例#12
0
    def test_image_set_data_upload_and_activate_notification(self):
        image = ImageStub(image_id=UUID1,
                          name='image-1',
                          status='queued',
                          created_at=DATETIME,
                          updated_at=DATETIME,
                          owner=TENANT1,
                          visibility='public')
        context = glance.context.RequestContext(tenant=TENANT2, user=USER1)
        fake_notifier = unit_test_utils.FakeNotifier()
        image_proxy = glance.notifier.ImageProxy(image, context, fake_notifier)

        def data_iterator():
            fake_notifier.log = []
            yield 'abcde'
            yield 'fghij'
            image_proxy.extra_properties[
                'os_glance_importing_to_stores'] = 'store2'

        image_proxy.extra_properties[
            'os_glance_importing_to_stores'] = 'store1,store2'
        image_proxy.extra_properties['os_glance_failed_import'] = ''
        image_proxy.set_data(data_iterator(), 10)

        output_logs = fake_notifier.get_logs()
        self.assertEqual(2, len(output_logs))

        output_log = output_logs[0]
        self.assertEqual('INFO', output_log['notification_type'])
        self.assertEqual('image.upload', output_log['event_type'])
        self.assertEqual(self.image.image_id, output_log['payload']['id'])
        self.assertEqual(
            ['store2'], output_log['payload']['os_glance_importing_to_stores'])
        self.assertEqual([], output_log['payload']['os_glance_failed_import'])

        output_log = output_logs[1]
        self.assertEqual('INFO', output_log['notification_type'])
        self.assertEqual('image.activate', output_log['event_type'])
        self.assertEqual(self.image.image_id, output_log['payload']['id'])
示例#13
0
 def setUp(self):
     super(TestImageDataSerializer, self).setUp()
     self.serializer = glance.api.v2.image_data.ResponseSerializer(
         notifier=unit_test_utils.FakeNotifier())