/**
  * @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 Job Templates.
  *
  * @return array of Models\JobTemplate
  */
 public function getJobTemplateList()
 {
     $propertyList = $this->_getEntityList('JobTemplates');
     $result = array();
     foreach ($propertyList as $properties) {
         $result[] = JobTemplate::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\JobTemplate::getJobTemplateBody
  * @covers WindowsAzure\MediaServices\Models\JobTemplate::setJobTemplateBody
  */
 public function testGetSetJobTemplateBody()
 {
     // Setup
     $jobTemplateBody = 'JobTemplateBody';
     $jobTempl = new JobTemplate($jobTemplateBody);
     $jobTemplateBody = 'New job Template Body';
     // Test
     $jobTempl->setJobTemplateBody($jobTemplateBody);
     $result = $jobTempl->getJobTemplateBody();
     // Assert
     $this->assertEquals($jobTemplateBody, $result);
 }
 /**
  * Create asset from array
  *
  * @param array $options Array containing values for object properties
  *
  * @return WindowsAzure\MediaServices\Models\JobTemplate
  */
 public static function createFromOptions($options)
 {
     Validate::notNull($options['JobTemplateBody'], 'options[JobTemplateBody]');
     $jobTemplate = new JobTemplate($options['JobTemplateBody'], $options['TemplateType']);
     $jobTemplate->fromArray($options);
     return $jobTemplate;
 }