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); }
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();