예제 #1
0
class MultiRequestTests(KalturaBaseTest):
    
    def setUp(self):
        """These tests require that client.session.start be used
           Instead of self.client.generateSession
           TODO: Document Why
        """
        
        self.config = GetConfig()
        self.client = KalturaClient(self.config)
        self.ks = None
                  
    
    def test_MultiRequest(self):
        """From lines 221- 241 of origional PythonTester.py"""
        
        self.client.startMultiRequest()
        ks = self.client.session.start(ADMIN_SECRET, USER_NAME, 
                                       KalturaSessionType.ADMIN, 
                                       PARTNER_ID, 86400, "") 
        self.client.setKs(ks)
        
        listResult = self.client.baseEntry.list()

        multiResult = self.client.doMultiRequest()
        print multiResult[1].totalCount
        self.client.setKs(multiResult[0])
        
        # error
        try:
            mediaEntry = self.client.media.get('invalid entry id')
            assert(False)
        except KalturaException, e:
            assert(e.code == 'ENTRY_ID_NOT_FOUND')                    
           
        # multi request error
        self.client = KalturaClient(GetConfig())

        #start a NEW multirequest (could move to separate unit test?)
        self.client.startMultiRequest()

        ks = self.client.session.start(ADMIN_SECRET, USER_NAME, 
                                            KalturaSessionType.ADMIN, 
                                            PARTNER_ID, 86400, "")
        self.client.setKs(ks)

        mediaEntry = self.client.media.get('invalid entry id')
    
        multiResult = self.client.doMultiRequest()
        self.client.setKs(multiResult[0])
        assert(isinstance(multiResult[1], KalturaException))
        assert(multiResult[1].code == 'ENTRY_ID_NOT_FOUND')    

        #must be called with existing client multirequest session
        self._AdvancedMultiRequestExample()
class MultiRequestTests(KalturaBaseTest):
    def setUp(self):
        """These tests require that client.session.start be used
           Instead of self.client.generateSession
           TODO: Document Why
        """

        self.config = GetConfig()
        self.client = KalturaClient(self.config)
        self.ks = None

    def test_MultiRequest(self):
        """From lines 221- 241 of origional PythonTester.py"""

        self.client.startMultiRequest()
        ks = self.client.session.start(ADMIN_SECRET, USER_NAME,
                                       KalturaSessionType.ADMIN, PARTNER_ID,
                                       86400, "")
        self.client.setKs(ks)

        listResult = self.client.baseEntry.list()

        multiResult = self.client.doMultiRequest()
        print multiResult[1].totalCount
        self.client.setKs(multiResult[0])

        # error
        try:
            mediaEntry = self.client.media.get('invalid entry id')
            assert (False)
        except KalturaException, e:
            assert (e.code == 'ENTRY_ID_NOT_FOUND')

        # multi request error
        self.client = KalturaClient(GetConfig())

        #start a NEW multirequest (could move to separate unit test?)
        self.client.startMultiRequest()

        ks = self.client.session.start(ADMIN_SECRET, USER_NAME,
                                       KalturaSessionType.ADMIN, PARTNER_ID,
                                       86400, "")
        self.client.setKs(ks)

        mediaEntry = self.client.media.get('invalid entry id')

        multiResult = self.client.doMultiRequest()
        self.client.setKs(multiResult[0])
        assert (isinstance(multiResult[1], KalturaException))
        assert (multiResult[1].code == 'ENTRY_ID_NOT_FOUND')

        #must be called with existing client multirequest session
        self._AdvancedMultiRequestExample()
    def _AdvancedMultiRequestExample(self):
        #this is a separate, local client - not 'self.client'
        client = KalturaClient(
            self.config)  #matches line 154 in PythonTester.py
        client.startMultiRequest()

        from KalturaClient.Plugins.Core import KalturaMixEntry
        from KalturaClient.Plugins.Core import KalturaEditorType

        # Request 1
        ks = client.session.start(ADMIN_SECRET, USER_NAME,
                                  KalturaSessionType.ADMIN, PARTNER_ID, 86400,
                                  "")
        client.setKs(
            ks
        )  # for the current multi request, the result of the first call will be used as the ks for next calls

        mixEntry = KalturaMixEntry()
        mixEntry.setName(".Net Mix %s" % (testString, ))
        mixEntry.setEditorType(KalturaEditorType.SIMPLE)

        # Request 2
        mixEntry = client.mixing.add(mixEntry)

        # Request 3
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = client.media.upload(ulFile)

        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName("Media Entry For Mix %s" % (testString, ))
        mediaEntry.setMediaType(KalturaMediaType.VIDEO)

        # Request 4
        mediaEntry = client.media.addFromUploadedFile(mediaEntry,
                                                      uploadTokenId)

        # Request 5
        client.mixing.appendMediaEntry(mixEntry.id, mediaEntry.id)

        response = client.doMultiRequest()

        for subResponse in response:
            if isinstance(subResponse, KalturaException):
                self.fail("Error occurred: " + subResponse.message)

        # when accessing the response object we will use an index and not the response number (response number - 1)
        assert (isinstance(response[1], KalturaMixEntry))
        mixEntry = response[1]

        print "The new mix entry id is: " + mixEntry.id
