| @@ 328-347 (lines=20) @@ | ||
| 325 | * |
|
| 326 | * @return string created relation HREF (/content/objects/<contentId>/versions/<versionNumber>/relations/<relationId> |
|
| 327 | */ |
|
| 328 | public function testCreateRelation($restContentVersionHref) |
|
| 329 | { |
|
| 330 | $content = <<< XML |
|
| 331 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 332 | <RelationCreate> |
|
| 333 | <Destination href="/api/ezp/v2/content/objects/10"/> |
|
| 334 | </RelationCreate> |
|
| 335 | XML; |
|
| 336 | ||
| 337 | $request = $this->createHttpRequest('POST', "$restContentVersionHref/relations", 'RelationCreate+xml', 'Relation+json'); |
|
| 338 | $request->setContent($content); |
|
| 339 | ||
| 340 | $response = $this->sendHttpRequest($request); |
|
| 341 | ||
| 342 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 343 | ||
| 344 | $response = json_decode($response->getContent(), true); |
|
| 345 | ||
| 346 | return $response['Relation']['_href']; |
|
| 347 | } |
|
| 348 | ||
| 349 | /** |
|
| 350 | * @depends testCreateRelation |
|
| @@ 385-408 (lines=24) @@ | ||
| 382 | * |
|
| 383 | * @todo stop using the anonymous user, this is dangerous... |
|
| 384 | */ |
|
| 385 | public function testAssignRoleToUser($roleHref) |
|
| 386 | { |
|
| 387 | $xml = <<< XML |
|
| 388 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 389 | <RoleAssignInput> |
|
| 390 | <Role href="{$roleHref}" media-type="application/vnd.ez.api.RoleAssignInput+xml"/> |
|
| 391 | </RoleAssignInput> |
|
| 392 | XML; |
|
| 393 | ||
| 394 | $request = $this->createHttpRequest( |
|
| 395 | 'POST', |
|
| 396 | '/api/ezp/v2/user/users/10/roles', |
|
| 397 | 'RoleAssignInput+xml', |
|
| 398 | 'RoleAssignmentList+json' |
|
| 399 | ); |
|
| 400 | $request->setContent($xml); |
|
| 401 | ||
| 402 | $response = $this->sendHttpRequest($request); |
|
| 403 | $roleAssignmentArray = json_decode($response->getContent(), true); |
|
| 404 | ||
| 405 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 406 | ||
| 407 | return $roleAssignmentArray['RoleAssignmentList']['RoleAssignment'][0]['_href']; |
|
| 408 | } |
|
| 409 | ||
| 410 | /** |
|
| 411 | * @covers \POST /user/users/{userId}/roles |
|
| @@ 491-523 (lines=33) @@ | ||
| 488 | * |
|
| 489 | * @return string role assignment href |
|
| 490 | */ |
|
| 491 | public function testAssignRoleToUserGroup($roleHref) |
|
| 492 | { |
|
| 493 | self::markTestSkipped('Breaks roles, thus preventing login'); |
|
| 494 | ||
| 495 | return; |
|
| 496 | ||
| 497 | $xml = <<< XML |
|
| 498 | <?xml version="1.0" encoding="UTF-8"?> |
|
| 499 | <RoleAssignInput> |
|
| 500 | <Role href="{$roleHref}" media-type="application/vnd.ez.api.RoleAssignInput+xml"/> |
|
| 501 | <limitation identifier="Section"> |
|
| 502 | <values> |
|
| 503 | <ref href="/api/ezp/v2/content/sections/1" media-type="application/vnd.ez.api.Section+xml" /> |
|
| 504 | </values> |
|
| 505 | </limitation> |
|
| 506 | </RoleAssignInput> |
|
| 507 | XML; |
|
| 508 | ||
| 509 | $request = $this->createHttpRequest( |
|
| 510 | 'POST', |
|
| 511 | '/api/ezp/v2/user/groups/1/5/44/roles', |
|
| 512 | 'RoleAssignInput+xml', |
|
| 513 | 'RoleAssignmentList+json' |
|
| 514 | ); |
|
| 515 | $request->setContent($xml); |
|
| 516 | ||
| 517 | $response = $this->sendHttpRequest($request); |
|
| 518 | $roleAssignmentArray = json_decode($response->getContent(), true); |
|
| 519 | ||
| 520 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 521 | ||
| 522 | return $roleAssignmentArray['RoleAssignmentList']['RoleAssignment'][0]['_href']; |
|
| 523 | } |
|
| 524 | ||
| 525 | /** |
|
| 526 | * Covers GET /user/groups/{groupId}/roles/{roleId}. |
|