aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/tests
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/tests')
-rw-r--r--apps/files_external/tests/config.php17
-rw-r--r--apps/files_external/tests/swift.php45
2 files changed, 44 insertions, 18 deletions
diff --git a/apps/files_external/tests/config.php b/apps/files_external/tests/config.php
index d4a69d29c0f..a523809e2f9 100644
--- a/apps/files_external/tests/config.php
+++ b/apps/files_external/tests/config.php
@@ -30,12 +30,17 @@ return array(
'client_secret' => '',
'token' => '',
),
- 'swift'=>array(
- 'run'=>false,
- 'user'=>'test:tester',
- 'token'=>'testing',
- 'host'=>'localhost.local:8080/auth',
- 'root'=>'/',
+ 'swift' => array(
+ 'run' => false,
+ 'user' => 'test',
+ 'bucket' => 'test',
+ 'region' => 'DFW',
+ 'key' => 'test', //to be used only with Rackspace Cloud Files
+ //'tenant' => 'test', //to be used only with OpenStack Object Storage
+ //'password' => 'test', //to be use only with OpenStack Object Storage
+ //'service_name' => 'swift', //should be 'swift' for OpenStack Object Storage and 'cloudFiles' for Rackspace Cloud Files (default value)
+ //'url' => 'https://identity.api.rackspacecloud.com/v2.0/', //to be used with Rackspace Cloud Files and OpenStack Object Storage
+ //'timeout' => 5 // timeout of HTTP requests in seconds
),
'smb'=>array(
'run'=>false,
diff --git a/apps/files_external/tests/swift.php b/apps/files_external/tests/swift.php
index 5c782840246..bdfdbdeebe9 100644
--- a/apps/files_external/tests/swift.php
+++ b/apps/files_external/tests/swift.php
@@ -1,30 +1,51 @@
<?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.
+ * ownCloud
+ *
+ * @author Christian Berendt
+ * @copyright 2013 Christian Berendt berendt@b1-systems.de
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
namespace Test\Files\Storage;
-class SWIFT extends Storage {
+class Swift extends Storage {
+
private $config;
public function setUp() {
- $id = uniqid();
$this->config = include('files_external/tests/config.php');
- if ( ! is_array($this->config) or ! isset($this->config['swift']) or ! $this->config['swift']['run']) {
- $this->markTestSkipped('OpenStack SWIFT backend not configured');
+ if (!is_array($this->config) or !isset($this->config['swift'])
+ or !$this->config['swift']['run']) {
+ $this->markTestSkipped('OpenStack Object Storage backend not configured');
}
- $this->config['swift']['root'] .= '/' . $id; //make sure we have an new empty folder to work in
- $this->instance = new \OC\Files\Storage\SWIFT($this->config['swift']);
+ $this->instance = new \OC\Files\Storage\Swift($this->config['swift']);
}
-
public function tearDown() {
if ($this->instance) {
- $this->instance->rmdir('');
+ $connection = $this->instance->getConnection();
+ $container = $connection->Container($this->config['swift']['bucket']);
+
+ $objects = $container->ObjectList();
+ while($object = $objects->Next()) {
+ $object->Delete();
+ }
+
+ $container->Delete();
}
}
}