From 71ef30ea300bcb54abd788223592643ba81b9c77 Mon Sep 17 00:00:00 2001 From: Christian Berendt Date: Wed, 3 Jul 2013 18:03:23 +0200 Subject: [PATCH] reworking testclass for \OC\Files\Storage\AmazonS3 --- apps/files_external/tests/amazons3.php | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/apps/files_external/tests/amazons3.php b/apps/files_external/tests/amazons3.php index 6b3a942b5b..06bf968b60 100644 --- a/apps/files_external/tests/amazons3.php +++ b/apps/files_external/tests/amazons3.php @@ -4,7 +4,9 @@ * ownCloud * * @author Michael Gapczynski + * @author Christian Berendt * @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 * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE @@ -25,25 +27,34 @@ namespace Test\Files\Storage; class AmazonS3 extends Storage { private $config; - private $id; public function setUp() { - $id = uniqid(); $this->config = include('files_external/tests/config.php'); if ( ! is_array($this->config) or ! isset($this->config['amazons3']) or ! $this->config['amazons3']['run']) { $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']); } public function tearDown() { if ($this->instance) { - $s3 = new \AmazonS3(array('key' => $this->config['amazons3']['key'], - 'secret' => $this->config['amazons3']['secret'])); - if ($s3->delete_all_objects($this->id)) { - $s3->delete_bucket($this->id); + $connection = $this->instance->getConnection(); + + // NOTE(berendt): clearBucket() is not working with Ceph + $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'] + )); } } }