/**
  * @covers WindowsAzure\MediaServices\MediaServicesRestProxy::createJob
  * @covers WindowsAzure\MediaServices\MediaServicesRestProxy::getLatestMediaProcessor
  * @covers WindowsAzure\MediaServices\MediaServicesRestProxy::createJobTemplate
  */
 public function testCreateJobUsingTemplate()
 {
     // Setup
     $mediaProcessor = $this->restProxy->getLatestMediaProcessor(TestResources::MEDIA_SERVICES_PROCESSOR_NAME);
     $inputAsset = $this->createAssetWithFile();
     $configuration = TestResources::MEDIA_SERVICES_TASK_COFIGURATION;
     $name = TestResources::MEDIA_SERVICES_JOB_NAME . $this->createSuffix();
     $nameTempl = TestResources::MEDIA_SERVICES_JOB_TEMPLATE_NAME . $this->createSuffix();
     $taskTemplate = new TaskTemplate(1, 1);
     $jobTemplateBody = TestResources::getMediaServicesJobTemplate($taskTemplate->getId(), $this->getOutputAssetName());
     // Test
     $taskTemplate->setMediaProcessorId($mediaProcessor->getId());
     $taskTemplate->setConfiguration($configuration);
     $jobTemplate = new JobTemplate($jobTemplateBody);
     $jobTemplate->setName($nameTempl);
     $jobTemplate = $this->createJobTemplate($jobTemplate, array($taskTemplate));
     $jobTemplateWithTasks = new Job();
     $jobTemplateWithTasks->setName($name);
     $jobTemplateWithTasks->setTemplateId($jobTemplate->getId());
     $jobTemplateWithTasks = $this->createJob($jobTemplateWithTasks, array($inputAsset));
     // Assert
     $this->assertEquals($jobTemplateBody, $jobTemplate->getJobTemplateBody());
     $this->assertEquals($nameTempl, $jobTemplate->getName());
     $this->assertEquals($name, $jobTemplateWithTasks->getName());
     $this->assertEquals($name, $jobTemplateWithTasks->getName());
     $this->assertEquals($jobTemplate->getId(), $jobTemplateWithTasks->getTemplateId());
     $this->assertContains(TestResources::MEDIA_SERVICES_JOB_ID_PREFIX, $jobTemplateWithTasks->getId());
     $this->assertNotNull($jobTemplateWithTasks->getCreated());
 }
 /**
  * Get list of task templates.
  *
  * @return array of Models\Tasktemplate
  */
 public function getTaskTemplateList()
 {
     $propertyList = $this->_getEntityList('TaskTemplates');
     $result = array();
     foreach ($propertyList as $properties) {
         $result[] = TaskTemplate::createFromOptions($properties);
     }
     return $result;
 }
 public function createJobTemplateWithTasks($name)
 {
     $mediaProcessor = $this->restProxy->getLatestMediaProcessor(TestResources::MEDIA_SERVICES_PROCESSOR_NAME);
     $taskTemplate = new TaskTemplate(1, 1);
     $taskTemplate->setMediaProcessorId($mediaProcessor->getId());
     $taskTemplate->setConfiguration(TestResources::MEDIA_SERVICES_TASK_COFIGURATION);
     $jobTemplateBody = TestResources::getMediaServicesJobTemplate($taskTemplate->getId(), $this->getOutputAssetName());
     $jobTemplate = new JobTemplate($jobTemplateBody);
     $jobTemplate->setName($name);
     $jobTempl = $this->createJobTemplate($jobTemplate, array($taskTemplate));
     return $jobTempl;
 }
 /**
  * @covers WindowsAzure\MediaServices\Models\TaskTemplate::getNumberofOutputAssets
  * @covers WindowsAzure\MediaServices\Models\TaskTemplate::setNumberofOutputAssets
  */
 public function testGetSetNumberofOutputAssets()
 {
     // Setup
     $numberofInputAssets = 3;
     $numberofOutputAssets = 4;
     $task = new TaskTemplate($numberofInputAssets, $numberofOutputAssets);
     $numberofOutputAssets = 6;
     // Test
     $task->setNumberofOutputAssets($numberofOutputAssets);
     $result = $task->getNumberofOutputAssets();
     // Assert
     $this->assertEquals($numberofOutputAssets, $result);
 }
 /**
  * Create task template from array
  *
  * @param array $options Array containing values for object properties
  *
  * @return WindowsAzure\MediaServices\Models\TaskTemplate
  */
 public static function createFromOptions($options)
 {
     Validate::notNull($options['NumberofInputAssets'], 'options[NumberofInputAssets]');
     Validate::notNull($options['NumberofOutputAssets'], 'options[NumberofOutputAssets]');
     $taskTemplate = new TaskTemplate($options['NumberofInputAssets'], $options['NumberofOutputAssets']);
     $taskTemplate->fromArray($options);
     return $taskTemplate;
 }