| @@ 21-27 (lines=7) @@ | ||
| 18 | parent::setUp(); |
|
| 19 | } |
|
| 20 | ||
| 21 | public function testCreateSessionBadCredentials() |
|
| 22 | { |
|
| 23 | $request = $this->createHttpRequest('POST', '/api/ezp/v2/user/sessions', 'SessionInput+json', 'Session+json'); |
|
| 24 | $this->setSessionInput($request, 'badpassword'); |
|
| 25 | $response = $this->sendHttpRequest($request); |
|
| 26 | self::assertHttpResponseCodeEquals($response, 401); |
|
| 27 | } |
|
| 28 | ||
| 29 | /** |
|
| 30 | * @return \stdClass The login request's response |
|
| @@ 114-122 (lines=9) @@ | ||
| 111 | * Covers MOVE /content/locations/{locationPath}. |
|
| 112 | * @depends testCopySubtree |
|
| 113 | */ |
|
| 114 | public function testMoveSubtree($locationHref) |
|
| 115 | { |
|
| 116 | $request = $this->createHttpRequest('MOVE', $locationHref); |
|
| 117 | $request->addHeader('Destination: /api/ezp/v2/content/locations/1/5'); |
|
| 118 | $response = $this->sendHttpRequest($request); |
|
| 119 | ||
| 120 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 121 | self::assertHttpResponseHasHeader($response, 'Location'); |
|
| 122 | } |
|
| 123 | ||
| 124 | /** |
|
| 125 | * @depends testCreateLocation |
|
| @@ 645-657 (lines=13) @@ | ||
| 642 | * Covers PUBLISH /user/roles/{roleId}/draft. |
|
| 643 | * @depends testCreateRoleDraft |
|
| 644 | */ |
|
| 645 | public function testPublishRoleDraft($roleDraftHref) |
|
| 646 | { |
|
| 647 | $response = $this->sendHttpRequest( |
|
| 648 | $this->createHttpRequest('PUBLISH', $roleDraftHref) |
|
| 649 | ); |
|
| 650 | ||
| 651 | self::assertHttpResponseCodeEquals($response, 204); |
|
| 652 | self::assertHttpResponseHasHeader( |
|
| 653 | $response, |
|
| 654 | 'Location', |
|
| 655 | '/api/ezp/v2/user/roles/' . preg_replace('/.*roles\/(\d+).*/', '$1', $roleDraftHref) |
|
| 656 | ); |
|
| 657 | } |
|
| 658 | ||
| 659 | /** |
|
| 660 | * Covers DELETE /user/roles/{roleId}/draft. |
|
| @@ 133-143 (lines=11) @@ | ||
| 130 | * |
|
| 131 | * @return string ContentVersion REST ID |
|
| 132 | */ |
|
| 133 | public function testCreateDraftFromVersion($restContentHref) |
|
| 134 | { |
|
| 135 | $response = $this->sendHttpRequest( |
|
| 136 | $this->createHttpRequest('COPY', "{$restContentHref}/versions/1") |
|
| 137 | ); |
|
| 138 | ||
| 139 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 140 | self::assertEquals($response->getHeader('Location'), "{$restContentHref}/versions/2"); |
|
| 141 | ||
| 142 | return $response->getHeader('Location'); |
|
| 143 | } |
|
| 144 | ||
| 145 | /** |
|
| 146 | * @depends testPublishContent |
|
| @@ 236-246 (lines=11) @@ | ||
| 233 | * |
|
| 234 | * @return string the ID of the created version (/content/objects/<contentId>/versions/<versionNumber> |
|
| 235 | */ |
|
| 236 | public function testCreateDraftFromCurrentVersion($restContentHref) |
|
| 237 | { |
|
| 238 | $response = $this->sendHttpRequest( |
|
| 239 | $this->createHttpRequest('COPY', "$restContentHref/currentversion") |
|
| 240 | ); |
|
| 241 | ||
| 242 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 243 | self::assertHttpResponseHasHeader($response, 'Location'); |
|
| 244 | ||
| 245 | return $response->getHeader('Location'); |
|
| 246 | } |
|
| 247 | ||
| 248 | /** |
|
| 249 | * @depends testCreateDraftFromCurrentVersion |
|
| @@ 749-760 (lines=12) @@ | ||
| 746 | * |
|
| 747 | * @return string Content Version Draft REST resource link |
|
| 748 | */ |
|
| 749 | private function createDraftFromVersion($restContentVersionHref) |
|
| 750 | { |
|
| 751 | $response = $this->sendHttpRequest( |
|
| 752 | $this->createHttpRequest('COPY', "{$restContentVersionHref}") |
|
| 753 | ); |
|
| 754 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 755 | ||
| 756 | $href = $response->getHeader('Location'); |
|
| 757 | self::assertNotEmpty($href); |
|
| 758 | ||
| 759 | return $href; |
|
| 760 | } |
|
| 761 | ||
| 762 | /** |
|
| 763 | * Publish Content Version Draft given by REST resource link. |
|
| @@ 296-305 (lines=10) @@ | ||
| 293 | * |
|
| 294 | * @return array |
|
| 295 | */ |
|
| 296 | protected function getContentLocations($contentHref) |
|
| 297 | { |
|
| 298 | $response = $this->sendHttpRequest( |
|
| 299 | $this->createHttpRequest('GET', "$contentHref/locations", '', 'LocationList+json') |
|
| 300 | ); |
|
| 301 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 302 | $folderLocations = json_decode($response->getContent(), true); |
|
| 303 | ||
| 304 | return $folderLocations; |
|
| 305 | } |
|
| 306 | ||
| 307 | protected function addTestSuffix($string) |
|
| 308 | { |
|
| @@ 321-329 (lines=9) @@ | ||
| 318 | * |
|
| 319 | * @return \stdClass an object with the name, identifier, csrftoken properties. |
|
| 320 | */ |
|
| 321 | protected function login() |
|
| 322 | { |
|
| 323 | $request = $this->createHttpRequest('POST', '/api/ezp/v2/user/sessions', 'SessionInput+json', 'Session+json'); |
|
| 324 | $this->setSessionInput($request); |
|
| 325 | $response = $this->sendHttpRequest($request); |
|
| 326 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 327 | ||
| 328 | return json_decode($response->getContent())->Session; |
|
| 329 | } |
|
| 330 | ||
| 331 | /** |
|
| 332 | * Sets the request's content to a JSON session creation payload. |
|