Exemple #1
0
 public function testDeleteOlder()
 {
     $time = time();
     /** @var CM_Model_StreamChannel_Video $streamChannel */
     $streamChannelsDeleted = array();
     $archivesDeleted = array();
     /** @var $filesDeleted CM_File[] */
     $filesDeleted = array();
     for ($i = 0; $i < 2; $i++) {
         $streamChannel = CMTest_TH::createStreamChannel();
         $streamChannel->setThumbnailCount(4);
         $streamChannelsDeleted[] = $streamChannel;
         $archive = CMTest_TH::createStreamChannelVideoArchive($streamChannel);
         $archivesDeleted[] = $archive;
         $filesDeleted = array_merge($filesDeleted, $this->_createArchiveFiles($archive));
     }
     $streamChannelsNotDeleted = array();
     $archivesNotDeleted = array();
     /** @var $filesNotDeleted CM_File[] */
     $filesNotDeleted = array();
     $streamChannel = CMTest_TH::createStreamChannel();
     $streamChannel = $this->getMock('CM_Model_StreamChannel_Video', array('getType'), array($streamChannel->getId()));
     $streamChannel->expects($this->any())->method('getType')->will($this->returnValue(3));
     $streamChannelsNotDeleted[] = $streamChannel;
     $archive = CMTest_TH::createStreamChannelVideoArchive($streamChannel);
     $archivesNotDeleted[] = $archive;
     $filesNotDeleted = array_merge($filesNotDeleted, $this->_createArchiveFiles($archive));
     CMTest_TH::timeForward(20);
     for ($i = 0; $i < 3; $i++) {
         $streamChannel = CMTest_TH::createStreamChannel();
         $streamChannel->setThumbnailCount(4);
         $streamChannelsNotDeleted[] = $streamChannel;
         $archive = CMTest_TH::createStreamChannelVideoArchive($streamChannel);
         $archivesNotDeleted[] = $archive;
         $filesNotDeleted = array_merge($filesNotDeleted, $this->_createArchiveFiles($archive));
     }
     foreach ($filesNotDeleted as $file) {
         $this->assertTrue($file->exists());
     }
     foreach ($filesDeleted as $file) {
         $this->assertTrue($file->exists());
     }
     CM_Model_StreamChannelArchive_Video::deleteOlder(10, CM_Model_StreamChannel_Video::getTypeStatic());
     foreach ($filesNotDeleted as $file) {
         $this->assertTrue($file->exists());
     }
     foreach ($filesDeleted as $file) {
         $this->assertFalse($file->exists());
     }
     foreach ($archivesNotDeleted as $archive) {
         try {
             CMTest_TH::reinstantiateModel($archive);
             $this->assertTrue(true);
         } catch (CM_Exception_Nonexistent $ex) {
             $this->fail('Young streamchannelArchive deleted');
         }
     }
     foreach ($archivesDeleted as $archive) {
         try {
             CMTest_TH::reinstantiateModel($archive);
             $this->fail('Old streamchannelArchive not deleted');
         } catch (CM_Exception_Nonexistent $ex) {
             $this->assertTrue(true);
         }
     }
 }