/** * 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); }