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)
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)