/**
  * @test
  * @group library
  */
 public function getWithSearchAndLimitFilterShouldReturnMatchesAndApplyLimit()
 {
     $mediaItems = $this->service->getByWebsiteIdAndFilter($this->websiteId, array('search' => 'Test_Data_Search_Filter', 'limit' => 1));
     $this->assertTrue(count($mediaItems) == 1);
     foreach ($mediaItems as $mediaItem) {
         $this->assertInstanceOf('Cms\\Data\\Media', $mediaItem);
     }
 }
Exemple #2
0
 /**
  * @test
  * @group library
  */
 public function getAllWithTypeAndLimitFilterShouldReturnTypeMatchesAndApplyLimit()
 {
     $mediaItems = $this->service->getByWebsiteIdAndFilter($this->websiteId, array('type' => 'image', 'limit' => 3, 'albumid' => $this->albumId));
     $this->assertTrue(count($mediaItems) == 3);
     foreach ($mediaItems as $mediaItem) {
         $this->assertInstanceOf('Cms\\Data\\Media', $mediaItem);
     }
 }
Exemple #3
0
 /**
  * @param string $name
  * @param string $websiteId
  * @return Cms\Response\Media
  */
 private function getItemByNameAndWebsiteId($name, $websiteId)
 {
     $medias = $this->service->getByWebsiteIdAndFilter($websiteId);
     foreach ($medias as $media) {
         if ($media->getName() === $name) {
             return $media;
         }
     }
 }
 /**
  * @test
  * @group library
  */
 public function copyMediaShouldBeIgnoredCopyWhenSourceHasNoMedia()
 {
     $sourceWebsiteId = 'SITE-mc10e89c-2cmf-46cd-a651-fc42dc7812so-SITE';
     $newWebsiteId = 'SITE-mc10e89c-2cmf-46cd-a651-fc42dc7f75de-SITE';
     try {
         $this->service->copyMediaToNewWebsite($sourceWebsiteId, $newWebsiteId);
     } catch (\InvalidArgumentException $e) {
         $this->fail('Copy of non existing source media should not occur');
     }
 }
Exemple #5
0
 /**
  * @test
  * @group library
  */
 public function success()
 {
     $createValues = array('name' => 'service test media', 'albumid' => 'ALBUM-d6569ffb-4005-48db-992e-b40ea135c0d8-ALBUM', 'extension' => 'jpg', 'size' => '10000', 'type' => 'image');
     $testMedia = $this->service->create($this->websiteId, $createValues);
     $this->assertSame($createValues['name'], $testMedia->getName());
     $this->assertSame($this->websiteId, $testMedia->getWebsiteId());
     $this->assertSame($createValues['albumid'], $testMedia->getAlbumId());
     $this->assertSame($createValues['extension'], $testMedia->getExtension());
     $this->assertSame($createValues['size'], $testMedia->getSize());
     $this->assertSame($createValues['type'], $testMedia->getType());
     // Timestamp der letzten Aenderung darf nicht aelter sein als ein paar Sekunden
     $this->assertNotNull($testMedia->getLastupdate());
     $currentTime = time();
     $this->assertLessThanOrEqual($currentTime, $testMedia->getLastupdate());
     $this->assertGreaterThan($currentTime - 2, $testMedia->getLastupdate());
 }
 /**
  * @test
  * @group library
  */
 public function success()
 {
     $websiteId = 'SITE-779ca2e0-7948-4bd6-958f-8a92e287fe22-SITE';
     $existsMediaIds = array('MDB-e2611218-3590-4cdf-b7bc-4d59ed4c88aa-MDB', 'MDB-dca4f746-c420-407f-b145-7de175d2bb09-MDB');
     $nonExistsMediaIds = array('MDB-366869ef-6e4a-4646-b44c-5853a6cc994f-MDB', 'MDB-0733a4c1-1bef-4cc5-9ab3-67103e161984-MDB');
     $mediaIds = array_merge($existsMediaIds, $nonExistsMediaIds);
     $medias = $this->service->getMultipleByIds($mediaIds, $websiteId);
     $this->assertInternalType('array', $medias);
     $this->assertSame(count($existsMediaIds), count($medias));
     $resultMediaIds = array();
     foreach ($medias as $media) {
         $this->assertInstanceOf('Cms\\Data\\Media', $media);
         $this->assertSame($websiteId, $media->getWebsiteId());
         $resultMediaIds[] = $media->getId();
     }
     sort($existsMediaIds);
     sort($resultMediaIds);
     $this->assertSame($existsMediaIds, $resultMediaIds);
 }
 /**
  * @param array $mediaIds
  */
 public function preloadMediaItems(array $mediaIds)
 {
     if (count($mediaIds) <= 0) {
         return;
     }
     $firstHundredMediaIds = array_slice($mediaIds, 0, 100);
     try {
         $mediaItems = $this->mediaService->getMultipleByIds($firstHundredMediaIds, $this->websiteId);
         foreach ($mediaItems as $mediaItem) {
             if (isset($this->cache[$mediaItem->getId()])) {
                 continue;
             }
             $infoStorageItem = $this->createMediaInfoStorageItem($mediaItem);
             $this->cache[$mediaItem->getId()] = $infoStorageItem;
         }
     } catch (\Exception $doNothing) {
     }
 }
Exemple #8
0
 /**
  * @test
  * @group library
  */
 public function deleteShouldDeleteExpectedMediasWhenNotReferencedByPageModulOrTemplate()
 {
     $deletableIds = array('MDB-0991d0ec-cb0f-4961-92bd-765d4aa581a3-MDB', 'MDB-12824b9d-426d-4998-af19-959c76d46aaa-MDB', 'MDB-43789100-f48a-4b52-afaa-912505d548ff-MDB');
     $siteId = 'SITE-ra10e89c-22af-46cd-a651-fc42dc78fe50-SITE';
     $this->service->delete($deletableIds, $siteId);
 }
Exemple #9
0
 /**
  * @test
  * @group library
  * @dataProvider nonAllowedColumnsProvider
  * @param string $dataClassName
  */
 public function getShouldThrowNoExceptionForNonAllowedColumns($column)
 {
     $this->service->getByWebsiteIdAndFilter($this->websiteId, array('sort' => $column));
 }