|
|
@@ -1,5 +1,6 @@
|
|
|
<?php
|
|
|
|
|
|
+use PrivateBin\Data\Filesystem;
|
|
|
use PrivateBin\Persistence\ServerSalt;
|
|
|
|
|
|
class ServerSaltTest extends PHPUnit_Framework_TestCase
|
|
|
@@ -19,7 +20,9 @@ class ServerSaltTest extends PHPUnit_Framework_TestCase
|
|
|
if (!is_dir($this->_path)) {
|
|
|
mkdir($this->_path);
|
|
|
}
|
|
|
- ServerSalt::setPath($this->_path);
|
|
|
+ ServerSalt::setStore(
|
|
|
+ Filesystem::getInstance(array('dir' => $this->_path))
|
|
|
+ );
|
|
|
|
|
|
$this->_otherPath = $this->_path . DIRECTORY_SEPARATOR . 'foo';
|
|
|
|
|
|
@@ -40,46 +43,46 @@ class ServerSaltTest extends PHPUnit_Framework_TestCase
|
|
|
public function testGeneration()
|
|
|
{
|
|
|
// generating new salt
|
|
|
- ServerSalt::setPath($this->_path);
|
|
|
+ ServerSalt::setStore(
|
|
|
+ Filesystem::getInstance(array('dir' => $this->_path))
|
|
|
+ );
|
|
|
$salt = ServerSalt::get();
|
|
|
|
|
|
// try setting a different path and resetting it
|
|
|
- ServerSalt::setPath($this->_otherPath);
|
|
|
+ ServerSalt::setStore(
|
|
|
+ Filesystem::getInstance(array('dir' => $this->_otherPath))
|
|
|
+ );
|
|
|
$this->assertNotEquals($salt, ServerSalt::get());
|
|
|
- ServerSalt::setPath($this->_path);
|
|
|
+ ServerSalt::setStore(
|
|
|
+ Filesystem::getInstance(array('dir' => $this->_path))
|
|
|
+ );
|
|
|
$this->assertEquals($salt, ServerSalt::get());
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @expectedException Exception
|
|
|
- * @expectedExceptionCode 11
|
|
|
- */
|
|
|
public function testPathShenanigans()
|
|
|
{
|
|
|
// try setting an invalid path
|
|
|
chmod($this->_invalidPath, 0000);
|
|
|
- ServerSalt::setPath($this->_invalidPath);
|
|
|
- ServerSalt::get();
|
|
|
+ $store = Filesystem::getInstance(array('dir' => $this->_invalidPath));
|
|
|
+ ServerSalt::setStore($store);
|
|
|
+ $salt = ServerSalt::get();
|
|
|
+ ServerSalt::setStore($store);
|
|
|
+ $this->assertNotEquals($salt, ServerSalt::get());
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @expectedException Exception
|
|
|
- * @expectedExceptionCode 20
|
|
|
- */
|
|
|
public function testFileRead()
|
|
|
{
|
|
|
// try setting an invalid file
|
|
|
chmod($this->_invalidPath, 0700);
|
|
|
file_put_contents($this->_invalidFile, '');
|
|
|
chmod($this->_invalidFile, 0000);
|
|
|
- ServerSalt::setPath($this->_invalidPath);
|
|
|
- ServerSalt::get();
|
|
|
+ $store = Filesystem::getInstance(array('dir' => $this->_invalidPath));
|
|
|
+ ServerSalt::setStore($store);
|
|
|
+ $salt = ServerSalt::get();
|
|
|
+ ServerSalt::setStore($store);
|
|
|
+ $this->assertNotEquals($salt, ServerSalt::get());
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @expectedException Exception
|
|
|
- * @expectedExceptionCode 13
|
|
|
- */
|
|
|
public function testFileWrite()
|
|
|
{
|
|
|
// try setting an invalid file
|
|
|
@@ -90,19 +93,24 @@ class ServerSaltTest extends PHPUnit_Framework_TestCase
|
|
|
}
|
|
|
file_put_contents($this->_invalidPath . DIRECTORY_SEPARATOR . '.htaccess', '');
|
|
|
chmod($this->_invalidPath, 0500);
|
|
|
- ServerSalt::setPath($this->_invalidPath);
|
|
|
- ServerSalt::get();
|
|
|
+ $store = Filesystem::getInstance(array('dir' => $this->_invalidPath));
|
|
|
+ ServerSalt::setStore($store);
|
|
|
+ $salt = ServerSalt::get();
|
|
|
+ ServerSalt::setStore($store);
|
|
|
+ $this->assertNotEquals($salt, ServerSalt::get());
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @expectedException Exception
|
|
|
- * @expectedExceptionCode 10
|
|
|
- */
|
|
|
public function testPermissionShenanigans()
|
|
|
{
|
|
|
// try creating an invalid path
|
|
|
chmod($this->_invalidPath, 0000);
|
|
|
- ServerSalt::setPath($this->_invalidPath . DIRECTORY_SEPARATOR . 'baz');
|
|
|
- ServerSalt::get();
|
|
|
+ ServerSalt::setStore(
|
|
|
+ Filesystem::getInstance(array('dir' => $this->_invalidPath . DIRECTORY_SEPARATOR . 'baz'))
|
|
|
+ );
|
|
|
+ $store = Filesystem::getInstance(array('dir' => $this->_invalidPath));
|
|
|
+ ServerSalt::setStore($store);
|
|
|
+ $salt = ServerSalt::get();
|
|
|
+ ServerSalt::setStore($store);
|
|
|
+ $this->assertNotEquals($salt, ServerSalt::get());
|
|
|
}
|
|
|
}
|