aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJörn Friedrich Dreyer <jfd@butonic.de>2015-10-19 17:18:57 +0200
committerJörn Friedrich Dreyer <jfd@butonic.de>2015-10-19 17:18:57 +0200
commit2895c912910a5a24ce6fae5d487ff8136c7a5042 (patch)
treed661a84df7c55b4260d9efce06882f8b98364ca9 /tests
parentc530c9c322d9475fbbeccce834ba06083d7ae36a (diff)
parentde55f6afbf1eb4bf858ff61e07c6fa475269bea1 (diff)
downloadnextcloud-server-2895c912910a5a24ce6fae5d487ff8136c7a5042.tar.gz
nextcloud-server-2895c912910a5a24ce6fae5d487ff8136c7a5042.zip
Merge pull request #17641 from owncloud/fix_objectstore_rename
don't move files in cache twice, fixes renaming for objectstores
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/cache/updater.php18
-rw-r--r--tests/lib/files/objectstore/swift.php4
-rwxr-xr-xtests/objectstore/stop-swift-ceph.sh24
3 files changed, 35 insertions, 11 deletions
diff --git a/tests/lib/files/cache/updater.php b/tests/lib/files/cache/updater.php
index ea75c8dcd72..e3fa26829b4 100644
--- a/tests/lib/files/cache/updater.php
+++ b/tests/lib/files/cache/updater.php
@@ -143,6 +143,24 @@ class Updater extends \Test\TestCase {
$this->assertEquals($cached['fileid'], $cachedTarget['fileid']);
}
+ public function testMoveNonExistingOverwrite() {
+ $this->storage->file_put_contents('bar.txt', 'qwerty');
+ $this->updater->update('bar.txt');
+
+ $cached = $this->cache->get('bar.txt');
+
+ $this->updater->rename('foo.txt', 'bar.txt');
+
+ $this->assertFalse($this->cache->inCache('foo.txt'));
+ $this->assertTrue($this->cache->inCache('bar.txt'));
+
+ $cachedTarget = $this->cache->get('bar.txt');
+ $this->assertEquals($cached['etag'], $cachedTarget['etag']);
+ $this->assertEquals($cached['mtime'], $cachedTarget['mtime']);
+ $this->assertEquals($cached['size'], $cachedTarget['size']);
+ $this->assertEquals($cached['fileid'], $cachedTarget['fileid']);
+ }
+
public function testNewFileDisabled() {
$this->storage->file_put_contents('foo.txt', 'bar');
$this->assertFalse($this->cache->inCache('foo.txt'));
diff --git a/tests/lib/files/objectstore/swift.php b/tests/lib/files/objectstore/swift.php
index 136d8d18039..6d59078aa7c 100644
--- a/tests/lib/files/objectstore/swift.php
+++ b/tests/lib/files/objectstore/swift.php
@@ -99,6 +99,10 @@ class Swift extends \Test\Files\Storage\Storage {
}
}
+ public function testCheckUpdate() {
+ $this->markTestSkipped('Detecting external changes is not supported on object storages');
+ }
+
/**
* @dataProvider copyAndMoveProvider
*/
diff --git a/tests/objectstore/stop-swift-ceph.sh b/tests/objectstore/stop-swift-ceph.sh
index fcf5fdfdcd7..400db8925e9 100755
--- a/tests/objectstore/stop-swift-ceph.sh
+++ b/tests/objectstore/stop-swift-ceph.sh
@@ -23,16 +23,18 @@ if [ -z "$thisFolder" ]; then
thisFolder="."
fi;
-# stopping and removing docker containers
-for container in `cat $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift`; do
- if [ -n "$DEBUG" ]; then
- docker logs $container
- fi
- echo "Stopping and removing docker container $container"
- # kills running container and removes it
- docker rm -f $container
-done;
+if [ -e $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift ]; then
+ # stopping and removing docker containers
+ for container in `cat $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift`; do
+ if [ -n "$DEBUG" ]; then
+ docker logs $container
+ fi
+ echo "Stopping and removing docker container $container"
+ # kills running container and removes it
+ docker rm -f $container
+ done;
+fi;
# cleanup
-rm $thisFolder/swift.config.php
-rm $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift \ No newline at end of file
+rm -rf $thisFolder/swift.config.php
+rm -rf $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift