mirror of
https://github.com/nextcloud/server.git
synced 2026-02-23 09:53:17 -05:00
add test for the stream wrapper to read encrypted files from the system folder /tmp
This commit is contained in:
parent
f9ec3a7124
commit
df0c1fe7f3
1 changed files with 39 additions and 0 deletions
|
|
@ -180,4 +180,43 @@ class Test_Encryption_Stream extends \PHPUnit_Framework_TestCase {
|
|||
// tear down
|
||||
$view->unlink($filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* @medium
|
||||
* @brief test if stream wrapper can read files outside from the data folder
|
||||
*/
|
||||
function testStreamFromLocalFile() {
|
||||
|
||||
$filename = '/' . $this->userId . '/files/' . 'tmp-' . time().'.txt';
|
||||
|
||||
$tmpFilename = "/tmp/" . time() . ".txt";
|
||||
|
||||
// write an encrypted file
|
||||
$cryptedFile = $this->view->file_put_contents($filename, $this->dataShort);
|
||||
|
||||
// Test that data was successfully written
|
||||
$this->assertTrue(is_int($cryptedFile));
|
||||
|
||||
// create a copy outside of the data folder in /tmp
|
||||
$proxyStatus = \OC_FileProxy::$enabled;
|
||||
\OC_FileProxy::$enabled = false;
|
||||
$encryptedContent = $this->view->file_get_contents($filename);
|
||||
\OC_FileProxy::$enabled = $proxyStatus;
|
||||
|
||||
file_put_contents($tmpFilename, $encryptedContent);
|
||||
|
||||
\OCA\Encryption\Helper::addTmpFileToMapper($tmpFilename, $filename);
|
||||
|
||||
// try to read the file from /tmp
|
||||
$handle = fopen("crypt://".$tmpFilename, "r");
|
||||
$contentFromTmpFile = stream_get_contents($handle);
|
||||
|
||||
// check if it was successful
|
||||
$this->assertEquals($this->dataShort, $contentFromTmpFile);
|
||||
|
||||
// clean up
|
||||
unlink($tmpFilename);
|
||||
$this->view->unlink($filename);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue