make objectstore tests check fileid on rename
This commit is contained in:
parent
8488be4d03
commit
c362c78d76
1 changed files with 83 additions and 0 deletions
|
@ -111,4 +111,87 @@ class Swift extends \Test\Files\Storage\Storage {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider copyAndMoveProvider
|
||||
*/
|
||||
public function testMove($source, $target) {
|
||||
$this->initSourceAndTarget($source);
|
||||
$sourceId = $this->instance->getCache()->getId(ltrim('/',$source));
|
||||
$this->assertNotEquals(-1, $sourceId);
|
||||
|
||||
$this->instance->rename($source, $target);
|
||||
|
||||
$this->assertTrue($this->instance->file_exists($target), $target.' was not created');
|
||||
$this->assertFalse($this->instance->file_exists($source), $source.' still exists');
|
||||
$this->assertSameAsLorem($target);
|
||||
|
||||
$targetId = $this->instance->getCache()->getId(ltrim('/',$target));
|
||||
$this->assertSame($sourceId, $targetId, 'fileid must be stable on move or shares will break');
|
||||
}
|
||||
|
||||
public function testRenameDirectory() {
|
||||
$this->instance->mkdir('source');
|
||||
$this->instance->file_put_contents('source/test1.txt', 'foo');
|
||||
$this->instance->file_put_contents('source/test2.txt', 'qwerty');
|
||||
$this->instance->mkdir('source/subfolder');
|
||||
$this->instance->file_put_contents('source/subfolder/test.txt', 'bar');
|
||||
$sourceId = $this->instance->getCache()->getId('source');
|
||||
$this->assertNotEquals(-1, $sourceId);
|
||||
$this->instance->rename('source', 'target');
|
||||
|
||||
$this->assertFalse($this->instance->file_exists('source'));
|
||||
$this->assertFalse($this->instance->file_exists('source/test1.txt'));
|
||||
$this->assertFalse($this->instance->file_exists('source/test2.txt'));
|
||||
$this->assertFalse($this->instance->file_exists('source/subfolder'));
|
||||
$this->assertFalse($this->instance->file_exists('source/subfolder/test.txt'));
|
||||
|
||||
$this->assertTrue($this->instance->file_exists('target'));
|
||||
$this->assertTrue($this->instance->file_exists('target/test1.txt'));
|
||||
$this->assertTrue($this->instance->file_exists('target/test2.txt'));
|
||||
$this->assertTrue($this->instance->file_exists('target/subfolder'));
|
||||
$this->assertTrue($this->instance->file_exists('target/subfolder/test.txt'));
|
||||
|
||||
$this->assertEquals('foo', $this->instance->file_get_contents('target/test1.txt'));
|
||||
$this->assertEquals('qwerty', $this->instance->file_get_contents('target/test2.txt'));
|
||||
$this->assertEquals('bar', $this->instance->file_get_contents('target/subfolder/test.txt'));
|
||||
$targetId = $this->instance->getCache()->getId('target');
|
||||
$this->assertSame($sourceId, $targetId, 'fileid must be stable on move or shares will break');
|
||||
}
|
||||
|
||||
public function testRenameOverWriteDirectory() {
|
||||
$this->instance->mkdir('source');
|
||||
$this->instance->file_put_contents('source/test1.txt', 'foo');
|
||||
$sourceId = $this->instance->getCache()->getId('source');
|
||||
$this->assertNotEquals(-1, $sourceId);
|
||||
|
||||
$this->instance->mkdir('target');
|
||||
$this->instance->file_put_contents('target/test1.txt', 'bar');
|
||||
$this->instance->file_put_contents('target/test2.txt', 'bar');
|
||||
|
||||
$this->instance->rename('source', 'target');
|
||||
|
||||
$this->assertFalse($this->instance->file_exists('source'));
|
||||
$this->assertFalse($this->instance->file_exists('source/test1.txt'));
|
||||
$this->assertFalse($this->instance->file_exists('target/test2.txt'));
|
||||
$this->assertEquals('foo', $this->instance->file_get_contents('target/test1.txt'));
|
||||
$targetId = $this->instance->getCache()->getId('target');
|
||||
$this->assertSame($sourceId, $targetId, 'fileid must be stable on move or shares will break');
|
||||
}
|
||||
|
||||
public function testRenameOverWriteDirectoryOverFile() {
|
||||
$this->instance->mkdir('source');
|
||||
$this->instance->file_put_contents('source/test1.txt', 'foo');
|
||||
$sourceId = $this->instance->getCache()->getId('source');
|
||||
$this->assertNotEquals(-1, $sourceId);
|
||||
|
||||
$this->instance->file_put_contents('target', 'bar');
|
||||
|
||||
$this->instance->rename('source', 'target');
|
||||
|
||||
$this->assertFalse($this->instance->file_exists('source'));
|
||||
$this->assertFalse($this->instance->file_exists('source/test1.txt'));
|
||||
$this->assertEquals('foo', $this->instance->file_get_contents('target/test1.txt'));
|
||||
$targetId = $this->instance->getCache()->getId('target');
|
||||
$this->assertSame($sourceId, $targetId, 'fileid must be stable on move or shares will break');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue