skip already decrypted files on decrypt all command
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
parent
87657fffd8
commit
d76a87f3b0
|
@ -252,6 +252,12 @@ class DecryptAll {
|
||||||
*/
|
*/
|
||||||
protected function decryptFile($path) {
|
protected function decryptFile($path) {
|
||||||
|
|
||||||
|
// skip already decrypted files
|
||||||
|
$fileInfo = $this->rootView->getFileInfo($path);
|
||||||
|
if ($fileInfo !== false && !$fileInfo->isEncrypted()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
$source = $path;
|
$source = $path;
|
||||||
$target = $path . '.decrypted.' . $this->getTimestamp();
|
$target = $path . '.decrypted.' . $this->getTimestamp();
|
||||||
|
|
||||||
|
|
|
@ -311,7 +311,10 @@ class DecryptAllTest extends TestCase {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDecryptFile() {
|
/**
|
||||||
|
* @dataProvider dataTrueFalse
|
||||||
|
*/
|
||||||
|
public function testDecryptFile($isEncrypted) {
|
||||||
|
|
||||||
$path = 'test.txt';
|
$path = 'test.txt';
|
||||||
|
|
||||||
|
@ -327,15 +330,26 @@ class DecryptAllTest extends TestCase {
|
||||||
->setMethods(['getTimestamp'])
|
->setMethods(['getTimestamp'])
|
||||||
->getMock();
|
->getMock();
|
||||||
|
|
||||||
$instance->expects($this->any())->method('getTimestamp')->willReturn(42);
|
$fileInfo = $this->createMock(FileInfo::class);
|
||||||
|
$fileInfo->expects($this->any())->method('isEncrypted')
|
||||||
|
->willReturn($isEncrypted);
|
||||||
|
$this->view->expects($this->any())->method('getFileInfo')
|
||||||
|
->willReturn($fileInfo);
|
||||||
|
|
||||||
$this->view->expects($this->once())
|
if ($isEncrypted) {
|
||||||
->method('copy')
|
$instance->expects($this->any())->method('getTimestamp')->willReturn(42);
|
||||||
->with($path, $path . '.decrypted.42');
|
|
||||||
$this->view->expects($this->once())
|
|
||||||
->method('rename')
|
|
||||||
->with($path . '.decrypted.42', $path);
|
|
||||||
|
|
||||||
|
$this->view->expects($this->once())
|
||||||
|
->method('copy')
|
||||||
|
->with($path, $path . '.decrypted.42');
|
||||||
|
$this->view->expects($this->once())
|
||||||
|
->method('rename')
|
||||||
|
->with($path . '.decrypted.42', $path);
|
||||||
|
} else {
|
||||||
|
$instance->expects($this->never())->method('getTimestamp');
|
||||||
|
$this->view->expects($this->never())->method('copy');
|
||||||
|
$this->view->expects($this->never())->method('rename');
|
||||||
|
}
|
||||||
$this->assertTrue(
|
$this->assertTrue(
|
||||||
$this->invokePrivate($instance, 'decryptFile', [$path])
|
$this->invokePrivate($instance, 'decryptFile', [$path])
|
||||||
);
|
);
|
||||||
|
@ -356,6 +370,13 @@ class DecryptAllTest extends TestCase {
|
||||||
->setMethods(['getTimestamp'])
|
->setMethods(['getTimestamp'])
|
||||||
->getMock();
|
->getMock();
|
||||||
|
|
||||||
|
|
||||||
|
$fileInfo = $this->createMock(FileInfo::class);
|
||||||
|
$fileInfo->expects($this->any())->method('isEncrypted')
|
||||||
|
->willReturn(true);
|
||||||
|
$this->view->expects($this->any())->method('getFileInfo')
|
||||||
|
->willReturn($fileInfo);
|
||||||
|
|
||||||
$instance->expects($this->any())->method('getTimestamp')->willReturn(42);
|
$instance->expects($this->any())->method('getTimestamp')->willReturn(42);
|
||||||
|
|
||||||
$this->view->expects($this->once())
|
$this->view->expects($this->once())
|
||||||
|
|
Loading…
Reference in New Issue