コード例 #1
0
ファイル: ClientTest.php プロジェクト: cargomedia/cm
 public function testRestoreByCopyingOldVersion()
 {
     $this->_filesystem->write('bar', 'mega1');
     sleep(1);
     $this->_filesystem->write('bar', 'mega2');
     sleep(1);
     $this->_filesystem->delete('bar');
     sleep(1);
     $this->_filesystem->write('bar', 'mega3');
     sleep(1);
     $this->_filesystem->write('bar', 'mega4');
     $versionList = $this->_restore->getVersions('bar');
     /** @var DateTime[] $lastModifiedList */
     $lastModifiedList = Functional\map($versionList, function (CMService_AwsS3Versioning_Response_Version $version) {
         return $version->getLastModified();
     });
     $this->_restore->restoreByCopyingOldVersion('bar', $lastModifiedList[0]->add(new DateInterval('PT1S')));
     $this->assertCount(5, $this->_restore->getVersions('bar'));
     $this->assertSame('mega4', $this->_filesystem->read('bar'));
     $this->_restore->restoreByCopyingOldVersion('bar', $lastModifiedList[1]);
     $this->assertCount(6, $this->_restore->getVersions('bar'));
     $this->assertSame('mega3', $this->_filesystem->read('bar'));
     $this->_restore->restoreByCopyingOldVersion('bar', $lastModifiedList[2]);
     $this->assertCount(7, $this->_restore->getVersions('bar'));
     $this->assertSame(false, $this->_filesystem->exists('bar'));
     $this->_restore->restoreByCopyingOldVersion('bar', $lastModifiedList[4]);
     $this->assertCount(8, $this->_restore->getVersions('bar'));
     $this->assertSame('mega1', $this->_filesystem->read('bar'));
     $this->_restore->restoreByCopyingOldVersion('bar', $lastModifiedList[4]->sub(new DateInterval('PT1S')));
     $this->assertCount(9, $this->_restore->getVersions('bar'));
     $this->assertSame(false, $this->_filesystem->exists('bar'));
 }
コード例 #2
0
ファイル: File.php プロジェクト: NicolasSchmutz/cm
 /**
  * @return bool
  */
 public function exists()
 {
     return $this->_filesystem->exists($this->getPath());
 }