Merge pull request #20602 from owncloud/fix-installed-apps

Always installed apps includes the hardcoded ones from shipped.json
This commit is contained in:
Thomas Müller 2015-11-26 16:50:05 +01:00
commit 8fe878afe9
3 changed files with 19 additions and 4 deletions

View File

@ -77,6 +77,12 @@ class AppManager implements IAppManager {
private function getInstalledAppsValues() {
if (!$this->installedAppsCache) {
$values = $this->appConfig->getValues(false, 'enabled');
$alwaysEnabledApps = $this->getAlwaysEnabledApps();
foreach($alwaysEnabledApps as $appId) {
$values[$appId] = 'yes';
}
$this->installedAppsCache = array_filter($values, function ($value) {
return $value !== 'no';
});

View File

@ -306,6 +306,7 @@ class Test_App extends \Test\TestCase {
'app3',
'appforgroup1',
'appforgroup12',
'dav',
),
false
),
@ -318,6 +319,7 @@ class Test_App extends \Test\TestCase {
'app3',
'appforgroup12',
'appforgroup2',
'dav',
),
false
),
@ -331,6 +333,7 @@ class Test_App extends \Test\TestCase {
'appforgroup1',
'appforgroup12',
'appforgroup2',
'dav',
),
false
),
@ -344,6 +347,7 @@ class Test_App extends \Test\TestCase {
'appforgroup1',
'appforgroup12',
'appforgroup2',
'dav',
),
false,
),
@ -357,6 +361,7 @@ class Test_App extends \Test\TestCase {
'appforgroup1',
'appforgroup12',
'appforgroup2',
'dav',
),
true,
),
@ -434,11 +439,11 @@ class Test_App extends \Test\TestCase {
);
$apps = \OC_App::getEnabledApps(true);
$this->assertEquals(array('files', 'app3'), $apps);
$this->assertEquals(array('files', 'app3', 'dav'), $apps);
// mock should not be called again here
$apps = \OC_App::getEnabledApps(false);
$this->assertEquals(array('files', 'app3'), $apps);
$this->assertEquals(array('files', 'app3', 'dav'), $apps);
$this->restoreAppConfig();
\OC_User::setUserId(null);

View File

@ -188,7 +188,7 @@ class Manager extends \PHPUnit_Framework_TestCase {
$this->appConfig->setValue('test1', 'enabled', 'yes');
$this->appConfig->setValue('test2', 'enabled', 'no');
$this->appConfig->setValue('test3', 'enabled', '["foo"]');
$this->assertEquals(['test1', 'test3'], $this->manager->getInstalledApps());
$this->assertEquals(['dav', 'files', 'test1', 'test3'], $this->manager->getInstalledApps());
}
public function testGetAppsForUser() {
@ -202,7 +202,7 @@ class Manager extends \PHPUnit_Framework_TestCase {
$this->appConfig->setValue('test2', 'enabled', 'no');
$this->appConfig->setValue('test3', 'enabled', '["foo"]');
$this->appConfig->setValue('test4', 'enabled', '["asd"]');
$this->assertEquals(['test1', 'test3'], $this->manager->getEnabledAppsForUser($user));
$this->assertEquals(['dav', 'files', 'test1', 'test3'], $this->manager->getEnabledAppsForUser($user));
}
public function testGetAppsNeedingUpgrade() {
@ -212,6 +212,8 @@ class Manager extends \PHPUnit_Framework_TestCase {
->getMock();
$appInfos = [
'dav' => ['id' => 'dav'],
'files' => ['id' => 'files'],
'test1' => ['id' => 'test1', 'version' => '1.0.1', 'requiremax' => '9.0.0'],
'test2' => ['id' => 'test2', 'version' => '1.0.0', 'requiremin' => '8.2.0'],
'test3' => ['id' => 'test3', 'version' => '1.2.4', 'requiremin' => '9.0.0'],
@ -250,6 +252,8 @@ class Manager extends \PHPUnit_Framework_TestCase {
->getMock();
$appInfos = [
'dav' => ['id' => 'dav'],
'files' => ['id' => 'files'],
'test1' => ['id' => 'test1', 'version' => '1.0.1', 'requiremax' => '8.0.0'],
'test2' => ['id' => 'test2', 'version' => '1.0.0', 'requiremin' => '8.2.0'],
'test3' => ['id' => 'test3', 'version' => '1.2.4', 'requiremin' => '9.0.0'],