Пример #1
0
    def test_use_update_without_timestamp(self):
        version = NotificationBase.get_version(self.payload)
        self.assertEqual(450161655000000000, version)
        self.assertEqual(18, len(str(version)))

        aware_version = NotificationBase.get_version(self.aware_payload)
        self.assertEqual(450132855000000000, aware_version)
        self.assertEqual(18, len(str(aware_version)))

        self.assertEqual(self.get_interval(version, aware_version), 28800)
    def test_use_update_without_timestamp(self):
        version = NotificationBase.get_version(self.payload)
        self.assertEqual('450161655000000000', version)
        self.assertEqual(18, len(version))

        aware_version = NotificationBase.get_version(self.aware_payload)
        self.assertEqual('450132855000000000', aware_version)
        self.assertEqual(18, len(aware_version))

        self.assertEqual(self.get_interval(version, aware_version), 28800)
Пример #3
0
    def test_use_update_with_timestamp(self):
        version = NotificationBase.get_version(self.payload, self.timestamp)
        self.assertEqual(450161655161655012, version)
        self.assertGreater(version, 10 ** 17)

        aware_version = NotificationBase.get_version(self.aware_payload,
                                                     self.timestamp)
        self.assertEqual(450132855161655012, aware_version)
        self.assertEqual(18, len(str(aware_version)))

        self.assertEqual(self.get_interval(version, aware_version), 28800)
    def test_use_create_without_timestamp(self):
        self.payload.pop('updated_at')
        self.aware_payload.pop('updated_at')

        version = NotificationBase.get_version(self.payload)
        self.assertEqual('449902455000000000', version)
        self.assertEqual(18, len(version))

        aware_version = NotificationBase.get_version(self.aware_payload)
        self.assertEqual('449873655000000000', aware_version)
        self.assertEqual(18, len(aware_version))

        self.assertEqual(self.get_interval(version, aware_version), 28800)
Пример #5
0
    def test_use_create_without_timestamp(self):
        self.payload.pop('updated_at')
        self.aware_payload.pop('updated_at')

        version = NotificationBase.get_version(self.payload)
        self.assertEqual(449902455000000000, version)
        self.assertEqual(18, len(str(version)))

        aware_version = NotificationBase.get_version(self.aware_payload)
        self.assertEqual(449873655000000000, aware_version)
        self.assertEqual(18, len(str(aware_version)))

        self.assertEqual(self.get_interval(version, aware_version), 28800)
    def test_use_create_with_timestamp(self):
        self.payload.pop('updated_at')
        self.aware_payload.pop('updated_at')

        version = NotificationBase.get_version(self.payload, self.timestamp)
        self.assertEqual(449902455161655012, version)
        self.assertEqual(18, len(str(version)))

        aware_version = NotificationBase.get_version(self.aware_payload,
                                                     self.timestamp)
        self.assertEqual(449873655161655012, aware_version)
        self.assertEqual(18, len(str(aware_version)))

        self.assertEqual(self.get_interval(version, aware_version), 28800)
Пример #7
0
    def test_use_create_with_timestamp(self):
        self.payload.pop('updated_at')
        self.aware_payload.pop('updated_at')

        version = NotificationBase.get_version(self.payload, self.timestamp)
        self.assertEqual('449902455161655012', version)
        self.assertEqual(18, len(version))

        aware_version = NotificationBase.get_version(self.aware_payload,
                                                     self.timestamp)
        self.assertEqual('449873655161655012', aware_version)
        self.assertEqual(18, len(aware_version))

        self.assertEqual(self.get_interval(version, aware_version), 28800)
    def test_setup_data(self):
        """Tests initial data load."""
        image_member_mocks = [
            self.members_image_members
        ]
        with mock.patch('glanceclient.v2.images.Controller.list',
                        return_value=self.images) as mock_list:
            with mock.patch('glanceclient.v2.image_members.Controller.list',
                            side_effect=image_member_mocks) as mock_members:
                # This is not testing the elasticsearch call, just
                # that the documents being indexed are as expected
                with mock.patch.object(
                        self.plugin.index_helper,
                        'save_documents') as mock_save:
                    self.plugin.setup_data()
                    versions = [NotificationBase.get_version(img)
                                for img in self.images]
                    mock_list.assert_called_once_with()
                    mock_members.assert_called_once_with(
                        self.members_image['id'])

                    mock_save.assert_called_once_with([
                        {
                            'kernel_id': None,
                            'tags': [],
                            'protected': False,
                            'min_disk': None,
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 256,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [],
                            'visibility': 'public',
                            'owner': '6838eb7b-6ded-434a-882c-b344c77fe8df',
                            'disk_format': None,
                            'name': 'simple',
                            'created_at': '2012-05-16T15:27:36Z',
                            'id': 'c80a1a6c-bd1f-41c5-90ee-81afedb1d58d'
                        },
                        {
                            'kernel_id': None,
                            'tags': ['ping', 'pong'],
                            'protected': False,
                            'min_disk': None,
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 512,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [],
                            'visibility': 'public',
                            'owner': '6838eb7b-6ded-434a-882c-b344c77fe8df',
                            'disk_format': None,
                            'name': 'tagged',
                            'created_at': '2012-05-16T15:27:36Z',
                            'id': 'a85abd86-55b3-4d5b-b0b4-5d0a6e6042fc'},
                        {
                            'kernel_id': None,
                            'tags': [], 'protected': False,
                            'min_disk': None,
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 256,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [],
                            'mysql_version': '5.6',
                            'visibility': 'public',
                            'hypervisor': 'lxc',
                            'owner': '2c014f32-55eb-467d-8fcb-4bd706012f81',
                            'id': '971ec09a-8067-4bc8-a91f-ae3557f1c4c7',
                            'name': 'complex',
                            'created_at': '2012-05-16T15:27:36Z',
                            'disk_format': None
                        },
                        {
                            'kernel_id': None, 'tags': [],
                            'protected': False,
                            'min_disk': None,
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 256,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [
                                '6838eb7b-6ded-434a-882c-b344c77fe8df',
                                '2c014f32-55eb-467d-8fcb-4bd706012f81',
                                '5a3e60e8-cfa9-4a9e-a90a-62b42cea92b8'
                            ],
                            'visibility': 'private',
                            'owner': '2c014f32-55eb-467d-8fcb-4bd706012f81',
                            'disk_format': None,
                            'name': 'complex',
                            'created_at': '2012-05-16T15:27:36Z',
                            'id': '971ec09a-8067-4bc8-a91f-ae3557f1c4c7'
                        },
                        {
                            'kernel_id': 'KERNEL-ID-SEARCH-LIGHT-ROCKS',
                            'tags': [], 'protected': False,
                            'min_disk': None,
                            'ramdisk_id': 'RAMDISK-ID-GO-BRONCOS',
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 256,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [],
                            'visibility': 'public',
                            'owner': '6838eb7b-6ded-434a-882c-b344c77fe8df',
                            'disk_format': None,
                            'name': 'kernel_ramdisk',
                            'created_at': '2012-05-16T15:27:36Z',
                            'id': 'KERNEL-eae7-4c0f-b50d-RAMDISK'
                        }
                    ], versions=versions)
 def test_setup_data(self):
     with mock.patch.object(self.plugin, 'get_objects',
                            return_value=self.namespaces) as mock_get:
         with mock.patch.object(self.plugin.index_helper,
                                'save_documents') as mock_save:
             self.plugin.setup_data()
             versions = [NotificationBase.get_version(obj)
                         for obj in self.namespaces]
             mock_get.assert_called_once_with()
             mock_save.assert_called_once_with([
                 {
                     'created_at': now,
                     'updated_at': now,
                     'display_name': '1',
                     'description': 'desc1',
                     'id': 'namespace1',
                     'name': '1',
                     'objects': [
                         {
                             'name': 'Object1',
                             'description': 'desc1',
                             'properties': [{
                                 'default': 'value1',
                                 'name': 'property1',
                                 'enum': ['value1', 'value2'],
                                 'type': 'string',
                                 'title': 'something title',
                                 'description': None
                             }],
                         }
                     ],
                     'namespace': 'namespace1',
                     'visibility': 'private',
                     'protected': True,
                     'owner': '6838eb7b-6ded-434a-882c-b344c77fe8df',
                     'properties': [{
                         'name': 'Property1',
                         'type': 'string',
                         'title': 'title1',
                         'description': None
                     }],
                     'resource_types': [{
                         'name': 'ResourceType1',
                     }],
                     'tags': ['Tag1'],
                 },
                 {
                     'created_at': now,
                     'updated_at': now,
                     'display_name': '2',
                     'description': 'desc2',
                     'id': 'namespace2',
                     'name': '2',
                     'objects': [
                         {
                             'properties': [],
                             'name': 'Object2',
                             'description': 'desc2'
                         },
                         {
                             'properties': [],
                             'name': 'Object3',
                             'description': 'desc3'
                         }
                     ],
                     'namespace': 'namespace2',
                     'visibility': 'public',
                     'protected': False,
                     'owner': '6838eb7b-6ded-434a-882c-b344c77fe8df',
                     'properties': [
                         {
                             'name': 'Property2',
                             'type': 'string',
                             'title': 'title2',
                             'description': None
                         },
                         {
                             'name': 'Property3',
                             'type': 'string',
                             'title': 'title3',
                             'description': None
                         }
                     ],
                     'resource_types': [
                         {
                             'name': 'ResourceType2'
                         },
                         {
                             'name': 'ResourceType3'
                         }
                     ],
                     'tags': ['Tag2', 'Tag3']
                 }
             ], index=None, versions=versions)
Пример #10
0
 def test_index_initial_data(self):
     with mock.patch.object(self.plugin,
                            'get_objects',
                            return_value=self.namespaces) as mock_get:
         with mock.patch.object(self.plugin.index_helper,
                                'save_documents') as mock_save:
             self.plugin.index_initial_data()
             versions = [
                 NotificationBase.get_version(obj)
                 for obj in self.namespaces
             ]
             mock_get.assert_called_once_with()
             mock_save.assert_called_once_with([{
                 'created_at':
                 now,
                 'updated_at':
                 now,
                 'display_name':
                 '1',
                 'description':
                 'desc1',
                 'id':
                 'namespace1',
                 'name':
                 '1',
                 'objects': [{
                     'name':
                     'Object1',
                     'description':
                     'desc1',
                     'properties': [{
                         'default': 'value1',
                         'name': 'property1',
                         'enum': ['value1', 'value2'],
                         'type': 'string',
                         'title': 'something title',
                         'description': None
                     }],
                 }],
                 'namespace':
                 'namespace1',
                 'visibility':
                 'private',
                 'protected':
                 True,
                 'owner':
                 '6838eb7b-6ded-434a-882c-b344c77fe8df',
                 'project_id':
                 '6838eb7b-6ded-434a-882c-b344c77fe8df',
                 'properties': [{
                     'name': 'Property1',
                     'type': 'string',
                     'title': 'title1',
                     'description': None
                 }],
                 'resource_types': [{
                     'name': 'ResourceType1',
                 }],
                 'tags': ['Tag1'],
             }, {
                 'created_at':
                 now,
                 'updated_at':
                 now,
                 'display_name':
                 '2',
                 'description':
                 'desc2',
                 'id':
                 'namespace2',
                 'name':
                 '2',
                 'objects': [{
                     'properties': [],
                     'name': 'Object2',
                     'description': 'desc2'
                 }, {
                     'properties': [],
                     'name': 'Object3',
                     'description': 'desc3'
                 }],
                 'namespace':
                 'namespace2',
                 'visibility':
                 'public',
                 'protected':
                 False,
                 'owner':
                 '6838eb7b-6ded-434a-882c-b344c77fe8df',
                 'project_id':
                 '6838eb7b-6ded-434a-882c-b344c77fe8df',
                 'properties': [{
                     'name': 'Property2',
                     'type': 'string',
                     'title': 'title2',
                     'description': None
                 }, {
                     'name': 'Property3',
                     'type': 'string',
                     'title': 'title3',
                     'description': None
                 }],
                 'resource_types': [{
                     'name': 'ResourceType2'
                 }, {
                     'name': 'ResourceType3'
                 }],
                 'tags': ['Tag2', 'Tag3']
             }],
                                               index=None,
                                               versions=versions)
    def test_index_initial_data(self):
        """Tests initial data load."""
        image_member_mocks = [
            self.members_image_members
        ]
        with mock.patch('glanceclient.v2.images.Controller.list',
                        return_value=self.images) as mock_list:
            with mock.patch('glanceclient.v2.image_members.Controller.list',
                            side_effect=image_member_mocks) as mock_members:
                # This is not testing the elasticsearch call, just
                # that the documents being indexed are as expected
                with mock.patch.object(
                        self.plugin.index_helper,
                        'save_documents') as mock_save:
                    self.plugin.index_initial_data()
                    versions = [NotificationBase.get_version(img)
                                for img in self.images]
                    mock_list.assert_called_once_with()
                    mock_members.assert_called_once_with(
                        self.members_image['id'])

                    mock_save.assert_called_once_with([
                        {
                            'kernel_id': None,
                            'tags': [],
                            'protected': False,
                            'min_disk': None,
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 256,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [],
                            'visibility': 'public',
                            'owner': TENANT1,
                            'project_id': TENANT1,
                            'disk_format': None,
                            'name': 'simple',
                            'created_at': '2012-05-16T15:27:36Z',
                            'id': 'c80a1a6c-bd1f-41c5-90ee-81afedb1d58d',
                            'image_type': 'image'
                        },
                        {
                            'kernel_id': None,
                            'tags': ['ping', 'pong'],
                            'protected': False,
                            'min_disk': None,
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 512,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [],
                            'visibility': 'public',
                            'owner': TENANT1,
                            'project_id': TENANT1,
                            'disk_format': None,
                            'name': 'tagged',
                            'created_at': '2012-05-16T15:27:36Z',
                            'id': 'a85abd86-55b3-4d5b-b0b4-5d0a6e6042fc',
                            'image_type': 'image'
                        },
                        {
                            'kernel_id': None,
                            'tags': [], 'protected': False,
                            'min_disk': None,
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 256,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [],
                            'mysql_version': '5.6',
                            'visibility': 'public',
                            'hypervisor': 'lxc',
                            'owner': TENANT2,
                            'project_id': TENANT2,
                            'id': '971ec09a-8067-4bc8-a91f-ae3557f1c4c7',
                            'image_type': 'image',
                            'name': 'complex',
                            'created_at': '2012-05-16T15:27:36Z',
                            'disk_format': None
                        },
                        {
                            'kernel_id': None, 'tags': [],
                            'protected': False,
                            'min_disk': None,
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 256,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [
                                '6838eb7b-6ded-434a-882c-b344c77fe8df',
                                '2c014f32-55eb-467d-8fcb-4bd706012f81',
                                '5a3e60e8-cfa9-4a9e-a90a-62b42cea92b8'
                            ],
                            'visibility': 'private',
                            'owner': TENANT2,
                            'project_id': TENANT2,
                            'disk_format': None,
                            'name': 'complex',
                            'created_at': '2012-05-16T15:27:36Z',
                            'id': '971ec09a-8067-4bc8-a91f-ae3557f1c4c7',
                            'image_type': 'image'
                        },
                        {
                            'kernel_id': 'KERNEL-ID-SEARCH-LIGHT-ROCKS',
                            'tags': [], 'protected': False,
                            'min_disk': None,
                            'ramdisk_id': 'RAMDISK-ID-GO-BRONCOS',
                            'min_ram': None,
                            'virtual_size': None,
                            'size': 256,
                            'container_format': None,
                            'status': 'active',
                            'updated_at': '2012-05-16T15:27:36Z',
                            'checksum': '93264c3edf5972c9f1cb309543d38a5c',
                            'members': [],
                            'visibility': 'public',
                            'owner': TENANT1,
                            'project_id': TENANT1,
                            'disk_format': None,
                            'name': 'kernel_ramdisk',
                            'created_at': '2012-05-16T15:27:36Z',
                            'id': 'KERNEL-eae7-4c0f-b50d-RAMDISK',
                            'image_type': 'image'
                        }
                    ], index=None, versions=versions)