diff options
Diffstat (limited to 'apps/files_external/tests/backends/ftp.php')
-rw-r--r-- | apps/files_external/tests/backends/ftp.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/apps/files_external/tests/backends/ftp.php b/apps/files_external/tests/backends/ftp.php new file mode 100644 index 00000000000..842b7f43fa8 --- /dev/null +++ b/apps/files_external/tests/backends/ftp.php @@ -0,0 +1,68 @@ +<?php +/** + * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test\Files\Storage; + +class FTP extends Storage { + private $config; + + protected function setUp() { + parent::setUp(); + + $id = $this->getUniqueID(); + $this->config = include('files_external/tests/config.php'); + if ( ! is_array($this->config) or ! isset($this->config['ftp']) or ! $this->config['ftp']['run']) { + $this->markTestSkipped('FTP backend not configured'); + } + $this->config['ftp']['root'] .= '/' . $id; //make sure we have an new empty folder to work in + $this->instance = new \OC\Files\Storage\FTP($this->config['ftp']); + $this->instance->mkdir('/'); + } + + protected function tearDown() { + if ($this->instance) { + \OCP\Files::rmdirr($this->instance->constructUrl('')); + } + + parent::tearDown(); + } + + public function testConstructUrl(){ + $config = array ( 'host' => 'localhost', + 'user' => 'ftp', + 'password' => 'ftp', + 'root' => '/', + 'secure' => false ); + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftp://ftp:ftp@localhost/', $instance->constructUrl('')); + + $config['secure'] = true; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftps://ftp:ftp@localhost/', $instance->constructUrl('')); + + $config['secure'] = 'false'; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftp://ftp:ftp@localhost/', $instance->constructUrl('')); + + $config['secure'] = 'true'; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftps://ftp:ftp@localhost/', $instance->constructUrl('')); + + $config['root'] = ''; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftps://ftp:ftp@localhost/somefile.txt', $instance->constructUrl('somefile.txt')); + + $config['root'] = '/abc'; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftps://ftp:ftp@localhost/abc/somefile.txt', $instance->constructUrl('somefile.txt')); + + $config['root'] = '/abc/'; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftps://ftp:ftp@localhost/abc/somefile.txt', $instance->constructUrl('somefile.txt')); + } +} |