| @@ 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 |
|
| @@ 132-142 (lines=11) @@ | ||
| 129 | * |
|
| 130 | * @return string ContentVersion REST ID |
|
| 131 | */ |
|
| 132 | public function testCreateDraftFromVersion($restContentHref) |
|
| 133 | { |
|
| 134 | $response = $this->sendHttpRequest( |
|
| 135 | $this->createHttpRequest('COPY', "{$restContentHref}/versions/1") |
|
| 136 | ); |
|
| 137 | ||
| 138 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 139 | self::assertEquals($response->getHeader('Location'), "{$restContentHref}/versions/2"); |
|
| 140 | ||
| 141 | return $response->getHeader('Location'); |
|
| 142 | } |
|
| 143 | ||
| 144 | /** |
|
| 145 | * @depends testPublishContent |
|
| @@ 235-245 (lines=11) @@ | ||
| 232 | * |
|
| 233 | * @return string the ID of the created version (/content/objects/<contentId>/versions/<versionNumber> |
|
| 234 | */ |
|
| 235 | public function testCreateDraftFromCurrentVersion($restContentHref) |
|
| 236 | { |
|
| 237 | $response = $this->sendHttpRequest( |
|
| 238 | $this->createHttpRequest('COPY', "$restContentHref/currentversion") |
|
| 239 | ); |
|
| 240 | ||
| 241 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 242 | self::assertHttpResponseHasHeader($response, 'Location'); |
|
| 243 | ||
| 244 | return $response->getHeader('Location'); |
|
| 245 | } |
|
| 246 | ||
| 247 | /** |
|
| 248 | * @depends testCreateDraftFromCurrentVersion |
|
| @@ 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. |
|
| @@ 283-292 (lines=10) @@ | ||
| 280 | * |
|
| 281 | * @return array |
|
| 282 | */ |
|
| 283 | protected function getContentLocations($contentHref) |
|
| 284 | { |
|
| 285 | $response = $this->sendHttpRequest( |
|
| 286 | $this->createHttpRequest('GET', "$contentHref/locations", '', 'LocationList+json') |
|
| 287 | ); |
|
| 288 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 289 | $folderLocations = json_decode($response->getContent(), true); |
|
| 290 | ||
| 291 | return $folderLocations; |
|
| 292 | } |
|
| 293 | ||
| 294 | protected function addTestSuffix($string) |
|
| 295 | { |
|
| @@ 308-316 (lines=9) @@ | ||
| 305 | * |
|
| 306 | * @return \stdClass an object with the name, identifier, csrftoken properties. |
|
| 307 | */ |
|
| 308 | protected function login() |
|
| 309 | { |
|
| 310 | $request = $this->createHttpRequest('POST', '/api/ezp/v2/user/sessions', 'SessionInput+json', 'Session+json'); |
|
| 311 | $this->setSessionInput($request); |
|
| 312 | $response = $this->sendHttpRequest($request); |
|
| 313 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 314 | ||
| 315 | return json_decode($response->getContent())->Session; |
|
| 316 | } |
|
| 317 | ||
| 318 | /** |
|
| 319 | * Sets the request's content to a JSON session creation payload. |
|