Code Duplication    Length = 10-23 lines in 8 locations

eZ/Publish/API/Repository/Tests/ContentServiceTest.php 5 locations

@@ 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.

eZ/Publish/API/Repository/Tests/ContentServiceAuthorizationTest.php 3 locations

@@ 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.