aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/tests/backends/smb.php
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2014-11-14 11:06:59 +0100
committerMorris Jobke <hey@morrisjobke.de>2014-12-17 21:50:35 +0100
commit7c1b9aedd528f70eeacbd846666e2f663198d808 (patch)
tree6f6ea77d95addd8d9418348e5ca51a11e08649aa /apps/files_external/tests/backends/smb.php
parentc20be2455995536e09bffca82bc37b41d5260cfe (diff)
downloadnextcloud-server-7c1b9aedd528f70eeacbd846666e2f663198d808.tar.gz
nextcloud-server-7c1b9aedd528f70eeacbd846666e2f663198d808.zip
Setup a docker container that holds a webdav instance to test files_external
document docker parameter and use random host port fix typo copy autotest.sh to autotest-external.sh adds ability to add start* and stop* scripts in env in external tests run files_external WebDAV tests against ownCloud instance introduce executor number to be able to shut down the correct docker container fetch docker images in advance - this also fetches latest versions of the docker images add second argument to autotest-external.sh which can specify a single test to run print out the explicit test run change naming schema of files_external setup scripts
Diffstat (limited to 'apps/files_external/tests/backends/smb.php')
-rw-r--r--apps/files_external/tests/backends/smb.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/apps/files_external/tests/backends/smb.php b/apps/files_external/tests/backends/smb.php
new file mode 100644
index 00000000000..9e5ab2b331f
--- /dev/null
+++ b/apps/files_external/tests/backends/smb.php
@@ -0,0 +1,47 @@
+<?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 SMB 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['smb']) or !$this->config['smb']['run']) {
+ $this->markTestSkipped('Samba backend not configured');
+ }
+ $this->config['smb']['root'] .= $id; //make sure we have an new empty folder to work in
+ $this->instance = new \OC\Files\Storage\SMB($this->config['smb']);
+ $this->instance->mkdir('/');
+ }
+
+ protected function tearDown() {
+ if ($this->instance) {
+ \OCP\Files::rmdirr($this->instance->constructUrl(''));
+ }
+
+ parent::tearDown();
+ }
+
+ public function directoryProvider() {
+ // doesn't support leading/trailing spaces
+ return array(array('folder'));
+ }
+
+ public function testRenameWithSpaces() {
+ $this->instance->mkdir('with spaces');
+ $result = $this->instance->rename('with spaces', 'foo bar');
+ $this->assertTrue($result);
+ $this->assertTrue($this->instance->is_dir('foo bar'));
+ }
+}