*/
protected function encryptFile($path) {
+ // skip already encrypted files
+ $fileInfo = $this->rootView->getFileInfo($path);
+ if ($fileInfo !== false && $fileInfo->isEncrypted()) {
+ return true;
+ }
+
$source = $path;
$target = $path . '.encrypted.' . time();
use OCA\Encryption\KeyManager;
use OCA\Encryption\Users\Setup;
use OCA\Encryption\Util;
+use OCP\Files\FileInfo;
use OCP\IConfig;
use OCP\IL10N;
use OCP\IUserManager;
$this->assertSame($password, $userPasswords['user1']);
}
+ /**
+ * @dataProvider dataTestEncryptFile
+ * @param $isEncrypted
+ */
+ public function testEncryptFile($isEncrypted) {
+ $fileInfo = $this->createMock(FileInfo::class);
+ $fileInfo->expects($this->any())->method('isEncrypted')
+ ->willReturn($isEncrypted);
+ $this->view->expects($this->any())->method('getFileInfo')
+ ->willReturn($fileInfo);
+
+
+ if($isEncrypted) {
+ $this->view->expects($this->never())->method('copy');
+ $this->view->expects($this->never())->method('rename');
+ } else {
+ $this->view->expects($this->once())->method('copy');
+ $this->view->expects($this->once())->method('rename');
+ }
+
+ $this->assertTrue(
+ $this->invokePrivate($this->encryptAll, 'encryptFile', ['foo.txt'])
+ );
+ }
+
+ public function dataTestEncryptFile() {
+ return [
+ [true],
+ [false],
+ ];
+ }
+
}