Exemple #1
0
    def test_image_create_defaults(self):
        timeutils.set_time_override()
        image = self.db_api.image_create(self.context, {"status": "queued"})
        create_time = timeutils.utcnow()

        self.assertEqual(None, image["name"])
        self.assertEqual(None, image["container_format"])
        self.assertEqual(0, image["min_ram"])
        self.assertEqual(0, image["min_disk"])
        self.assertEqual(None, image["owner"])
        self.assertEqual(False, image["is_public"])
        self.assertEqual(None, image["size"])
        self.assertEqual(None, image["checksum"])
        self.assertEqual(None, image["disk_format"])
        self.assertEqual([], image["locations"])
        self.assertEqual(False, image["protected"])
        self.assertEqual(False, image["deleted"])
        self.assertEqual(None, image["deleted_at"])
        self.assertEqual([], image["properties"])
        self.assertEqual(image["created_at"], create_time)
        self.assertEqual(image["updated_at"], create_time)

        # Image IDs aren't predictable, but they should be populated
        self.assertTrue(uuid.UUID(image["id"]))

        # NOTE(bcwaldon): the tags attribute should not be returned as a part
        # of a core image entity
        self.assertFalse("tags" in image)
Exemple #2
0
    def test_image_member_create(self):
        timeutils.set_time_override()
        memberships = self.db_api.image_member_find(self.context)
        self.assertEqual([], memberships)

        create_time = timeutils.utcnow()
        TENANT1 = uuidutils.generate_uuid()
        self.db_api.image_member_create(self.context, {
            'member': TENANT1,
            'image_id': UUID1
        })

        memberships = self.db_api.image_member_find(self.context)
        self.assertEqual(1, len(memberships))
        actual = memberships[0]
        self.assertEqual(actual['created_at'], create_time)
        self.assertEqual(actual['updated_at'], create_time)
        actual.pop('id')
        actual.pop('created_at')
        actual.pop('updated_at')
        expected = {
            'member': TENANT1,
            'image_id': UUID1,
            'can_share': False,
            'status': 'pending',
        }
        self.assertEqual(expected, actual)
Exemple #3
0
 def test_image_property_delete(self):
     fixture = {"name": "ping", "value": "pong", "image_id": UUID1}
     prop = self.db_api.image_property_create(self.context, fixture)
     timeutils.set_time_override()
     prop = self.db_api.image_property_delete(self.context, prop)
     self.assertEqual(prop["deleted_at"], timeutils.utcnow())
     self.assertTrue(prop["deleted"])
Exemple #4
0
    def test_image_member_create(self):
        timeutils.set_time_override()
        memberships = self.db_api.image_member_find(self.context)
        self.assertEqual([], memberships)

        create_time = timeutils.utcnow()
        TENANT1 = uuidutils.generate_uuid()
        self.db_api.image_member_create(self.context,
                                        {'member': TENANT1, 'image_id': UUID1})

        memberships = self.db_api.image_member_find(self.context)
        self.assertEqual(1, len(memberships))
        actual = memberships[0]
        self.assertEqual(actual['created_at'], create_time)
        self.assertEqual(actual['updated_at'], create_time)
        actual.pop('id')
        actual.pop('created_at')
        actual.pop('updated_at')
        expected = {
            'member': TENANT1,
            'image_id': UUID1,
            'can_share': False,
            'status': 'pending',
        }
        self.assertEqual(expected, actual)
Exemple #5
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()
Exemple #6
0
 def test_image_property_delete(self):
     fixture = {'name': 'ping', 'value': 'pong', 'image_id': UUID1}
     prop = self.db_api.image_property_create(self.context, fixture)
     timeutils.set_time_override()
     prop = self.db_api.image_property_delete(self.context, prop)
     self.assertEqual(prop['deleted_at'], timeutils.utcnow())
     self.assertTrue(prop['deleted'])
Exemple #7
0
 def test_image_property_delete(self):
     fixture = {'name': 'ping', 'value': 'pong', 'image_id': UUID1}
     prop = self.db_api.image_property_create(self.context, fixture)
     timeutils.set_time_override()
     prop = self.db_api.image_property_delete(self.context, prop)
     self.assertEqual(prop['deleted_at'], timeutils.utcnow())
     self.assertTrue(prop['deleted'])
Exemple #8
0
    def test_image_create_defaults(self):
        timeutils.set_time_override()
        image = self.db_api.image_create(self.context, {'status': 'queued'})
        create_time = timeutils.utcnow()

        self.assertEqual(None, image['name'])
        self.assertEqual(None, image['container_format'])
        self.assertEqual(0, image['min_ram'])
        self.assertEqual(0, image['min_disk'])
        self.assertEqual(None, image['owner'])
        self.assertEqual(False, image['is_public'])
        self.assertEqual(None, image['size'])
        self.assertEqual(None, image['checksum'])
        self.assertEqual(None, image['disk_format'])
        self.assertEqual([], image['locations'])
        self.assertEqual(False, image['protected'])
        self.assertEqual(False, image['deleted'])
        self.assertEqual(None, image['deleted_at'])
        self.assertEqual([], image['properties'])
        self.assertEqual(image['created_at'], create_time)
        self.assertEqual(image['updated_at'], create_time)

        # Image IDs aren't predictable, but they should be populated
        self.assertTrue(uuid.UUID(image['id']))

        #NOTE(bcwaldon): the tags attribute should not be returned as a part
        # of a core image entity
        self.assertFalse('tags' in image)
