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
2003-12-13T18:30:02Z
example.org:55443322
urn:guid:example.org:44332211
';
$this->verifyLifeCycle($postData, 'application/atom+xml');
}
}