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