예제 #4
0
   def _AdvancedMultiRequestExample(self):
       #this is a separate, local client - not 'self.client'
       client = KalturaClient(self.config) #matches line 154 in PythonTester.py
       client.startMultiRequest()
       
       from KalturaClient.Plugins.Core import KalturaMixEntry
       from KalturaClient.Plugins.Core import KalturaEditorType
       
       # Request 1
       ks = client.session.start(ADMIN_SECRET, USER_NAME, 
                                 KalturaSessionType.ADMIN, 
                                 PARTNER_ID, 86400, "")
       client.setKs(ks) # for the current multi request, the result of the first call will be used as the ks for next calls
 
       mixEntry = KalturaMixEntry()
       mixEntry.setName(".Net Mix %s" % (testString,))
       mixEntry.setEditorType(KalturaEditorType.SIMPLE)
   
       # Request 2
       mixEntry = client.mixing.add(mixEntry)
   
       # Request 3
       ulFile = getTestFile('DemoVideo.flv')
       uploadTokenId = client.media.upload(ulFile)
   
       mediaEntry = KalturaMediaEntry()
       mediaEntry.setName("Media Entry For Mix %s" % (testString,))
       mediaEntry.setMediaType(KalturaMediaType.VIDEO)
   
       # Request 4
       mediaEntry = client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
   
       # Request 5
       client.mixing.appendMediaEntry(mixEntry.id, mediaEntry.id)
   
       response = client.doMultiRequest()
   
       for subResponse in response:
           if isinstance(subResponse, KalturaException):
               self.fail("Error occurred: " + subResponse.message)
   
       # when accessing the response object we will use an index and not the response number (response number - 1)
       assert(isinstance(response[1], KalturaMixEntry))
       mixEntry = response[1]
       
       print "The new mix entry id is: " + mixEntry.id
def AdvancedMultiRequestExample():
    client = KalturaClient(GetConfig())

    client.startMultiRequest()

    # Request 1
    ks = client.session.start(ADMIN_SECRET, USER_NAME,
                              KalturaSessionType.ADMIN, PARTNER_ID, 86400, "")
    client.setKs(
        ks
    )  # for the current multi request, the result of the first call will be used as the ks for next calls

    mixEntry = KalturaMixEntry()
    mixEntry.setName(".Net Mix")
    mixEntry.setEditorType(KalturaEditorType.SIMPLE)

    # Request 2
    mixEntry = client.mixing.add(mixEntry)

    # Request 3
    uploadTokenId = client.media.upload(file('DemoVideo.flv', 'rb'))

    mediaEntry = KalturaMediaEntry()
    mediaEntry.setName("Media Entry For Mix")
    mediaEntry.setMediaType(KalturaMediaType.VIDEO)

    # Request 4
    mediaEntry = client.media.addFromUploadedFile(mediaEntry, uploadTokenId)

    # Request 5
    client.mixing.appendMediaEntry(mixEntry.id, mediaEntry.id)

    response = client.doMultiRequest()

    for subResponse in response:
        if isinstance(subResponse, KalturaException):
            print "Error occurred: " + subResponse.message

    # when accessing the response object we will use an index and not the response number (response number - 1)
    assert (isinstance(response[1], KalturaMixEntry))
    mixEntry = response[1]

    print "The new mix entry id is: " + mixEntry.id
