コード例 #1
0
ファイル: Backup.php プロジェクト: devhelp/backup
 private function backupResource(RemoteResource $remoteResource, NotificationInterface $notification)
 {
     if ($remoteResource->getType() === RemoteResource::TYPE_DIRECTORY) {
         return $this->targetFilesystemAdapter->createDirectory($remoteResource);
     }
     $fileStream = $this->sourceFilesystemAdapter->readStream($remoteResource);
     if ($fileStream === false) {
         $notification->notifyErrorReadingResources($remoteResource);
         return false;
     }
     $writeResult = $this->targetFilesystemAdapter->writeStream($remoteResource, $fileStream);
     if ($writeResult === false) {
         $notification->notifyErrorWritingResources($remoteResource);
         return false;
     }
     return true;
 }
コード例 #2
0
ファイル: BackupSpec.php プロジェクト: devhelp/backup
 function it_creates_backup_containing_directory_and_files(SourceFilesystemAdapterInterface $sourceFilesystemAdapter, TargetFilesystemAdapterInterface $targetFilesystemAdapter, NotificationInterface $notification)
 {
     $resources = [new RemoteResource('test', RemoteResource::TYPE_DIRECTORY), new RemoteResource('test/2.jpg'), new RemoteResource('test/3.jpg')];
     $sourceFilesystemAdapter->getResourcesList()->willReturn($resources);
     $targetFilesystemAdapter->createDirectory($resources[0])->willReturn([]);
     unset($resources[0]);
     foreach ($resources as $resource) {
         $sourceFilesystemAdapter->readStream($resource)->willReturn('resource');
         $targetFilesystemAdapter->writeStream($resource, 'resource')->willReturn('resource');
     }
     $this->run($notification);
     $notification->runProcess(3)->shouldBeCalled();
     foreach ($resources as $resource) {
         $notification->notifySuccessStepProcess($resource)->shouldBeCalled();
     }
     $notification->finishProcess()->shouldBeCalled();
 }