From f0d04f3ac6b2c4c01a80ffc9b77c83028d4e91d9 Mon Sep 17 00:00:00 2001 From: Christian Berendt Date: Tue, 22 Oct 2013 13:34:24 +0200 Subject: adjustment of the configuration parameters --- apps/files_external/tests/config.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'apps/files_external/tests') diff --git a/apps/files_external/tests/config.php b/apps/files_external/tests/config.php index d4a69d29c0f..57653d05d00 100644 --- a/apps/files_external/tests/config.php +++ b/apps/files_external/tests/config.php @@ -31,11 +31,15 @@ return array( 'token' => '', ), 'swift'=>array( - 'run'=>false, - 'user'=>'test:tester', - 'token'=>'testing', - 'host'=>'localhost.local:8080/auth', - 'root'=>'/', + '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 ), 'smb'=>array( 'run'=>false, -- cgit v1.2.3 From e0bac3ec71ad9f3a2624866b1603c8bf57a22fa7 Mon Sep 17 00:00:00 2001 From: Christian Berendt Date: Tue, 22 Oct 2013 13:36:23 +0200 Subject: adapted existing test cases --- apps/files_external/tests/swift.php | 45 +++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 12 deletions(-) (limited to 'apps/files_external/tests') 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 @@ - * 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 . */ 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(); } } } -- cgit v1.2.3 From dd82481f59b35a8dcc586868e61753210e9eba0c Mon Sep 17 00:00:00 2001 From: Christian Berendt Date: Thu, 24 Oct 2013 16:19:17 +0200 Subject: add configuration parameter to manually set the timeout of HTTP requests --- apps/files_external/lib/config.php | 3 ++- apps/files_external/lib/swift.php | 5 +++++ apps/files_external/tests/config.php | 5 +++-- 3 files changed, 10 insertions(+), 3 deletions(-) (limited to 'apps/files_external/tests') diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index 65d541c4b16..1210156df0b 100755 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -95,7 +95,8 @@ class OC_Mount_Config { 'tenant' => 'Tenantname (OpenStack Object Storage)', 'password' => '*Password (OpenStack Object Storage)', 'service_name' => 'Service Name (OpenStack Object Storage)', - 'url' => 'URL of identity endpoint (OpenStack Object Storage)' + 'url' => 'URL of identity endpoint (OpenStack Object Storage)', + 'timeout' => 'Timeout of HTTP requests in seconds (optional)', ) ); } diff --git a/apps/files_external/lib/swift.php b/apps/files_external/lib/swift.php index fe28e124fe3..bb650dacc7b 100644 --- a/apps/files_external/lib/swift.php +++ b/apps/files_external/lib/swift.php @@ -109,6 +109,11 @@ class Swift extends \OC\Files\Storage\Common { } $this->anchor = new \OpenCloud\OpenStack($params['url'], $settings); + + if (isset($params['timeout'])) { + $this->anchor->setHttpTimeout($params['timeout']); + } + $this->connection = $this->anchor->ObjectStore($params['service_name'], $params['region'], 'publicURL'); try { diff --git a/apps/files_external/tests/config.php b/apps/files_external/tests/config.php index 57653d05d00..a523809e2f9 100644 --- a/apps/files_external/tests/config.php +++ b/apps/files_external/tests/config.php @@ -30,7 +30,7 @@ return array( 'client_secret' => '', 'token' => '', ), - 'swift'=>array( + 'swift' => array( 'run' => false, 'user' => 'test', 'bucket' => 'test', @@ -39,7 +39,8 @@ return array( //'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 + //'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, -- cgit v1.2.3