public function testStorage() { $f = __DIR__ . '/dummy-file.txt'; $data = self::$storage->storeFile($f, 'test.txt', 'plain/text'); $this->assertEquals(array('name' => 'test.txt', 'size' => 5, 'extension' => 'txt', 'mime' => 'plain/text'), $data); $data = self::$storage->storeFile($f, 'test2.axc', 'plain/text'); $this->assertEquals(array('name' => 'test2.axc', 'size' => 5, 'extension' => 'axc', 'mime' => 'plain/text'), $data); $data = self::$storage->storeFile($f, 'aloha/test.txt', 'plain/text'); $this->assertEquals(array('name' => 'aloha/test.txt', 'size' => 5, 'extension' => 'txt', 'mime' => 'plain/text'), $data); $files = array(); $dirs = array(); /* @var SplFileInfo $f */ foreach (new FilesystemIterator(__DIR__ . '/tmp-storage/') as $f) { if (is_dir($f->getRealPath())) { $dirs[] = basename($f->getRealPath()); } else { $files[] = basename($f->getRealPath()); } } $this->assertEquals(array('test.txt', 'test2.axc'), $files); $this->assertEquals(array('aloha'), $dirs); $this->assertTrue(file_exists(__DIR__ . '/tmp-storage/aloha/test.txt')); self::$storage->removeFile('aloha/test.txt'); $this->assertFalse(file_exists(__DIR__ . '/tmp-storage/aloha/test.txt')); }
/** * @param ObjectInterface $user * @param \Rocker\Object\User\UserFactory $factory * @param array $userFiles * @param \Rocker\Utils\FileStorage\StorageInterface $storage */ protected static function deleteAllFiles(ObjectInterface $user, UserFactory $factory, $userFiles, $storage) { foreach ($userFiles as $f) { if (!empty($f['versions'])) { $storage->removeVersions($f['name'], $f['versions']); } $storage->removeFile($f['name']); } $user->meta()->delete('files'); $factory->update($user); }