public function testSyncFlow()
 {
     $this->_client->getSystemService();
     // add upload token
     $uploadToken = new UploadToken();
     $uploadToken->fileName = self::UPLOAD_VIDEO_FILENAME;
     $uploadToken = $this->_client->getUploadTokenService()->add($uploadToken);
     $this->assertTrue(strlen($uploadToken->id) > 0);
     $this->assertEqual($uploadToken->fileName, self::UPLOAD_VIDEO_FILENAME);
     $this->assertEqual($uploadToken->status, UploadTokenStatus::PENDING);
     $this->assertEqual($uploadToken->partnerId, $this->_client->getConfig()->getPartnerId());
     $this->assertEqual($uploadToken->fileSize, null);
     // add media entry
     $entry = new MediaEntry();
     $entry->name = self::ENTRY_NAME;
     $entry->mediaType = MediaType::VIDEO;
     $entry = $this->_client->getMediaService()->add($entry);
     $this->assertTrue(strlen($entry->id) > 0);
     $this->assertTrue($entry->status === EntryStatus::NO_CONTENT);
     $this->assertTrue($entry->name === self::ENTRY_NAME);
     $this->assertTrue($entry->partnerId === $this->_client->getConfig()->getPartnerId());
     // add uploaded token as resource
     $resource = new UploadedFileTokenResource();
     $resource->token = $uploadToken->id;
     $entry = $this->_client->getMediaService()->addContent($entry->id, $resource);
     $this->assertTrue($entry->status === EntryStatus::IMPORT);
     // upload file using the upload token
     $uploadFilePath = dirname(__FILE__) . '/../resources/' . self::UPLOAD_VIDEO_FILENAME;
     $uploadToken = $this->_client->getUploadTokenService()->upload($uploadToken->id, $uploadFilePath);
     $this->assertTrue($uploadToken->status === UploadTokenStatus::CLOSED);
     // get flavor by entry
     $flavorArray = $this->_client->getFlavorAssetService()->getByEntryId($entry->id);
     $this->assertTrue(count($flavorArray) > 0);
     $foundSource = false;
     foreach ($flavorArray as $flavor) {
         if ($flavor->flavorParamsId !== 0) {
             continue;
         }
         $this->assertTrue($flavor->isOriginal);
         $this->assertTrue($flavor->entryId === $entry->id);
         $foundSource = true;
     }
     $this->assertTrue($foundSource);
     // count media entries
     $mediaFilter = new MediaEntryFilter();
     $mediaFilter->idEqual = $entry->id;
     $mediaFilter->statusNotEqual = EntryStatus::DELETED;
     $entryCount = $this->_client->getMediaService()->count($mediaFilter);
     $this->assertTrue($entryCount === 1);
     // delete media entry
     $this->_client->getMediaService()->delete($entry->id);
     sleep(5);
     // wait for the status to update
     // count media entries again
     $entryCount = $this->_client->getMediaService()->count($mediaFilter);
     $this->assertEqual($entryCount, 0);
 }
Example #2
0
require_once dirname(__FILE__) . '/ClassLoader/ClassLoader.php';
$loader = new Symfony\Component\ClassLoader\ClassLoader();
// register Kaltura namespace
$loader->addPrefix('Kaltura', dirname(__FILE__) . '/../library');
$loader->addPrefix('Test', dirname(__FILE__));
$loader->register();
$testerConfig = parse_ini_file(dirname(__FILE__) . '/' . CONFIG_FILE);
// init kaltura configuration
$config = new KalturaConfiguration();
$config->setServiceUrl($testerConfig['serviceUrl']);
$config->setCurlTimeout(120);
$config->setLogger(new \Test\SampleLoggerImplementation());
// init kaltura client
$client = new KalturaClient($config);
// generate session
$ks = $client->generateSession($testerConfig['adminSecret'], $testerConfig['userId'], KalturaSessionType::ADMIN, $testerConfig['partnerId']);
$config->getLogger()->log('Kaltura session (ks) was generated successfully: ' . $ks);
$client->setKs($ks);
// check connectivity
try {
    $client->getSystemService()->ping();
} catch (ApiException $ex) {
    $config->getLogger()->log('Ping failed with api error: ' . $ex->getMessage());
    die;
} catch (ClientException $ex) {
    $config->getLogger()->log('Ping failed with client error: ' . $ex->getMessage());
    die;
}
// run the tester
$tester = new \Test\Zend2ClientTester($client, intval($testerConfig['partnerId']));
$tester->run();