Ejemplo n.º 1
0
 /**
  * Wraps media services entity with Atom entry
  *
  * @param object $entity Media services entity
  * @param array  $links  AtomLinks to other media services entities
  *
  * @return XML string representing Atom Entry
  */
 protected function wrapAtomEntry($entity, $links = null)
 {
     Validate::notNull($entity, 'entity');
     $properties = new ContentProperties();
     $properties->setPropertiesFromObject($entity);
     $propertyWriter = new \XMLWriter();
     $propertyWriter->openMemory();
     $properties->writeXml($propertyWriter);
     $content = new Content();
     $content->setType(Resources::XML_CONTENT_TYPE);
     $content->setText($propertyWriter->outputMemory());
     $atomEntry = new Entry();
     $atomEntry->setContent($content);
     if ($links) {
         Validate::isArray($links, 'links');
         $atomEntry->setLink($links);
     }
     $xmlWriter = new \XMLWriter();
     $xmlWriter->openMemory();
     $atomEntry->writeXml($xmlWriter);
     return $xmlWriter->outputMemory();
 }
 /**
  * @covers WindowsAzure\MediaServices\Models\ContentProperties::writeXml
  */
 public function testWriteXml()
 {
     // Setup
     $name = 'Name';
     $option = Asset::OPTIONS_NONE;
     $asset = new Asset($option);
     $asset->setName($name);
     $asset->setOptions(Asset::OPTIONS_STORAGE_ENCRYPTED);
     $prop = new ContentProperties();
     $prop->setPropertiesFromObject($asset);
     $properties = $prop->getProperties();
     // Test
     $xmlWriter = new \XMLWriter();
     $xmlWriter->openMemory();
     $prop->writeXml($xmlWriter);
     $actual = $xmlWriter->outputMemory();
     $xml = simplexml_load_string($actual);
     $childrenCount = 0;
     foreach ($xml->children(Resources::DS_XML_NAMESPACE) as $child) {
         // Assert
         $this->assertContains((string) $child, $properties);
         $childrenCount++;
     }
     // Assert
     $this->assertEquals(2, $childrenCount);
 }