diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/utilcheckserver.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/lib/utilcheckserver.php b/tests/lib/utilcheckserver.php index 78888bd909d..be5596c1900 100644 --- a/tests/lib/utilcheckserver.php +++ b/tests/lib/utilcheckserver.php @@ -19,6 +19,7 @@ class Test_Util_CheckServer extends PHPUnit_Framework_TestCase { */ protected function getConfig($systemOptions) { $systemOptions['datadirectory'] = $this->datadir; + $systemOptions['appstoreenabled'] = false; //it's likely that there is no app folder we can write in $config = $this->getMockBuilder('\OCP\IConfig') ->disableOriginalConstructor() ->getMock(); @@ -35,6 +36,7 @@ class Test_Util_CheckServer extends PHPUnit_Framework_TestCase { $this->datadir = \OC_Helper::tmpFolder(); file_put_contents($this->datadir . '/.ocdata', ''); + \OC::$server->getSession()->set('checkServer_succeeded', false); } public function tearDown() { @@ -121,4 +123,39 @@ class Test_Util_CheckServer extends PHPUnit_Framework_TestCase { $this->assertCount(1, $result); } + /** + * Tests that no error is given when the datadir is writable + */ + public function testDataDirWritable() { + $result = \OC_Util::checkServer($this->getConfig(array( + 'installed' => true, + 'version' => implode('.', OC_Util::getVersion()) + ))); + $this->assertEmpty($result); + } + + /** + * Tests an error is given when the datadir is not writable + */ + public function testDataDirNotWritable() { + chmod($this->datadir, 0300); + $result = \OC_Util::checkServer($this->getConfig(array( + 'installed' => true, + 'version' => implode('.', OC_Util::getVersion()) + ))); + $this->assertCount(1, $result); + } + + /** + * Tests no error is given when the datadir is not writable during setup + */ + public function testDataDirNotWritableSetup() { + chmod($this->datadir, 0300); + $result = \OC_Util::checkServer($this->getConfig(array( + 'installed' => false, + 'version' => implode('.', OC_Util::getVersion()) + ))); + chmod($this->datadir, 0700); //needed for cleanup + $this->assertEmpty($result); + } } |