reworking testclass for \OC\Files\Storage\AmazonS3
This commit is contained in:
parent
8e5474394e
commit
71ef30ea30
|
@ -4,7 +4,9 @@
|
||||||
* ownCloud
|
* ownCloud
|
||||||
*
|
*
|
||||||
* @author Michael Gapczynski
|
* @author Michael Gapczynski
|
||||||
|
* @author Christian Berendt
|
||||||
* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
|
* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
|
||||||
|
* @copyright 2013 Christian Berendt berendt@b1-systems.de
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||||
|
@ -25,25 +27,34 @@ namespace Test\Files\Storage;
|
||||||
class AmazonS3 extends Storage {
|
class AmazonS3 extends Storage {
|
||||||
|
|
||||||
private $config;
|
private $config;
|
||||||
private $id;
|
|
||||||
|
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
$id = uniqid();
|
|
||||||
$this->config = include('files_external/tests/config.php');
|
$this->config = include('files_external/tests/config.php');
|
||||||
if ( ! is_array($this->config) or ! isset($this->config['amazons3']) or ! $this->config['amazons3']['run']) {
|
if ( ! is_array($this->config) or ! isset($this->config['amazons3']) or ! $this->config['amazons3']['run']) {
|
||||||
$this->markTestSkipped('AmazonS3 backend not configured');
|
$this->markTestSkipped('AmazonS3 backend not configured');
|
||||||
}
|
}
|
||||||
$this->config['amazons3']['bucket'] = $id; // Make sure we have a new empty bucket to work in
|
|
||||||
$this->instance = new \OC\Files\Storage\AmazonS3($this->config['amazons3']);
|
$this->instance = new \OC\Files\Storage\AmazonS3($this->config['amazons3']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function tearDown() {
|
public function tearDown() {
|
||||||
if ($this->instance) {
|
if ($this->instance) {
|
||||||
$s3 = new \AmazonS3(array('key' => $this->config['amazons3']['key'],
|
$connection = $this->instance->getConnection();
|
||||||
'secret' => $this->config['amazons3']['secret']));
|
|
||||||
if ($s3->delete_all_objects($this->id)) {
|
// NOTE(berendt): clearBucket() is not working with Ceph
|
||||||
$s3->delete_bucket($this->id);
|
$iterator = $connection->getIterator('ListObjects', array(
|
||||||
|
'Bucket' => $this->config['amazons3']['bucket']
|
||||||
|
));
|
||||||
|
|
||||||
|
foreach ($iterator as $object) {
|
||||||
|
$connection->deleteObject(array(
|
||||||
|
'Bucket' => $this->config['amazons3']['bucket'],
|
||||||
|
'Key' => $object['Key']
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$connection->deleteBucket(array(
|
||||||
|
'Bucket' => $this->config['amazons3']['bucket']
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue