コード例 #1
0
    def test_list(self):

        entriesTotalCount = 4
        entriesPageSize = 3
        metadataPageSize = 2

        entries, metadataProfiles = self.createEntriesWithMetadataObjects(entriesTotalCount, metadataPageSize)

        entriesFilter = KalturaMediaEntryFilter()
        entriesFilter.tagsLike = self.uniqueTag
        entriesFilter.statusIn = KalturaEntryStatus.PENDING + ',' + KalturaEntryStatus.NO_CONTENT

        entriesPager = KalturaFilterPager()
        entriesPager.pageSize = entriesPageSize

        metadataFilter = KalturaMetadataFilter()
        metadataFilter.metadataObjectTypeEqual = KalturaMetadataObjectType.ENTRY

        metadataMapping = KalturaResponseProfileMapping()
        metadataMapping.filterProperty = 'objectIdEqual'
        metadataMapping.parentProperty = 'id'

        metadataPager = KalturaFilterPager()
        metadataPager.pageSize = metadataPageSize

        metadataResponseProfile = KalturaDetachedResponseProfile()
        metadataResponseProfile.name = self.uniqid('test_')
        metadataResponseProfile.type = KalturaResponseProfileType.INCLUDE_FIELDS
        metadataResponseProfile.fields = 'id,objectId,createdAt, xml'
        metadataResponseProfile.filter = metadataFilter
        metadataResponseProfile.pager = metadataPager
        metadataResponseProfile.mappings = [metadataMapping]

        responseProfile = KalturaResponseProfile()
        responseProfile.name = self.uniqid('test_')
        responseProfile.systemName = self.uniqid('test_')
        responseProfile.type = KalturaResponseProfileType.INCLUDE_FIELDS
        responseProfile.fields = 'id,name,createdAt'
        responseProfile.relatedProfiles = [metadataResponseProfile]

        responseProfile = self.client.responseProfile.add(responseProfile)

        nestedResponseProfile = KalturaResponseProfileHolder()
        nestedResponseProfile.id = responseProfile.id

        self.client.setResponseProfile(nestedResponseProfile)
        list = self.client.baseEntry.list(entriesFilter, entriesPager)

        self.assertIsInstance(list, KalturaBaseEntryListResponse)
        self.assertEqual(entriesTotalCount, list.totalCount)
        self.assertEqual(entriesPageSize, len(list.objects))
        [self.assertIsInstance(entry, KalturaMediaEntry) for entry in list.objects]
        
        for entry in list.objects:
            self.assertNotEqual(entry.relatedObjects, NotImplemented)
            self.assertTrue(entry.relatedObjects.has_key(metadataResponseProfile.name))
            metadataList = entry.relatedObjects[metadataResponseProfile.name]
            self.assertIsInstance(metadataList, KalturaMetadataListResponse)
            self.assertEqual(len(metadataProfiles), len(metadataList.objects))
            [self.assertIsInstance(metadata, KalturaMetadata) for metadata in metadataList.objects]
            
            for metadata in metadataList.objects:
                self.assertEqual(entry.id, metadata.objectId)
コード例 #2
0
    def test_list(self):

        entriesTotalCount = 4
        entriesPageSize = 3
        metadataPageSize = 2

        entries, metadataProfiles = self.createEntriesWithMetadataObjects(
            entriesTotalCount, metadataPageSize)

        entriesFilter = KalturaMediaEntryFilter()
        entriesFilter.tagsLike = self.uniqueTag
        entriesFilter.statusIn = KalturaEntryStatus.PENDING + ',' + KalturaEntryStatus.NO_CONTENT

        entriesPager = KalturaFilterPager()
        entriesPager.pageSize = entriesPageSize

        metadataFilter = KalturaMetadataFilter()
        metadataFilter.metadataObjectTypeEqual = KalturaMetadataObjectType.ENTRY

        metadataMapping = KalturaResponseProfileMapping()
        metadataMapping.filterProperty = 'objectIdEqual'
        metadataMapping.parentProperty = 'id'

        metadataPager = KalturaFilterPager()
        metadataPager.pageSize = metadataPageSize

        metadataResponseProfile = KalturaDetachedResponseProfile()
        metadataResponseProfile.name = self.uniqid('test_')
        metadataResponseProfile.type = KalturaResponseProfileType.INCLUDE_FIELDS
        metadataResponseProfile.fields = 'id,objectId,createdAt, xml'
        metadataResponseProfile.filter = metadataFilter
        metadataResponseProfile.pager = metadataPager
        metadataResponseProfile.mappings = [metadataMapping]

        responseProfile = KalturaResponseProfile()
        responseProfile.name = self.uniqid('test_')
        responseProfile.systemName = self.uniqid('test_')
        responseProfile.type = KalturaResponseProfileType.INCLUDE_FIELDS
        responseProfile.fields = 'id,name,createdAt'
        responseProfile.relatedProfiles = [metadataResponseProfile]

        responseProfile = self.client.responseProfile.add(responseProfile)

        nestedResponseProfile = KalturaResponseProfileHolder()
        nestedResponseProfile.id = responseProfile.id

        self.client.setResponseProfile(nestedResponseProfile)
        list = self.client.baseEntry.list(entriesFilter, entriesPager)

        self.assertIsInstance(list, KalturaBaseEntryListResponse)
        self.assertEqual(entriesTotalCount, list.totalCount)
        self.assertEqual(entriesPageSize, len(list.objects))
        [
            self.assertIsInstance(entry, KalturaMediaEntry)
            for entry in list.objects
        ]

        for entry in list.objects:
            self.assertNotEqual(entry.relatedObjects, NotImplemented)
            self.assertTrue(
                entry.relatedObjects.has_key(metadataResponseProfile.name))
            metadataList = entry.relatedObjects[metadataResponseProfile.name]
            self.assertIsInstance(metadataList, KalturaMetadataListResponse)
            self.assertEqual(len(metadataProfiles), len(metadataList.objects))
            [
                self.assertIsInstance(metadata, KalturaMetadata)
                for metadata in metadataList.objects
            ]

            for metadata in metadataList.objects:
                self.assertEqual(entry.id, metadata.objectId)