예제 #6
0
def AdvancedMultiRequestExample():
    client = KalturaClient(GetConfig())

    client.startMultiRequest()

    # Request 1
    ks = client.session.start(ADMIN_SECRET, USER_NAME, KalturaSessionType.ADMIN, PARTNER_ID, 86400, "")
    client.setKs(ks) # for the current multi request, the result of the first call will be used as the ks for next calls

    mixEntry = KalturaMixEntry()
    mixEntry.setName(".Net Mix")
    mixEntry.setEditorType(KalturaEditorType.SIMPLE)

    # Request 2
    mixEntry = client.mixing.add(mixEntry)

    # Request 3
    uploadTokenId = client.media.upload(file('DemoVideo.flv', 'rb'))

    mediaEntry = KalturaMediaEntry()
    mediaEntry.setName("Media Entry For Mix")
    mediaEntry.setMediaType(KalturaMediaType.VIDEO)

    # Request 4
    mediaEntry = client.media.addFromUploadedFile(mediaEntry, uploadTokenId)

    # Request 5
    client.mixing.appendMediaEntry(mixEntry.id, mediaEntry.id)

    response = client.doMultiRequest()

    for subResponse in response:
        if isinstance(subResponse, KalturaException):
            print "Error occurred: " + subResponse.message

    # when accessing the response object we will use an index and not the response number (response number - 1)
    assert(isinstance(response[1], KalturaMixEntry))
    mixEntry = response[1]
    
    print "The new mix entry id is: " + mixEntry.id
예제 #7
0
mediaEntry = client.media.addFromUploadedFile(mediaEntry, uploadTokenId)

# serve
DATA_ENTRY_CONTENT = 'bla bla bla'
dataEntry = KalturaDataEntry()
dataEntry.setName('test data entry')
dataEntry.setDataContent(DATA_ENTRY_CONTENT)
addedDataEntry = client.data.add(dataEntry)
serveUrl = client.data.serve(addedDataEntry.id)
f = urllib.urlopen(serveUrl)
assert(DATA_ENTRY_CONTENT == f.read())

# multi request
client = KalturaClient(GetConfig())

client.startMultiRequest()

ks = client.session.start(ADMIN_SECRET, USER_NAME, KalturaSessionType.ADMIN, PARTNER_ID, 86400, "")
client.setKs(ks)

listResult = client.baseEntry.list()

multiResult = client.doMultiRequest()
print multiResult[1].totalCount
client.setKs(multiResult[0])

# error
try:
    mediaEntry = client.media.get('invalid entry id')
    assert(False)
except KalturaException, e:
mediaEntry = client.media.addFromUploadedFile(mediaEntry, uploadTokenId)

# serve
DATA_ENTRY_CONTENT = 'bla bla bla'
dataEntry = KalturaDataEntry()
dataEntry.setName('test data entry')
dataEntry.setDataContent(DATA_ENTRY_CONTENT)
addedDataEntry = client.data.add(dataEntry)
serveUrl = client.data.serve(addedDataEntry.id)
f = urllib.urlopen(serveUrl)
assert (DATA_ENTRY_CONTENT == f.read())

# multi request
client = KalturaClient(GetConfig())

