summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-10-30 22:11:19 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2013-10-30 22:11:19 +0100
commit261cd87efa5623b51bbfa466f94d243bb7b49336 (patch)
tree25dd1d72e0a1e7563dc4bb6deabc937afd7946ec /tests
parent0e92a4896df11d6fd3ee4ed73dfa1cb121d66895 (diff)
parentc1730d241c52b5e5c1719b6086d05cb30783e665 (diff)
downloadnextcloud-server-261cd87efa5623b51bbfa466f94d243bb7b49336.tar.gz
nextcloud-server-261cd87efa5623b51bbfa466f94d243bb7b49336.zip
Merge branch 'master' into home-storage
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/cache/updater.php52
-rw-r--r--tests/lib/l10n.php41
-rw-r--r--tests/lib/preview.php12
3 files changed, 96 insertions, 9 deletions
diff --git a/tests/lib/files/cache/updater.php b/tests/lib/files/cache/updater.php
index 5d7997b0544..e3d3aae818d 100644
--- a/tests/lib/files/cache/updater.php
+++ b/tests/lib/files/cache/updater.php
@@ -9,6 +9,7 @@
namespace Test\Files\Cache;
use \OC\Files\Filesystem as Filesystem;
+use OC\Files\Storage\Temporary;
class Updater extends \PHPUnit_Framework_TestCase {
/**
@@ -21,6 +22,8 @@ class Updater extends \PHPUnit_Framework_TestCase {
*/
private $scanner;
+ private $stateFilesEncryption;
+
/**
* @var \OC\Files\Cache\Cache $cache
*/
@@ -29,6 +32,12 @@ class Updater extends \PHPUnit_Framework_TestCase {
private static $user;
public function setUp() {
+
+ // remember files_encryption state
+ $this->stateFilesEncryption = \OC_App::isEnabled('files_encryption');
+ // we want to tests with the encryption app disabled
+ \OC_App::disable('files_encryption');
+
$this->storage = new \OC\Files\Storage\Temporary(array());
$textData = "dummy file data\n";
$imgData = file_get_contents(\OC::$SERVERROOT . '/core/img/logo.png');
@@ -46,6 +55,10 @@ class Updater extends \PHPUnit_Framework_TestCase {
if (!self::$user) {
self::$user = uniqid();
}
+
+ \OC_User::createUser(self::$user, 'password');
+ \OC_User::setUserId(self::$user);
+
\OC\Files\Filesystem::init(self::$user, '/' . self::$user . '/files');
Filesystem::clearMounts();
@@ -63,7 +76,13 @@ class Updater extends \PHPUnit_Framework_TestCase {
if ($this->cache) {
$this->cache->clear();
}
+ $result = \OC_User::deleteUser(self::$user);
+ $this->assertTrue($result);
Filesystem::tearDown();
+ // reset app files_encryption
+ if ($this->stateFilesEncryption) {
+ \OC_App::enable('files_encryption');
+ }
}
public function testWrite() {
@@ -233,7 +252,6 @@ class Updater extends \PHPUnit_Framework_TestCase {
$cachedData = $this->cache->get('folder');
$this->assertNotEquals($folderCachedData['etag'], $cachedData['etag']);
- $this->assertEquals($time, $cachedData['mtime']);
$cachedData = $this->cache->get('');
$this->assertNotEquals($rootCachedData['etag'], $cachedData['etag']);
@@ -258,11 +276,41 @@ class Updater extends \PHPUnit_Framework_TestCase {
$cachedData = $cache2->get('');
$this->assertNotEquals($substorageCachedData['etag'], $cachedData['etag']);
- $this->assertEquals($time, $cachedData['mtime']);
$cachedData = $this->cache->get('folder');
$this->assertNotEquals($folderCachedData['etag'], $cachedData['etag']);
$this->assertEquals($time, $cachedData['mtime']);
}
+ public function testUpdatePermissionsOnRescanOnlyForUpdatedFile() {
+ $permissionsCache = $this->storage->getPermissionsCache();
+ $scanner = $this->storage->getScanner();
+ $scanner->scan('');
+ $cache = $this->storage->getCache();
+ $loggedInUser = \OC_User::getUser();
+ \OC_User::setUserId(self::$user);
+ FileSystem::getDirectoryContent('/');
+ $past = time() - 600;
+ $cache->put('', array('storage_mtime' => $past));
+
+ $this->assertNotEquals(-1, $permissionsCache->get($cache->getId('foo.txt'), self::$user));
+ $this->assertNotEquals(-1, $permissionsCache->get($cache->getId('foo.png'), self::$user));
+
+ $permissionsCache->set($cache->getId('foo.png'), self::$user, 15);
+ FileSystem::file_put_contents('/foo.txt', 'asd');
+
+ $this->assertEquals(-1, $permissionsCache->get($cache->getId('foo.txt'), self::$user));
+ $this->assertEquals(15, $permissionsCache->get($cache->getId('foo.png'), self::$user));
+
+ FileSystem::getDirectoryContent('/');
+
+ $this->assertEquals(15, $permissionsCache->get($cache->getId('foo.png'), self::$user));
+
+ FileSystem::file_put_contents('/qwerty.txt', 'asd');
+ FileSystem::getDirectoryContent('/');
+
+ $this->assertEquals(15, $permissionsCache->get($cache->getId('foo.png'), self::$user));
+
+ \OC_User::setUserId($loggedInUser);
+ }
}
diff --git a/tests/lib/l10n.php b/tests/lib/l10n.php
index 12eac818f84..5ddf2290c35 100644
--- a/tests/lib/l10n.php
+++ b/tests/lib/l10n.php
@@ -64,4 +64,45 @@ class Test_L10n extends PHPUnit_Framework_TestCase {
$l = new OC_L10N('test');
$this->assertSame('February 13, 2009 23:31', $l->l('datetime', 1234567890));
}
+
+ /**
+ * @dataProvider findLanguageData
+ */
+ public function testFindLanguage($default, $preference, $expected) {
+ OC_User::setUserId(null);
+ if (is_null($default)) {
+ OC_Config::deleteKey('default_language');
+ } else {
+ OC_Config::setValue('default_language', $default);
+ }
+ $_SERVER['HTTP_ACCEPT_LANGUAGE'] = $preference;
+
+ $reflection = new \ReflectionClass('OC_L10N');
+ $prop = $reflection->getProperty('language');
+ $prop->setAccessible(1);
+ $prop->setValue('');
+ $prop->setAccessible(0);
+
+ $this->assertSame($expected, OC_L10N::findLanguage());
+ }
+
+ public function findLanguageData() {
+ return array(
+ // Exact match
+ array(null, 'de-DE,en;q=0.5', 'de_DE'),
+ array(null, 'de-DE,en-US;q=0.8,en;q=0.6', 'de_DE'),
+
+ // Best match
+ array(null, 'de-US,en;q=0.5', 'de'),
+ array(null, 'de-US,en-US;q=0.8,en;q=0.6', 'de'),
+
+ // The default_language config setting overrides browser preferences.
+ array('es_AR', 'de-DE,en;q=0.5', 'es_AR'),
+ array('es_AR', 'de-DE,en-US;q=0.8,en;q=0.6', 'es_AR'),
+
+ // Worst case default to english
+ array(null, '', 'en'),
+ array(null, null, 'en'),
+ );
+ }
}
diff --git a/tests/lib/preview.php b/tests/lib/preview.php
index d0cdd2c44fb..353b66fd6d6 100644
--- a/tests/lib/preview.php
+++ b/tests/lib/preview.php
@@ -134,13 +134,11 @@ class Preview extends \PHPUnit_Framework_TestCase {
}
private function initFS() {
- if(\OC\Files\Filesystem::getView()){
- $user = \OC_User::getUser();
- }else{
- $user=uniqid();
- \OC_User::setUserId($user);
- \OC\Files\Filesystem::init($user, '/'.$user.'/files');
- }
+ // create a new user with his own filesystem view
+ // this gets called by each test in this test class
+ $user=uniqid();
+ \OC_User::setUserId($user);
+ \OC\Files\Filesystem::init($user, '/'.$user.'/files');
\OC\Files\Filesystem::mount('OC\Files\Storage\Temporary', array(), '/');