| @@ 45-61 (lines=17) @@ | ||
| 42 | * |
|
| 43 | * @return string the updated content type href |
|
| 44 | */ |
|
| 45 | public function testUpdateContentTypeGroup($contentTypeGroupHref) |
|
| 46 | { |
|
| 47 | $body = <<< XML |
|
| 48 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 49 | <ContentTypeGroupInput> |
|
| 50 | <identifier>testUpdateContentTypeGroup</identifier> |
|
| 51 | </ContentTypeGroupInput> |
|
| 52 | XML; |
|
| 53 | ||
| 54 | $request = $this->createHttpRequest('PATCH', $contentTypeGroupHref, 'ContentTypeGroupInput+xml', 'ContentTypeGroup+json'); |
|
| 55 | $request->setContent($body); |
|
| 56 | $response = $this->sendHttpRequest($request); |
|
| 57 | ||
| 58 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 59 | ||
| 60 | return $contentTypeGroupHref; |
|
| 61 | } |
|
| 62 | ||
| 63 | /** |
|
| 64 | * @depends testCreateContentTypeGroup |
|
| @@ 336-354 (lines=19) @@ | ||
| 333 | * @depends testCreateContentTypeDraft |
|
| 334 | * Covers PATCH /content/types/<contentTypeId>/draft |
|
| 335 | */ |
|
| 336 | public function testUpdateContentTypeDraft($contentTypeDraftHref) |
|
| 337 | { |
|
| 338 | $content = <<< XML |
|
| 339 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 340 | <ContentTypeUpdate> |
|
| 341 | <names> |
|
| 342 | <value languageCode="eng-GB">testUpdateContentTypeDraft</value> |
|
| 343 | </names> |
|
| 344 | </ContentTypeUpdate> |
|
| 345 | XML; |
|
| 346 | ||
| 347 | $request = $this->createHttpRequest('PATCH', $contentTypeDraftHref, 'ContentTypeUpdate+xml', 'ContentTypeInfo+json'); |
|
| 348 | $request->setContent($content); |
|
| 349 | $response = $this->sendHttpRequest( |
|
| 350 | $request |
|
| 351 | ); |
|
| 352 | ||
| 353 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 354 | } |
|
| 355 | ||
| 356 | /** |
|
| 357 | * Covers POST /content/types/<contentTypeId>/draft/fielddefinitions. |
|
| @@ 435-458 (lines=24) @@ | ||
| 432 | * |
|
| 433 | * @todo the spec says PUT... |
|
| 434 | */ |
|
| 435 | public function testUpdateContentTypeDraftFieldDefinition($fieldDefinitionHref) |
|
| 436 | { |
|
| 437 | $body = <<< XML |
|
| 438 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 439 | <FieldDefinitionUpdate> |
|
| 440 | <identifier>updated_secondtext</identifier> |
|
| 441 | <names> |
|
| 442 | <value languageCode="eng-GB">Updated second text</value> |
|
| 443 | </names> |
|
| 444 | <defaultValue>Updated default value</defaultValue> |
|
| 445 | </FieldDefinitionUpdate> |
|
| 446 | XML; |
|
| 447 | ||
| 448 | $request = $this->createHttpRequest( |
|
| 449 | 'PATCH', |
|
| 450 | $fieldDefinitionHref, |
|
| 451 | 'FieldDefinitionUpdate+xml', |
|
| 452 | 'FieldDefinition+json' |
|
| 453 | ); |
|
| 454 | $request->setContent($body); |
|
| 455 | ||
| 456 | $response = $this->sendHttpRequest($request); |
|
| 457 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 458 | } |
|
| 459 | ||
| 460 | /** |
|
| 461 | * Covers DELETE /content/types/<contentTypeId>/draft/fieldDefinitions/<fieldDefinitionId>. |
|
| @@ 192-213 (lines=22) @@ | ||
| 189 | * Covers PATCH /content/objectstategroups/{objectStateGroupId}/objectstates/{objectStateId}. |
|
| 190 | * @depends testCreateObjectState |
|
| 191 | */ |
|
| 192 | public function testUpdateObjectState($objectStateHref) |
|
| 193 | { |
|
| 194 | $body = <<< XML |
|
| 195 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 196 | <ObjectStateUpdate> |
|
| 197 | <identifier>testUpdateObjectState</identifier> |
|
| 198 | <defaultLanguageCode>eng-GB</defaultLanguageCode> |
|
| 199 | <names> |
|
| 200 | <value languageCode="eng-GB">testUpdateObjectState</value> |
|
| 201 | </names> |
|
| 202 | <descriptions> |
|
| 203 | <value languageCode="eng-GB">testUpdateObjectState description</value> |
|
| 204 | </descriptions> |
|
| 205 | </ObjectStateUpdate> |
|
| 206 | XML; |
|
| 207 | $request = $this->createHttpRequest('PATCH', $objectStateHref, 'ObjectStateUpdate+xml', 'ObjectState+json'); |
|
| 208 | $request->setContent($body); |
|
| 209 | ||
| 210 | $response = $this->sendHttpRequest($request); |
|
| 211 | ||
| 212 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 213 | } |
|
| 214 | ||
| 215 | /** |
|
| 216 | * Covers PATCH /content/objectstategroups/{objectStateGroupId}. |
|
| @@ 219-240 (lines=22) @@ | ||
| 216 | * Covers PATCH /content/objectstategroups/{objectStateGroupId}. |
|
| 217 | * @depends testCreateObjectStateGroup |
|
| 218 | */ |
|
| 219 | public function testUpdateObjectStateGroup($objectStateGroupHref) |
|
| 220 | { |
|
| 221 | $body = <<< XML |
|
| 222 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 223 | <ObjectStateGroupUpdate> |
|
| 224 | <identifier>testUpdateObjectStateGroup</identifier> |
|
| 225 | <defaultLanguageCode>eng-GB</defaultLanguageCode> |
|
| 226 | <names> |
|
| 227 | <value languageCode="eng-GB">testUpdateObjectStateGroup</value> |
|
| 228 | </names> |
|
| 229 | <descriptions> |
|
| 230 | <value languageCode="eng-GB">testUpdateObjectStateGroup description</value> |
|
| 231 | </descriptions> |
|
| 232 | </ObjectStateGroupUpdate> |
|
| 233 | XML; |
|
| 234 | $request = $this->createHttpRequest('PATCH', $objectStateGroupHref, 'ObjectStateGroupUpdate+xml', 'ObjectStateGroup+json'); |
|
| 235 | $request->setContent($body); |
|
| 236 | ||
| 237 | $response = $this->sendHttpRequest($request); |
|
| 238 | ||
| 239 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 240 | } |
|
| 241 | ||
| 242 | /** |
|
| 243 | * Covers DELETE. |
|
| @@ 172-194 (lines=23) @@ | ||
| 169 | * @depends testCreateRole |
|
| 170 | * Covers PATCH /user/roles/{roleId} |
|
| 171 | */ |
|
| 172 | public function testUpdateRole($roleHref) |
|
| 173 | { |
|
| 174 | $xml = <<< XML |
|
| 175 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 176 | <RoleInput> |
|
| 177 | <identifier>testUpdateRole</identifier> |
|
| 178 | <mainLanguageCode>eng-GB</mainLanguageCode> |
|
| 179 | <names> |
|
| 180 | <value languageCode="eng-GB">testUpdateRole</value> |
|
| 181 | </names> |
|
| 182 | <descriptions> |
|
| 183 | <value languageCode="eng-GB">testUpdateRole description</value> |
|
| 184 | </descriptions> |
|
| 185 | </RoleInput> |
|
| 186 | XML; |
|
| 187 | ||
| 188 | $request = $this->createHttpRequest('PATCH', $roleHref, 'RoleInput+xml', 'Role+json'); |
|
| 189 | $request->setContent($xml); |
|
| 190 | $response = $this->sendHttpRequest($request); |
|
| 191 | ||
| 192 | // @todo Fix failure Notice: Trying to get property of non-object in \/home\/bertrand\/www\/ezpublish-kernel\/eZ\/Publish\/Core\/Persistence\/Cache\/UserHandler.php line 174 |
|
| 193 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 194 | } |
|
| 195 | ||
| 196 | /** |
|
| 197 | * @depends testCreateRoleDraft |
|
| @@ 200-221 (lines=22) @@ | ||
| 197 | * @depends testCreateRoleDraft |
|
| 198 | * Covers PATCH /user/roles/{roleId}/draft |
|
| 199 | */ |
|
| 200 | public function testUpdateRoleDraft($roleDraftHref) |
|
| 201 | { |
|
| 202 | $xml = <<< XML |
|
| 203 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 204 | <RoleInput> |
|
| 205 | <identifier>testUpdateRoleDraft</identifier> |
|
| 206 | <mainLanguageCode>eng-GB</mainLanguageCode> |
|
| 207 | <names> |
|
| 208 | <value languageCode="eng-GB">testUpdateRoleDraft</value> |
|
| 209 | </names> |
|
| 210 | <descriptions> |
|
| 211 | <value languageCode="eng-GB">testUpdateRoleDraft description</value> |
|
| 212 | </descriptions> |
|
| 213 | </RoleInput> |
|
| 214 | XML; |
|
| 215 | ||
| 216 | $request = $this->createHttpRequest('PATCH', $roleDraftHref, 'RoleInput+xml', 'RoleDraft+json'); |
|
| 217 | $request->setContent($xml); |
|
| 218 | $response = $this->sendHttpRequest($request); |
|
| 219 | ||
| 220 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 221 | } |
|
| 222 | ||
| 223 | /** |
|
| 224 | * Covers POST /user/roles/{roleId}/policies. |
|
| @@ 329-349 (lines=21) @@ | ||
| 326 | * Covers PATCH /user/roles/{roleId}/policies/{policyId}. |
|
| 327 | * @depends testAddPolicy |
|
| 328 | */ |
|
| 329 | public function testUpdatePolicy($policyHref) |
|
| 330 | { |
|
| 331 | $xml = <<< XML |
|
| 332 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 333 | <PolicyUpdate> |
|
| 334 | <limitations> |
|
| 335 | <limitation identifier="Class"> |
|
| 336 | <values> |
|
| 337 | <ref href="1"/> |
|
| 338 | </values> |
|
| 339 | </limitation> |
|
| 340 | </limitations> |
|
| 341 | </PolicyUpdate> |
|
| 342 | XML; |
|
| 343 | ||
| 344 | $request = $this->createHttpRequest('PATCH', $policyHref, 'PolicyUpdate+xml', 'Policy+json'); |
|
| 345 | $request->setContent($xml); |
|
| 346 | $response = $this->sendHttpRequest($request); |
|
| 347 | ||
| 348 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 349 | } |
|
| 350 | ||
| 351 | /** |
|
| 352 | * Covers PATCH /user/roles/{roleId}/policies/{policyId}. |
|
| @@ 355-375 (lines=21) @@ | ||
| 352 | * Covers PATCH /user/roles/{roleId}/policies/{policyId}. |
|
| 353 | * @depends testAddPolicyByRoleDraft |
|
| 354 | */ |
|
| 355 | public function testUpdatePolicyByRoleDraft($policyHref) |
|
| 356 | { |
|
| 357 | $xml = <<< XML |
|
| 358 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 359 | <PolicyUpdate> |
|
| 360 | <limitations> |
|
| 361 | <limitation identifier="Class"> |
|
| 362 | <values> |
|
| 363 | <ref href="1"/> |
|
| 364 | </values> |
|
| 365 | </limitation> |
|
| 366 | </limitations> |
|
| 367 | </PolicyUpdate> |
|
| 368 | XML; |
|
| 369 | ||
| 370 | $request = $this->createHttpRequest('PATCH', $policyHref, 'PolicyUpdate+xml', 'Policy+json'); |
|
| 371 | $request->setContent($xml); |
|
| 372 | $response = $this->sendHttpRequest($request); |
|
| 373 | ||
| 374 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 375 | } |
|
| 376 | ||
| 377 | /** |
|
| 378 | * @depends testCreateRole |
|
| @@ 58-71 (lines=14) @@ | ||
| 55 | * @depends testCreateSection |
|
| 56 | * Covers PATCH /content/sections/{sectionId} |
|
| 57 | */ |
|
| 58 | public function testUpdateSection($sectionHref) |
|
| 59 | { |
|
| 60 | $xml = <<< XML |
|
| 61 | <SectionInput> |
|
| 62 | <identifier>testUpdateSection</identifier> |
|
| 63 | <name>testUpdateSection</name> |
|
| 64 | </SectionInput> |
|
| 65 | XML; |
|
| 66 | $request = $this->createHttpRequest('PATCH', $sectionHref, 'SectionInput+xml', 'Section+json'); |
|
| 67 | $request->setContent($xml); |
|
| 68 | $response = $this->sendHttpRequest($request); |
|
| 69 | ||
| 70 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 71 | } |
|
| 72 | ||
| 73 | /** |
|
| 74 | * Covers GET /content/sections/{sectionId}. |
|
| @@ 90-116 (lines=27) @@ | ||
| 87 | * Covers PATCH /user/groups/{groupPath}. |
|
| 88 | * @depends testCreateUserGroup |
|
| 89 | */ |
|
| 90 | public function testUpdateUserGroup($groupHref) |
|
| 91 | { |
|
| 92 | $text = $this->addTestSuffix(__FUNCTION__); |
|
| 93 | $xml = <<< XML |
|
| 94 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 95 | <UserGroupUpdate> |
|
| 96 | <fields> |
|
| 97 | <field> |
|
| 98 | <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier> |
|
| 99 | <languageCode>eng-GB</languageCode> |
|
| 100 | <fieldValue>{$text}</fieldValue> |
|
| 101 | </field> |
|
| 102 | </fields> |
|
| 103 | </UserGroupUpdate> |
|
| 104 | XML; |
|
| 105 | $request = $this->createHttpRequest( |
|
| 106 | 'PATCH', |
|
| 107 | $groupHref, |
|
| 108 | 'UserGroupUpdate+xml', |
|
| 109 | 'UserGroup+json' |
|
| 110 | ); |
|
| 111 | $request->setContent($xml); |
|
| 112 | ||
| 113 | $response = $this->sendHttpRequest($request); |
|
| 114 | ||
| 115 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 116 | } |
|
| 117 | ||
| 118 | /** |
|
| 119 | * @depends testCreateUserGroup |
|
| @@ 185-211 (lines=27) @@ | ||
| 182 | * @depends testCreateUser |
|
| 183 | * Covers PATCH /user/users/{userId} |
|
| 184 | */ |
|
| 185 | public function testUpdateUser($userHref) |
|
| 186 | { |
|
| 187 | $text = $this->addTestSuffix(__FUNCTION__); |
|
| 188 | $xml = <<< XML |
|
| 189 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 190 | <UserUpdate> |
|
| 191 | <fields> |
|
| 192 | <field> |
|
| 193 | <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> |
|
| 194 | <languageCode>eng-GB</languageCode> |
|
| 195 | <fieldValue>john john</fieldValue> |
|
| 196 | </field> |
|
| 197 | </fields> |
|
| 198 | </UserUpdate> |
|
| 199 | XML; |
|
| 200 | $request = $this->createHttpRequest( |
|
| 201 | 'PATCH', |
|
| 202 | $userHref, |
|
| 203 | 'UserUpdate+xml', |
|
| 204 | 'User+json' |
|
| 205 | ); |
|
| 206 | $request->setContent($xml); |
|
| 207 | ||
| 208 | $response = $this->sendHttpRequest($request); |
|
| 209 | ||
| 210 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 211 | } |
|
| 212 | ||
| 213 | /** |
|
| 214 | * Covers GET /user/users. |
|
| @@ 110-126 (lines=17) @@ | ||
| 107 | /** |
|
| 108 | * @depends testPublishContent |
|
| 109 | */ |
|
| 110 | public function testUpdateContentMetadata($restContentHref) |
|
| 111 | { |
|
| 112 | $string = $this->addTestSuffix(__FUNCTION__); |
|
| 113 | $content = <<< XML |
|
| 114 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 115 | <ContentUpdate> |
|
| 116 | <Owner href="/api/ezp/v2/user/users/10"/> |
|
| 117 | <remoteId>{$string}</remoteId> |
|
| 118 | </ContentUpdate> |
|
| 119 | XML; |
|
| 120 | $request = $this->createHttpRequest('PATCH', $restContentHref, 'ContentUpdate+xml', 'ContentInfo+json'); |
|
| 121 | $request->setContent($content); |
|
| 122 | $response = $this->sendHttpRequest($request); |
|
| 123 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 124 | ||
| 125 | // @todo test data |
|
| 126 | } |
|
| 127 | ||
| 128 | /** |
|
| 129 | * @depends testPublishContent |
|
| @@ 269-290 (lines=22) @@ | ||
| 266 | * |
|
| 267 | * @param string $restContentVersionHref /content/objects/<contentId>/versions>/<versionNumber> |
|
| 268 | */ |
|
| 269 | public function testUpdateVersion($restContentVersionHref) |
|
| 270 | { |
|
| 271 | $xml = <<< XML |
|
| 272 | <VersionUpdate> |
|
| 273 | <fields> |
|
| 274 | <field> |
|
| 275 | <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier> |
|
| 276 | <languageCode>eng-GB</languageCode> |
|
| 277 | <fieldValue>testUpdateVersion</fieldValue> |
|
| 278 | </field> |
|
| 279 | </fields> |
|
| 280 | </VersionUpdate> |
|
| 281 | XML; |
|
| 282 | ||
| 283 | $request = $this->createHttpRequest('PATCH', $restContentVersionHref, 'VersionUpdate+xml', 'Version+json'); |
|
| 284 | $request->setContent($xml); |
|
| 285 | $response = $this->sendHttpRequest( |
|
| 286 | $request |
|
| 287 | ); |
|
| 288 | ||
| 289 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 290 | } |
|
| 291 | ||
| 292 | /** |
|
| 293 | * @depends testPublishContent |
|
| @@ 393-417 (lines=25) @@ | ||
| 390 | return $array['Content']; |
|
| 391 | } |
|
| 392 | ||
| 393 | public function testCreateView() |
|
| 394 | { |
|
| 395 | $body = <<< XML |
|
| 396 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 397 | <ViewInput> |
|
| 398 | <identifier>testCreateView</identifier> |
|
| 399 | <Query> |
|
| 400 | <Criteria> |
|
| 401 | <ContentTypeIdentifierCriterion>folder</ContentTypeIdentifierCriterion> |
|
| 402 | </Criteria> |
|
| 403 | <limit>10</limit> |
|
| 404 | <offset>0</offset> |
|
| 405 | </Query> |
|
| 406 | </ViewInput> |
|
| 407 | XML; |
|
| 408 | $request = $this->createHttpRequest('POST', '/api/ezp/v2/content/views', 'ViewInput+xml', 'View+json'); |
|
| 409 | $request->setContent($body); |
|
| 410 | $response = $this->sendHttpRequest( |
|
| 411 | $request |
|
| 412 | ); |
|
| 413 | ||
| 414 | // Returns 301 since 6.0 (deprecated in favour of /views) |
|
| 415 | self::assertHttpResponseCodeEquals($response, 301); |
|
| 416 | self::assertHttpResponseHasHeader($response, 'Location'); |
|
| 417 | } |
|
| 418 | ||
| 419 | /** |
|
| 420 | * Covers DELETE /content/objects/<contentId>/versions/<versionNo>/translations/<languageCode>. |
|
| @@ 607-631 (lines=25) @@ | ||
| 604 | * |
|
| 605 | * @return string |
|
| 606 | */ |
|
| 607 | private function createVersionTranslation($restContentVersionHref, $languageCode, $languageName) |
|
| 608 | { |
|
| 609 | // @todo Implement EZP-21171 to check if Language exists and add it |
|
| 610 | // for now adding is done by ez:behat:create-language command executed in Travis job |
|
| 611 | ||
| 612 | $xml = <<< XML |
|
| 613 | <VersionUpdate> |
|
| 614 | <fields> |
|
| 615 | <field> |
|
| 616 | <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier> |
|
| 617 | <languageCode>{$languageCode}</languageCode> |
|
| 618 | <fieldValue>{$languageName} translated name</fieldValue> |
|
| 619 | </field> |
|
| 620 | </fields> |
|
| 621 | </VersionUpdate> |
|
| 622 | XML; |
|
| 623 | ||
| 624 | $request = $this->createHttpRequest('PATCH', $restContentVersionHref, 'VersionUpdate+xml', 'Version+json'); |
|
| 625 | $request->setContent($xml); |
|
| 626 | $response = $this->sendHttpRequest( |
|
| 627 | $request |
|
| 628 | ); |
|
| 629 | ||
| 630 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 631 | } |
|
| 632 | ||
| 633 | /** |
|
| 634 | * Iterate through Version Items returned by REST view for ContentType: VersionList+json |
|
| @@ 781-795 (lines=15) @@ | ||
| 778 | * @param string $restContentHref REST resource link of Content |
|
| 779 | * @param string $languageCode new Main Translation language code |
|
| 780 | */ |
|
| 781 | private function updateMainTranslation($restContentHref, $languageCode) |
|
| 782 | { |
|
| 783 | $content = <<< XML |
|
| 784 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 785 | <ContentUpdate> |
|
| 786 | <mainLanguageCode>{$languageCode}</mainLanguageCode> |
|
| 787 | </ContentUpdate> |
|
| 788 | XML; |
|
| 789 | ||
| 790 | $request = $this->createHttpRequest('PATCH', $restContentHref, 'ContentUpdate+xml', 'ContentInfo+json'); |
|
| 791 | $request->setContent($content); |
|
| 792 | $response = $this->sendHttpRequest($request); |
|
| 793 | ||
| 794 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 795 | } |
|
| 796 | } |
|
| 797 | ||
| @@ 184-200 (lines=17) @@ | ||
| 181 | * Covers PATCH /content/locations/{locationPath}. |
|
| 182 | * @depends testCreateLocation |
|
| 183 | */ |
|
| 184 | public function testUpdateLocation($locationHref) |
|
| 185 | { |
|
| 186 | $body = <<< XML |
|
| 187 | <LocationUpdate> |
|
| 188 | <priority>3</priority> |
|
| 189 | <sortField>PATH</sortField> |
|
| 190 | <sortOrder>ASC</sortOrder> |
|
| 191 | </LocationUpdate> |
|
| 192 | XML; |
|
| 193 | ||
| 194 | $request = $this->createHttpRequest('PATCH', $locationHref, 'LocationUpdate+xml', 'Location+json'); |
|
| 195 | $request->setContent($body); |
|
| 196 | ||
| 197 | $response = $this->sendHttpRequest($request); |
|
| 198 | ||
| 199 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 200 | } |
|
| 201 | ||
| 202 | /** |
|
| 203 | * @depends testCreateLocation |
|
| @@ 215-241 (lines=27) @@ | ||
| 212 | self::assertHttpResponseCodeEquals($response, 204); |
|
| 213 | } |
|
| 214 | ||
| 215 | private function createUrlAlias(string $locationHref, string $urlAlias): string |
|
| 216 | { |
|
| 217 | $xml = <<< XML |
|
| 218 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 219 | <UrlAliasCreate type="LOCATION"> |
|
| 220 | <location href="{$locationHref}" /> |
|
| 221 | <path>/{$urlAlias}</path> |
|
| 222 | <languageCode>eng-GB</languageCode> |
|
| 223 | <alwaysAvailable>false</alwaysAvailable> |
|
| 224 | <forward>true</forward> |
|
| 225 | </UrlAliasCreate> |
|
| 226 | XML; |
|
| 227 | ||
| 228 | $request = $this->createHttpRequest( |
|
| 229 | 'POST', |
|
| 230 | '/api/ezp/v2/content/urlaliases', |
|
| 231 | 'UrlAliasCreate+xml', |
|
| 232 | 'UrlAlias+json' |
|
| 233 | ); |
|
| 234 | $request->setContent($xml); |
|
| 235 | ||
| 236 | $response = $this->sendHttpRequest($request); |
|
| 237 | $href = $response->getHeader('Location'); |
|
| 238 | $this->addCreatedElement($href); |
|
| 239 | ||
| 240 | return $href; |
|
| 241 | } |
|
| 242 | } |
|
| 243 | ||