client.startMultiRequest()

ks = client.session.start(ADMIN_SECRET, USER_NAME, KalturaSessionType.ADMIN,
                          PARTNER_ID, 86400, "")
client.setKs(ks)

listResult = client.baseEntry.list()

multiResult = client.doMultiRequest()
print multiResult[1].totalCount
client.setKs(multiResult[0])

# error
mediaEntry = KalturaMediaEntry()
mediaEntry.setName("Error media entry")
mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
class MultiRequestTests(KalturaBaseTest):
    def setUp(self):
        """These tests require that client.session.start be used
           Instead of self.client.generateSession
           TODO: Document Why
        """

        self.config = GetConfig()
        self.client = KalturaClient(self.config)
        self.ks = None

    def test_MultiRequest(self):
        """From lines 221- 241 of origional PythonTester.py"""

        self.client.startMultiRequest()
        ks = self.client.session.start(ADMIN_SECRET, USER_NAME,
                                       KalturaSessionType.ADMIN, PARTNER_ID,
                                       86400, "")
        self.client.setKs(ks)

        listResult = self.client.baseEntry.list()

        multiResult = self.client.doMultiRequest()
        print(multiResult[1].totalCount)
        self.client.setKs(multiResult[0])

        # error
        try:
            mediaEntry = self.client.media.get('invalid entry id')
            assert (False)
        except KalturaException as e:
            assert (e.code == 'ENTRY_ID_NOT_FOUND')

        # multi request error
        self.client = KalturaClient(GetConfig())

        #start a NEW multirequest (could move to separate unit test?)
        self.client.startMultiRequest()

        ks = self.client.session.start(ADMIN_SECRET, USER_NAME,
                                       KalturaSessionType.ADMIN, PARTNER_ID,
                                       86400, "")
        self.client.setKs(ks)

        mediaEntry = self.client.media.get('invalid entry id')

        multiResult = self.client.doMultiRequest()
        self.client.setKs(multiResult[0])
        assert (isinstance(multiResult[1], KalturaException))
        assert (multiResult[1].code == 'ENTRY_ID_NOT_FOUND')

        #must be called with existing client multirequest session
        self._AdvancedMultiRequestExample()

    # copied from C# tester
    def _AdvancedMultiRequestExample(self):
        #this is a separate, local client - not 'self.client'
        client = KalturaClient(
            self.config)  #matches line 154 in PythonTester.py
        client.startMultiRequest()

        from KalturaClient.Plugins.Core import KalturaMixEntry
        from KalturaClient.Plugins.Core import KalturaEditorType

        # Request 1
        ks = client.session.start(ADMIN_SECRET, USER_NAME,
                                  KalturaSessionType.ADMIN, PARTNER_ID, 86400,
                                  "")
        client.setKs(
            ks
        )  # for the current multi request, the result of the first call will be used as the ks for next calls

        mixEntry = KalturaMixEntry()
        mixEntry.setName(".Net Mix %s" % (testString, ))
        mixEntry.setEditorType(KalturaEditorType.SIMPLE)

        # Request 2
        mixEntry = client.mixing.add(mixEntry)

        # Request 3
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = client.media.upload(ulFile)

        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName("Media Entry For Mix %s" % (testString, ))
        mediaEntry.setMediaType(KalturaMediaType.VIDEO)

        # Request 4
        mediaEntry = client.media.addFromUploadedFile(mediaEntry,
                                                      uploadTokenId)

        # Request 5
        client.mixing.appendMediaEntry(mixEntry.id, mediaEntry.id)

        response = client.doMultiRequest()

        for subResponse in response:
            if isinstance(subResponse, KalturaException):
                self.fail("Error occurred: " + subResponse.message)

        # when accessing the response object we will use an index and not the response number (response number - 1)
        assert (isinstance(response[1], KalturaMixEntry))
        mixEntry = response[1]

        print("The new mix entry id is: " + mixEntry.id)