| @@ 134-144 (lines=11) @@ | ||
| 131 | * |
|
| 132 | * @return string ContentVersion REST ID |
|
| 133 | */ |
|
| 134 | public function testCreateDraftFromVersion($restContentHref) |
|
| 135 | { |
|
| 136 | $response = $this->sendHttpRequest( |
|
| 137 | $this->createHttpRequest('COPY', "{$restContentHref}/versions/1") |
|
| 138 | ); |
|
| 139 | ||
| 140 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 141 | self::assertEquals($response->getHeader('Location'), "{$restContentHref}/versions/2"); |
|
| 142 | ||
| 143 | return $response->getHeader('Location'); |
|
| 144 | } |
|
| 145 | ||
| 146 | /** |
|
| 147 | * @depends testPublishContent |
|
| @@ 237-247 (lines=11) @@ | ||
| 234 | * |
|
| 235 | * @return string the ID of the created version (/content/objects/<contentId>/versions/<versionNumber> |
|
| 236 | */ |
|
| 237 | public function testCreateDraftFromCurrentVersion($restContentHref) |
|
| 238 | { |
|
| 239 | $response = $this->sendHttpRequest( |
|
| 240 | $this->createHttpRequest('COPY', "$restContentHref/currentversion") |
|
| 241 | ); |
|
| 242 | ||
| 243 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 244 | self::assertHttpResponseHasHeader($response, 'Location'); |
|
| 245 | ||
| 246 | return $response->getHeader('Location'); |
|
| 247 | } |
|
| 248 | ||
| 249 | /** |
|
| 250 | * @depends testCreateDraftFromCurrentVersion |
|
| @@ 116-124 (lines=9) @@ | ||
| 113 | * @covers MOVE /content/locations/{locationPath} |
|
| 114 | * @depends testCopySubtree |
|
| 115 | */ |
|
| 116 | public function testMoveSubtree($locationHref) |
|
| 117 | { |
|
| 118 | $request = $this->createHttpRequest('MOVE', $locationHref); |
|
| 119 | $request->addHeader('Destination: /api/ezp/v2/content/locations/1/5'); |
|
| 120 | $response = $this->sendHttpRequest($request); |
|
| 121 | ||
| 122 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 123 | self::assertHttpResponseHasHeader($response, 'Location'); |
|
| 124 | } |
|
| 125 | ||
| 126 | /** |
|
| 127 | * @depends testCreateLocation |
|
| @@ 647-659 (lines=13) @@ | ||
| 644 | * @covers PUBLISH /user/roles/{roleId}/draft |
|
| 645 | * @depends testCreateRoleDraft |
|
| 646 | */ |
|
| 647 | public function testPublishRoleDraft($roleDraftHref) |
|
| 648 | { |
|
| 649 | $response = $this->sendHttpRequest( |
|
| 650 | $this->createHttpRequest('PUBLISH', $roleDraftHref) |
|
| 651 | ); |
|
| 652 | ||
| 653 | self::assertHttpResponseCodeEquals($response, 204); |
|
| 654 | self::assertHttpResponseHasHeader( |
|
| 655 | $response, |
|
| 656 | 'Location', |
|
| 657 | '/api/ezp/v2/user/roles/' . preg_replace('/.*roles\/(\d+).*/', '$1', $roleDraftHref) |
|
| 658 | ); |
|
| 659 | } |
|
| 660 | ||
| 661 | /** |
|
| 662 | * @covers DELETE /user/roles/{roleId}/draft |
|
| @@ 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 |
|
| @@ 285-294 (lines=10) @@ | ||
| 282 | * |
|
| 283 | * @return array |
|
| 284 | */ |
|
| 285 | protected function getContentLocations($contentHref) |
|
| 286 | { |
|
| 287 | $response = $this->sendHttpRequest( |
|
| 288 | $this->createHttpRequest('GET', "$contentHref/locations", '', 'LocationList+json') |
|
| 289 | ); |
|
| 290 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 291 | $folderLocations = json_decode($response->getContent(), true); |
|
| 292 | ||
| 293 | return $folderLocations; |
|
| 294 | } |
|
| 295 | ||
| 296 | protected function addTestSuffix($string) |
|
| 297 | { |
|
| @@ 310-318 (lines=9) @@ | ||
| 307 | * |
|
| 308 | * @return \stdClass an object with the name, identifier, csrftoken properties. |
|
| 309 | */ |
|
| 310 | protected function login() |
|
| 311 | { |
|
| 312 | $request = $this->createHttpRequest('POST', '/api/ezp/v2/user/sessions', 'SessionInput+json', 'Session+json'); |
|
| 313 | $this->setSessionInput($request); |
|
| 314 | $response = $this->sendHttpRequest($request); |
|
| 315 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 316 | ||
| 317 | return json_decode($response->getContent())->Session; |
|
| 318 | } |
|
| 319 | ||
| 320 | /** |
|
| 321 | * Sets the request's content to a JSON session creation payload. |
|