/** * Tests InputAtomConverter->convertActivities() */ public function testConvertActivities() { $xml = '<?xml version="1.0" encoding="UTF-8"?> <entry> <content type="application/xml"> <activity xmlns="http://ns.opensocial.org/2008/opensocial"> <mediaItems> <MediaItem> <mimeType>IMAGE</mimeType> <type>image</type> <url>http://cdn.davesdaily.com/pictures/784-awesome-hands.jpg</url> <types> <AUDIO>audio</AUDIO> <VIDEO>video</VIDEO> <IMAGE>image</IMAGE> </types> </MediaItem> </mediaItems> <streamTitle>activities</streamTitle> <streamId>1</streamId> <userId>1</userId> </activity> </content> <author> <uri>urn:guid:1</uri> <name>api.example.org:1</name> </author> <category term="status"/> <updated>2008-08-05T10:31:04+02:00</updated> <id>urn:guid:220</id> <title>example title</title> <summary>example summary</summary> </entry> '; $activity = $this->InputAtomConverter->convertActivities($xml); $this->assertEquals('urn:guid:220', $activity['id']); $this->assertEquals('example title', $activity['title']); $this->assertEquals('example summary', $activity['body']); $this->assertEquals('1', $activity['streamId']); $this->assertEquals('activities', $activity['streamTitle']); $this->assertEquals('2008-08-05T10:31:04+02:00', $activity['updated']); $this->assertEquals('image', $activity['mediaItems'][0]['type']); $this->assertEquals('IMAGE', $activity['mediaItems'][0]['mimeType']); $this->assertEquals('http://cdn.davesdaily.com/pictures/784-awesome-hands.jpg', $activity['mediaItems'][0]['url']); }
private function decodeRequests($requestParam, $requestType, $format = 'json') { if (empty($requestParam)) { return null; } switch ($format) { case 'json': $inputConverter = new InputJsonConverter(); break; case 'atom': $inputConverter = new InputAtomConverter(); break; default: throw new Exception("Invalid or unsupported input format"); break; } switch ($requestType) { case 'people': $ret = $inputConverter->convertPeople($requestParam); break; case 'activities': $ret = $inputConverter->convertActivities($requestParam); break; case 'messages': $ret = $inputConverter->convertMessages($requestParam); break; case 'appdata': $ret = $inputConverter->convertAppData($requestParam); break; case 'jsonbatch': // this type is only used by the internal json batch format if ($format != 'json') { throw new Exception("the json batch only supports the json input format"); } $ret = $inputConverter->convertJsonBatch($requestParam); break; //TODO add 'groups' and 'messages' here //TODO add 'groups' and 'messages' here default: throw new Exception("Unsupported REST call"); break; } return $ret; }