78 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Unit;
 | |
| 
 | |
| 
 | |
| use Flow\FileOpenException;
 | |
| use org\bovigo\vfs\vfsStreamWrapper;
 | |
| use org\bovigo\vfs\vfsStreamDirectory;
 | |
| use org\bovigo\vfs\vfsStream;
 | |
| use Flow\Uploader;
 | |
| 
 | |
| /**
 | |
|  * Uploader unit tests
 | |
|  *
 | |
|  * @coversDefaultClass \Flow\Uploader
 | |
|  *
 | |
|  * @package Unit
 | |
|  */
 | |
| class UploaderTest extends FlowUnitCase
 | |
| {
 | |
| 	/**
 | |
| 	 * Virtual file system
 | |
| 	 *
 | |
| 	 * @var vfsStreamDirectory
 | |
| 	 */
 | |
| 	protected $vfs;
 | |
| 
 | |
|     protected function setUp()
 | |
|     {
 | |
|         vfsStreamWrapper::register();
 | |
|         $this->vfs = new vfsStreamDirectory('chunks');
 | |
|         vfsStreamWrapper::setRoot($this->vfs);
 | |
|     }
 | |
| 
 | |
| 	/**
 | |
| 	 * @covers ::pruneChunks
 | |
| 	 */
 | |
|     public function testUploader_pruneChunks()
 | |
|     {
 | |
| 	    //// Setup test
 | |
| 
 | |
|         $newDir = vfsStream::newDirectory('1');
 | |
|         $newDir->lastModified(time()-31);
 | |
|         $newDir->lastModified(time());
 | |
| 
 | |
| 	    $fileFirst = vfsStream::newFile('file31');
 | |
|         $fileFirst->lastModified(time()-31);
 | |
|         $fileSecond = vfsStream::newFile('random_file');
 | |
|         $fileSecond->lastModified(time()-30);
 | |
| 	    $upDir = vfsStream::newFile('..');
 | |
| 
 | |
| 	    $this->vfs->addChild($newDir);
 | |
|         $this->vfs->addChild($fileFirst);
 | |
|         $this->vfs->addChild($fileSecond);
 | |
|         $this->vfs->addChild($upDir);
 | |
| 
 | |
| 	    //// Actual test
 | |
| 
 | |
|         Uploader::pruneChunks($this->vfs->url(), 30);
 | |
|         $this->assertTrue(file_exists($newDir->url()));
 | |
|         $this->assertFalse(file_exists($fileFirst->url()));
 | |
|         $this->assertTrue(file_exists($fileSecond->url()));
 | |
|     }
 | |
| 
 | |
| 	/**
 | |
| 	 * @covers ::pruneChunks
 | |
| 	 */
 | |
| 	public function testUploader_exception()
 | |
| 	{
 | |
| 		try {
 | |
| 			@Uploader::pruneChunks('not/existing/dir', 30);
 | |
| 			$this->fail();
 | |
| 		} catch (FileOpenException $e) {
 | |
| 			$this->assertSame('failed to open folder: not/existing/dir', $e->getMessage());
 | |
| 		}
 | |
| 	}
 | |
| }
 | 