Exemple #9
0
    def test_image_create_defaults(self):
        timeutils.set_time_override()
        image = self.db_api.image_create(self.context, {'status': 'queued'})
        create_time = timeutils.utcnow()

        self.assertEqual(None, image['name'])
        self.assertEqual(None, image['container_format'])
        self.assertEqual(0, image['min_ram'])
        self.assertEqual(0, image['min_disk'])
        self.assertEqual(None, image['owner'])
        self.assertEqual(False, image['is_public'])
        self.assertEqual(None, image['size'])
        self.assertEqual(None, image['checksum'])
        self.assertEqual(None, image['disk_format'])
        self.assertEqual([], image['locations'])
        self.assertEqual(False, image['protected'])
        self.assertEqual(False, image['deleted'])
        self.assertEqual(None, image['deleted_at'])
        self.assertEqual([], image['properties'])
        self.assertEqual(image['created_at'], create_time)
        self.assertEqual(image['updated_at'], create_time)

        # Image IDs aren't predictable, but they should be populated
        self.assertTrue(uuid.UUID(image['id']))

        #NOTE(bcwaldon): the tags attribute should not be returned as a part
        # of a core image entity
        self.assertFalse('tags' in image)
Exemple #10
0
 def test_fail(self):
     timeutils.set_time_override()
     self.task.begin_processing()
     self.task.fail('{"message": "connection failed"}')
     self.assertEqual(self.task.status, 'failure')
     expected = (timeutils.utcnow() +
                 datetime.timedelta(hours=CONF.task_time_to_live))
     self.assertEqual(self.task.expires_at, expected)
     timeutils.clear_time_override()
Exemple #11
0
 def test_succeed(self):
     timeutils.set_time_override()
     self.task.begin_processing()
     self.task.succeed('{"location": "file://home"}')
     self.assertEqual(self.task.status, 'success')
     expected = (timeutils.utcnow() +
                 datetime.timedelta(hours=CONF.task_time_to_live))
     self.assertEqual(self.task.expires_at, expected)
     timeutils.clear_time_override()
Exemple #12
0
 def test_fail(self):
     timeutils.set_time_override()
     self.task.begin_processing()
     self.task.fail('{"message": "connection failed"}')
     self.assertEqual(self.task.status, 'failure')
     expected = (timeutils.utcnow() +
                 datetime.timedelta(hours=CONF.task.task_time_to_live))
     self.assertEqual(
         self.task.expires_at,
         expected
     )
     timeutils.clear_time_override()
Exemple #13
0
 def test_succeed(self):
     timeutils.set_time_override()
     self.task.begin_processing()
     self.task.succeed('{"location": "file://home"}')
     self.assertEqual(self.task.status, 'success')
     expected = (timeutils.utcnow() +
                 datetime.timedelta(hours=CONF.task.task_time_to_live))
     self.assertEqual(
         self.task.expires_at,
         expected
     )
     timeutils.clear_time_override()
Exemple #14
0
    def test_image_member_create(self):
        timeutils.set_time_override()
        memberships = self.db_api.image_member_find(self.context)
        self.assertEqual([], memberships)

        create_time = timeutils.utcnow()
        TENANT1 = uuidutils.generate_uuid()
        self.db_api.image_member_create(self.context, {"member": TENANT1, "image_id": UUID1})

        memberships = self.db_api.image_member_find(self.context)
        self.assertEqual(1, len(memberships))
        actual = memberships[0]
        self.assertEqual(actual["created_at"], create_time)
        self.assertEqual(actual["updated_at"], create_time)
        actual.pop("id")
        actual.pop("created_at")
        actual.pop("updated_at")
        expected = {"member": TENANT1, "image_id": UUID1, "can_share": False, "status": "pending"}
        self.assertEqual(expected, actual)
Exemple #15
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()
Exemple #16
0
 def test_image_get_allow_deleted(self):
     timeutils.set_time_override()
     self.db_api.image_destroy(self.adm_context, UUID1)
     image = self.db_api.image_get(self.adm_context, UUID1)
     self.assertEquals(image['id'], self.fixtures[0]['id'])
     self.assertEquals(image['deleted_at'], timeutils.utcnow())
Exemple #17
0
 def test_image_get_allow_deleted(self):
     timeutils.set_time_override()
     self.db_api.image_destroy(self.adm_context, UUID1)
     image = self.db_api.image_get(self.adm_context, UUID1)
     self.assertEquals(image['id'], self.fixtures[0]['id'])
     self.assertEquals(image['deleted_at'], timeutils.utcnow())