*/
class Test_CryptProxy extends UnitTestCase {
+ private $oldConfig;
public function setUp(){
+ $this->oldConfig=OCP\Config::getAppValue('files_encryption','enable_encryption','true');
+ OCP\Config::setAppValue('files_encryption','enable_encryption','true');
+
+
//set testing key
$_SESSION['enckey']=md5(time());
$rootView->mkdir('/'.OC_User::getUser().'/files');
}
+ public function tearDown(){
+ OCP\Config::setAppValue('files_encryption','enable_encryption',$this->oldConfig);
+ }
+
public function testSimple(){
- $oldConfig=OCP\Config::getAppValue('files_encryption','enable_encryption','true');
- OCP\Config::setAppValue('files_encryption','enable_encryption','true');
-
$file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
$original=file_get_contents($file);
$this->assertNotEqual($original,$stored);
$this->assertEqual($original,$fromFile);
+ }
+
+ public function testView(){
+ $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+ $original=file_get_contents($file);
+
$rootView=new OC_FilesystemView('');
$view=new OC_FilesystemView('/'.OC_User::getUser());
$userDir='/'.OC_User::getUser().'/files';
+ $rootView->file_put_contents($userDir.'/file',$original);
+
+ OC_FileProxy::$enabled=false;
+ $stored=$rootView->file_get_contents($userDir.'/file');
+ OC_FileProxy::$enabled=true;
+
+ $this->assertNotEqual($original,$stored);
$fromFile=$rootView->file_get_contents($userDir.'/file');
$this->assertEqual($original,$fromFile);
$fromFile=$view->file_get_contents('files/file');
$this->assertEqual($original,$fromFile);
+ }
+
+ public function testBinary(){
+ $file=__DIR__.'/binary';
+ $original=file_get_contents($file);
+
+ OC_Filesystem::file_put_contents('/file',$original);
- OCP\Config::setAppValue('files_encryption','enable_encryption',$oldConfig);
+ OC_FileProxy::$enabled=false;
+ $stored=OC_Filesystem::file_get_contents('/file');
+ OC_FileProxy::$enabled=true;
+
+ $fromFile=OC_Filesystem::file_get_contents('/file');
+ $this->assertNotEqual($original,$stored);
+ $this->assertEqual($original,$fromFile);
}
}