| @@ 519-537 (lines=19) @@ | ||
| 516 | * @see \eZ\Publish\API\Repository\ContentService::loadContentInfo() |
|
| 517 | * @group user |
|
| 518 | */ |
|
| 519 | public function testLoadContentInfo() |
|
| 520 | { |
|
| 521 | $repository = $this->getRepository(); |
|
| 522 | ||
| 523 | $mediaFolderId = $this->generateId('object', 41); |
|
| 524 | /* BEGIN: Use Case */ |
|
| 525 | $contentService = $repository->getContentService(); |
|
| 526 | ||
| 527 | // Load the ContentInfo for "Media" folder |
|
| 528 | $contentInfo = $contentService->loadContentInfo($mediaFolderId); |
|
| 529 | /* END: Use Case */ |
|
| 530 | ||
| 531 | $this->assertInstanceOf( |
|
| 532 | '\\eZ\\Publish\\API\\Repository\\Values\\Content\\ContentInfo', |
|
| 533 | $contentInfo |
|
| 534 | ); |
|
| 535 | ||
| 536 | return $contentInfo; |
|
| 537 | } |
|
| 538 | ||
| 539 | /** |
|
| 540 | * Test for the returned value of the loadContentInfo() method. |
|
| @@ 602-611 (lines=10) @@ | ||
| 599 | * @see \eZ\Publish\API\Repository\ContentService::loadContentInfoList() |
|
| 600 | * @depends testLoadContentInfoList |
|
| 601 | */ |
|
| 602 | public function testLoadContentInfoListSkipsNotFoundItems() |
|
| 603 | { |
|
| 604 | $repository = $this->getRepository(); |
|
| 605 | ||
| 606 | $nonExistentContentId = $this->generateId('object', self::DB_INT_MAX); |
|
| 607 | $contentService = $repository->getContentService(); |
|
| 608 | $list = $contentService->loadContentInfoList([$nonExistentContentId]); |
|
| 609 | ||
| 610 | $this->assertCount(0, $list); |
|
| 611 | } |
|
| 612 | ||
| 613 | /** |
|
| 614 | * Test for the loadContentInfoByRemoteId() method. |
|
| @@ 690-711 (lines=22) @@ | ||
| 687 | * @depends eZ\Publish\API\Repository\Tests\ContentServiceTest::testLoadContentInfo |
|
| 688 | * @group user |
|
| 689 | */ |
|
| 690 | public function testLoadVersionInfo() |
|
| 691 | { |
|
| 692 | $repository = $this->getRepository(); |
|
| 693 | ||
| 694 | $mediaFolderId = $this->generateId('object', 41); |
|
| 695 | /* BEGIN: Use Case */ |
|
| 696 | // $mediaFolderId contains the ID of the "Media" folder |
|
| 697 | ||
| 698 | $contentService = $repository->getContentService(); |
|
| 699 | ||
| 700 | // Load the ContentInfo for "Media" folder |
|
| 701 | $contentInfo = $contentService->loadContentInfo($mediaFolderId); |
|
| 702 | ||
| 703 | // Now load the current version info of the "Media" folder |
|
| 704 | $versionInfo = $contentService->loadVersionInfo($contentInfo); |
|
| 705 | /* END: Use Case */ |
|
| 706 | ||
| 707 | $this->assertInstanceOf( |
|
| 708 | '\\eZ\\Publish\\API\\Repository\\Values\\Content\\VersionInfo', |
|
| 709 | $versionInfo |
|
| 710 | ); |
|
| 711 | } |
|
| 712 | ||
| 713 | /** |
|
| 714 | * Test for the loadVersionInfoById() method. |
|
| @@ 800-821 (lines=22) @@ | ||
| 797 | * @see \eZ\Publish\API\Repository\ContentService::loadContentByContentInfo() |
|
| 798 | * @depends eZ\Publish\API\Repository\Tests\ContentServiceTest::testLoadContentInfo |
|
| 799 | */ |
|
| 800 | public function testLoadContentByContentInfo() |
|
| 801 | { |
|
| 802 | $repository = $this->getRepository(); |
|
| 803 | ||
| 804 | $mediaFolderId = $this->generateId('object', 41); |
|
| 805 | /* BEGIN: Use Case */ |
|
| 806 | // $mediaFolderId contains the ID of the "Media" folder |
|
| 807 | ||
| 808 | $contentService = $repository->getContentService(); |
|
| 809 | ||
| 810 | // Load the ContentInfo for "Media" folder |
|
| 811 | $contentInfo = $contentService->loadContentInfo($mediaFolderId); |
|
| 812 | ||
| 813 | // Now load the current content version for the info instance |
|
| 814 | $content = $contentService->loadContentByContentInfo($contentInfo); |
|
| 815 | /* END: Use Case */ |
|
| 816 | ||
| 817 | $this->assertInstanceOf( |
|
| 818 | '\\eZ\\Publish\\API\\Repository\\Values\\Content\\Content', |
|
| 819 | $content |
|
| 820 | ); |
|
| 821 | } |
|
| 822 | ||
| 823 | /** |
|
| 824 | * Test for the loadContentByVersionInfo() method. |
|
| @@ 862-880 (lines=19) @@ | ||
| 859 | * @group user |
|
| 860 | * @group field-type |
|
| 861 | */ |
|
| 862 | public function testLoadContent() |
|
| 863 | { |
|
| 864 | $repository = $this->getRepository(); |
|
| 865 | ||
| 866 | $mediaFolderId = $this->generateId('object', 41); |
|
| 867 | /* BEGIN: Use Case */ |
|
| 868 | // $mediaFolderId contains the ID of the "Media" folder |
|
| 869 | ||
| 870 | $contentService = $repository->getContentService(); |
|
| 871 | ||
| 872 | // Load the Content for "Media" folder, any language and current version |
|
| 873 | $content = $contentService->loadContent($mediaFolderId); |
|
| 874 | /* END: Use Case */ |
|
| 875 | ||
| 876 | $this->assertInstanceOf( |
|
| 877 | '\\eZ\\Publish\\API\\Repository\\Values\\Content\\Content', |
|
| 878 | $content |
|
| 879 | ); |
|
| 880 | } |
|
| 881 | ||
| 882 | /** |
|
| 883 | * Test for the loadContent() method. |
|
| @@ 345-367 (lines=23) @@ | ||
| 342 | * @expectedException \eZ\Publish\API\Repository\Exceptions\UnauthorizedException |
|
| 343 | * @depends eZ\Publish\API\Repository\Tests\ContentServiceTest::testLoadContentByContentInfo |
|
| 344 | */ |
|
| 345 | public function testLoadContentByContentInfoThrowsUnauthorizedException() |
|
| 346 | { |
|
| 347 | $repository = $this->getRepository(); |
|
| 348 | ||
| 349 | $anonymousUserId = $this->generateId('user', 10); |
|
| 350 | /* BEGIN: Use Case */ |
|
| 351 | // $anonymousUserId is the ID of the "Anonymous User" in an eZ Publish |
|
| 352 | // demo installation |
|
| 353 | ||
| 354 | $contentService = $repository->getContentService(); |
|
| 355 | ||
| 356 | // Load the ContentInfo for "Anonymous User" |
|
| 357 | $contentInfo = $contentService->loadContentInfo($anonymousUserId); |
|
| 358 | ||
| 359 | $pseudoEditor = $this->createAnonymousWithEditorRole(); |
|
| 360 | ||
| 361 | // Set restricted editor user |
|
| 362 | $repository->setCurrentUser($pseudoEditor); |
|
| 363 | ||
| 364 | // This call will fail with a "UnauthorizedException" |
|
| 365 | $contentService->loadContentByContentInfo($contentInfo); |
|
| 366 | /* END: Use Case */ |
|
| 367 | } |
|
| 368 | ||
| 369 | /** |
|
| 370 | * Test for the loadContentByContentInfo() method. |
|
| @@ 376-398 (lines=23) @@ | ||
| 373 | * @expectedException \eZ\Publish\API\Repository\Exceptions\UnauthorizedException |
|
| 374 | * @depends eZ\Publish\API\Repository\Tests\ContentServiceTest::testLoadContentByContentInfoWithLanguageParameters |
|
| 375 | */ |
|
| 376 | public function testLoadContentByContentInfoThrowsUnauthorizedExceptionWithSecondParameter() |
|
| 377 | { |
|
| 378 | $repository = $this->getRepository(); |
|
| 379 | ||
| 380 | $anonymousUserId = $this->generateId('user', 10); |
|
| 381 | /* BEGIN: Use Case */ |
|
| 382 | // $anonymousUserId is the ID of the "Anonymous User" in an eZ Publish |
|
| 383 | // demo installation |
|
| 384 | ||
| 385 | $contentService = $repository->getContentService(); |
|
| 386 | ||
| 387 | // Load the ContentInfo for "Anonymous User" |
|
| 388 | $contentInfo = $contentService->loadContentInfo($anonymousUserId); |
|
| 389 | ||
| 390 | $pseudoEditor = $this->createAnonymousWithEditorRole(); |
|
| 391 | ||
| 392 | // Set restricted editor user |
|
| 393 | $repository->setCurrentUser($pseudoEditor); |
|
| 394 | ||
| 395 | // This call will fail with a "UnauthorizedException" |
|
| 396 | $contentService->loadContentByContentInfo($contentInfo, array('eng-US')); |
|
| 397 | /* END: Use Case */ |
|
| 398 | } |
|
| 399 | ||
| 400 | /** |
|
| 401 | * Test for the loadContentByContentInfo() method. |
|
| @@ 407-429 (lines=23) @@ | ||
| 404 | * @expectedException \eZ\Publish\API\Repository\Exceptions\UnauthorizedException |
|
| 405 | * @depends eZ\Publish\API\Repository\Tests\ContentServiceTest::testLoadContentByContentInfoWithVersionNumberParameter |
|
| 406 | */ |
|
| 407 | public function testLoadContentByContentInfoThrowsUnauthorizedExceptionWithThirdParameter() |
|
| 408 | { |
|
| 409 | $repository = $this->getRepository(); |
|
| 410 | ||
| 411 | $anonymousUserId = $this->generateId('user', 10); |
|
| 412 | /* BEGIN: Use Case */ |
|
| 413 | // $anonymousUserId is the ID of the "Anonymous User" in an eZ Publish |
|
| 414 | // demo installation |
|
| 415 | ||
| 416 | $contentService = $repository->getContentService(); |
|
| 417 | ||
| 418 | // Load the ContentInfo for "Anonymous User" |
|
| 419 | $contentInfo = $contentService->loadContentInfo($anonymousUserId); |
|
| 420 | ||
| 421 | $pseudoEditor = $this->createAnonymousWithEditorRole(); |
|
| 422 | ||
| 423 | // Set restricted editor user |
|
| 424 | $repository->setCurrentUser($pseudoEditor); |
|
| 425 | ||
| 426 | // This call will fail with a "UnauthorizedException" |
|
| 427 | $contentService->loadContentByContentInfo($contentInfo, array('eng-US'), 2); |
|
| 428 | /* END: Use Case */ |
|
| 429 | } |
|
| 430 | ||
| 431 | /** |
|
| 432 | * Test for the loadContentByVersionInfo() method. |
|