summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-11-26 16:50:05 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-11-26 16:50:05 +0100
commit8fe878afe9af165b98470a75203df2f1b32cb68f (patch)
tree770f6f2077c1502a686158e2c0dbb4baeb93b230
parent80c43ffc6cbae26695435ea7b4d2e8126dee6725 (diff)
parentbc69cb2de39bb14079ffa58ad5fe42856c50d790 (diff)
downloadnextcloud-server-8fe878afe9af165b98470a75203df2f1b32cb68f.tar.gz
nextcloud-server-8fe878afe9af165b98470a75203df2f1b32cb68f.zip
Merge pull request #20602 from owncloud/fix-installed-apps
Always installed apps includes the hardcoded ones from shipped.json
-rw-r--r--lib/private/app/appmanager.php6
-rw-r--r--tests/lib/app.php9
-rw-r--r--tests/lib/app/manager.php8
3 files changed, 19 insertions, 4 deletions
diff --git a/lib/private/app/appmanager.php b/lib/private/app/appmanager.php
index 1f993d8538f..f826c8ba0c7 100644
--- a/lib/private/app/appmanager.php
+++ b/lib/private/app/appmanager.php
@@ -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';
});
diff --git a/tests/lib/app.php b/tests/lib/app.php
index 485091cee4c..bb972e7cf9a 100644
--- a/tests/lib/app.php
+++ b/tests/lib/app.php
@@ -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);
diff --git a/tests/lib/app/manager.php b/tests/lib/app/manager.php
index 7333d7601b1..38358fd61cf 100644
--- a/tests/lib/app/manager.php
+++ b/tests/lib/app/manager.php
@@ -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'],