curlRest($url, $postData, $postDataFormat); $album = json_decode($ret, true); $album = $album['entry']; $ret = $this->curlRest($url . '/' . urlencode($album['id']), '', 'application/json', 'GET'); $this->assertFalse(empty($ret)); $fetched = json_decode($ret, true); $fetched = $fetched['entry'][0]; $this->assertEquals('Example Album', $fetched['title'], "Title should be same."); $this->assertEquals('This is an example album, and this text is an example description', $fetched['description'], "Description should be same."); $this->assertEquals('VIDEO', $fetched['mediaType'], "mediaType should be same."); $fetched['thumbnailUrl'] = 'http://changed.com/tn.png'; $ret = $this->curlRest($url . '/' . urlencode($album['id']), json_encode($fetched), 'application/json', 'PUT'); $ret = $this->curlRest($url . '/' . urlencode($album['id']), '', 'application/json', 'GET'); $this->assertFalse(empty($ret)); $fetched = json_decode($ret, true); $fetched = $fetched['entry'][0]; $this->assertEquals('http://changed.com/tn.png', $fetched['thumbnailUrl'], "thumbnailUrl should be same."); $this->assertEquals('Example Album', $fetched['title'], "Title should be same."); $this->assertEquals('This is an example album, and this text is an example description', $fetched['description'], "Description should be same."); $this->assertEquals('VIDEO', $fetched['mediaType'], "mediaType should be same."); $ret = $this->curlRest($url . '/' . urlencode($album['id']), '', 'application/json', 'DELETE'); $this->assertTrue(empty($ret), "Delete the created album failed. Response: $ret"); $ret = $this->curlRest($url . '/' . urlencode($album['id']), '', 'application/json', 'GET'); $fetched = json_decode($ret, true); $fetched = $fetched['entry']; $this->assertTrue(empty($fetched)); } public function testLifeCycleInJson() { $postData = '{ "id" : "44332211", "thumbnailUrl" : "http://pages.example.org/albums/4433221-tn.png", "title" : "Example Album", "description" : "This is an example album, and this text is an example description", "location" : { "latitude": 0, "longitude": 0 }, "ownerId" : "example.org:55443322", "mediaType" : "VIDEO" }'; $this->verifyLifeCycle($postData, 'application/json'); } public function testLifeCycleInXml() { $postData = ' 44332211 http://pages.example.org/albums/4433221-tn.png Example Album This is an example album, and this text is an example description 0 0 example.org:55443322 VIDEO '; $this->verifyLifeCycle($postData, 'application/xml'); } public function testLifeCycleInAtom() { $postData = ' 44332211 http://pages.example.org/albums/4433221-tn.png Example Album This is an example album, and this text is an example description 0 0 example.org:55443322 VIDEO <updated>2003-12-13T18:30:02Z</updated> <author><url>example.org:55443322</url></author> <id>urn:guid:example.org:44332211</id> </entry>'; $this->verifyLifeCycle($postData, 'application/atom+xml'); } }