/** * 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::writeInnerXml */ public function testWriteInnerXml() { // 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); // Test $xmlWriter = new \XMLWriter(); $xmlWriter->openMemory(); $prop->writeInnerXml($xmlWriter); $result = $xmlWriter->outputMemory(); // Assert $this->assertContains(':Options', $result); $this->assertContains(':Name', $result); }