| @@ 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 |
|
| @@ 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 | ||
| @@ 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>. |
|
| @@ 167-183 (lines=17) @@ | ||
| 164 | * Covers PATCH /content/locations/{locationPath}. |
|
| 165 | * @depends testCreateLocation |
|
| 166 | */ |
|
| 167 | public function testUpdateLocation($locationHref) |
|
| 168 | { |
|
| 169 | $body = <<< XML |
|
| 170 | <LocationUpdate> |
|
| 171 | <priority>3</priority> |
|
| 172 | <sortField>PATH</sortField> |
|
| 173 | <sortOrder>ASC</sortOrder> |
|
| 174 | </LocationUpdate> |
|
| 175 | XML; |
|
| 176 | ||
| 177 | $request = $this->createHttpRequest('PATCH', $locationHref, 'LocationUpdate+xml', 'Location+json'); |
|
| 178 | $request->setContent($body); |
|
| 179 | ||
| 180 | $response = $this->sendHttpRequest($request); |
|
| 181 | ||
| 182 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 183 | } |
|
| 184 | ||
| 185 | /** |
|
| 186 | * @depends testCreateLocation |
|
| @@ 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}. |
|