diff options
-rw-r--r-- | lib/composer/composer/autoload_classmap.php | 2 | ||||
-rw-r--r-- | lib/composer/composer/autoload_static.php | 2 | ||||
-rw-r--r-- | lib/private/App/AppStore/Bundles/BundleFetcher.php | 28 | ||||
-rw-r--r-- | lib/private/App/AppStore/Bundles/CoreBundle.php | 42 | ||||
-rw-r--r-- | lib/private/Repair.php | 7 | ||||
-rw-r--r-- | lib/private/Repair/Owncloud/InstallCoreBundle.php | 79 | ||||
-rw-r--r-- | lib/private/Setup.php | 8 | ||||
-rw-r--r-- | tests/Test/Repair/Owncloud/InstallCoreBundleTest.php | 142 | ||||
-rw-r--r-- | tests/lib/App/AppStore/Bundles/BundleFetcherTest.php | 9 | ||||
-rw-r--r-- | tests/lib/App/AppStore/Bundles/CoreBundleTest.php | 36 |
10 files changed, 4 insertions, 351 deletions
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 68d14852100..9041b7ff277 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -720,7 +720,6 @@ return array( 'OC\\App\\AppManager' => $baseDir . '/lib/private/App/AppManager.php', 'OC\\App\\AppStore\\Bundles\\Bundle' => $baseDir . '/lib/private/App/AppStore/Bundles/Bundle.php', 'OC\\App\\AppStore\\Bundles\\BundleFetcher' => $baseDir . '/lib/private/App/AppStore/Bundles/BundleFetcher.php', - 'OC\\App\\AppStore\\Bundles\\CoreBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/CoreBundle.php', 'OC\\App\\AppStore\\Bundles\\EducationBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/EducationBundle.php', 'OC\\App\\AppStore\\Bundles\\EnterpriseBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/EnterpriseBundle.php', 'OC\\App\\AppStore\\Bundles\\GroupwareBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/GroupwareBundle.php', @@ -1461,7 +1460,6 @@ return array( 'OC\\Repair\\Owncloud\\CleanPreviews' => $baseDir . '/lib/private/Repair/Owncloud/CleanPreviews.php', 'OC\\Repair\\Owncloud\\CleanPreviewsBackgroundJob' => $baseDir . '/lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php', 'OC\\Repair\\Owncloud\\DropAccountTermsTable' => $baseDir . '/lib/private/Repair/Owncloud/DropAccountTermsTable.php', - 'OC\\Repair\\Owncloud\\InstallCoreBundle' => $baseDir . '/lib/private/Repair/Owncloud/InstallCoreBundle.php', 'OC\\Repair\\Owncloud\\MigrateOauthTables' => $baseDir . '/lib/private/Repair/Owncloud/MigrateOauthTables.php', 'OC\\Repair\\Owncloud\\MoveAvatars' => $baseDir . '/lib/private/Repair/Owncloud/MoveAvatars.php', 'OC\\Repair\\Owncloud\\MoveAvatarsBackgroundJob' => $baseDir . '/lib/private/Repair/Owncloud/MoveAvatarsBackgroundJob.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index 45c047bcdb1..7c5d5c2728e 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -753,7 +753,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OC\\App\\AppManager' => __DIR__ . '/../../..' . '/lib/private/App/AppManager.php', 'OC\\App\\AppStore\\Bundles\\Bundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/Bundle.php', 'OC\\App\\AppStore\\Bundles\\BundleFetcher' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/BundleFetcher.php', - 'OC\\App\\AppStore\\Bundles\\CoreBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/CoreBundle.php', 'OC\\App\\AppStore\\Bundles\\EducationBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/EducationBundle.php', 'OC\\App\\AppStore\\Bundles\\EnterpriseBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/EnterpriseBundle.php', 'OC\\App\\AppStore\\Bundles\\GroupwareBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/GroupwareBundle.php', @@ -1494,7 +1493,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OC\\Repair\\Owncloud\\CleanPreviews' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/CleanPreviews.php', 'OC\\Repair\\Owncloud\\CleanPreviewsBackgroundJob' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php', 'OC\\Repair\\Owncloud\\DropAccountTermsTable' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/DropAccountTermsTable.php', - 'OC\\Repair\\Owncloud\\InstallCoreBundle' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/InstallCoreBundle.php', 'OC\\Repair\\Owncloud\\MigrateOauthTables' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MigrateOauthTables.php', 'OC\\Repair\\Owncloud\\MoveAvatars' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MoveAvatars.php', 'OC\\Repair\\Owncloud\\MoveAvatarsBackgroundJob' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MoveAvatarsBackgroundJob.php', diff --git a/lib/private/App/AppStore/Bundles/BundleFetcher.php b/lib/private/App/AppStore/Bundles/BundleFetcher.php index 7ffe1fa17d7..0d2bb61495f 100644 --- a/lib/private/App/AppStore/Bundles/BundleFetcher.php +++ b/lib/private/App/AppStore/Bundles/BundleFetcher.php @@ -27,12 +27,8 @@ namespace OC\App\AppStore\Bundles; use OCP\IL10N; class BundleFetcher { - /** @var IL10N */ - private $l10n; + private IL10N $l10n; - /** - * @param IL10N $l10n - */ public function __construct(IL10N $l10n) { $this->l10n = $l10n; } @@ -40,7 +36,7 @@ class BundleFetcher { /** * @return Bundle[] */ - public function getBundles() { + public function getBundles(): array { return [ new EnterpriseBundle($this->l10n), new HubBundle($this->l10n), @@ -51,30 +47,14 @@ class BundleFetcher { } /** - * Bundles that should be installed by default after installation - * - * @return Bundle[] - */ - public function getDefaultInstallationBundle() { - return [ - new CoreBundle($this->l10n), - ]; - } - - /** * Get the bundle with the specified identifier * * @param string $identifier * @return Bundle * @throws \BadMethodCallException If the bundle does not exist */ - public function getBundleByIdentifier($identifier) { - /** @var Bundle[] $bundles */ - $bundles = array_merge( - $this->getBundles(), - $this->getDefaultInstallationBundle() - ); - foreach ($bundles as $bundle) { + public function getBundleByIdentifier(string $identifier): Bundle { + foreach ($this->getBundles() as $bundle) { if ($bundle->getIdentifier() === $identifier) { return $bundle; } diff --git a/lib/private/App/AppStore/Bundles/CoreBundle.php b/lib/private/App/AppStore/Bundles/CoreBundle.php deleted file mode 100644 index b1b182fd1ac..00000000000 --- a/lib/private/App/AppStore/Bundles/CoreBundle.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch> - * - * @author Lukas Reschke <lukas@statuscode.ch> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -namespace OC\App\AppStore\Bundles; - -class CoreBundle extends Bundle { - - /** - * {@inheritDoc} - */ - public function getName() { - return 'Core bundle'; - } - - /** - * {@inheritDoc} - */ - public function getAppIdentifiers() { - return [ - 'bruteforcesettings', - ]; - } -} diff --git a/lib/private/Repair.php b/lib/private/Repair.php index e2e5da79216..c4d714c098c 100644 --- a/lib/private/Repair.php +++ b/lib/private/Repair.php @@ -40,7 +40,6 @@ use OCP\Collaboration\Resources\IManager; use OCP\EventDispatcher\IEventDispatcher; use OCP\Migration\IOutput; use OCP\Migration\IRepairStep; -use OC\App\AppStore\Bundles\BundleFetcher; use OC\Avatar\AvatarManager; use OC\DB\Connection; use OC\DB\ConnectionAdapter; @@ -75,7 +74,6 @@ use OC\Repair\NC24\AddTokenCleanupJob; use OC\Repair\OldGroupMembershipShares; use OC\Repair\Owncloud\CleanPreviews; use OC\Repair\Owncloud\DropAccountTermsTable; -use OC\Repair\Owncloud\InstallCoreBundle; use OC\Repair\Owncloud\MigrateOauthTables; use OC\Repair\Owncloud\MoveAvatars; use OC\Repair\Owncloud\SaveAccountsTableData; @@ -193,11 +191,6 @@ class Repair implements IOutput { new MigrateOauthTables(\OC::$server->get(Connection::class)), new FixMountStorages(\OC::$server->getDatabaseConnection()), new UpdateLanguageCodes(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()), - new InstallCoreBundle( - \OC::$server->query(BundleFetcher::class), - \OC::$server->getConfig(), - \OC::$server->query(Installer::class) - ), new AddLogRotateJob(\OC::$server->getJobList()), new ClearFrontendCaches(\OC::$server->getMemCacheFactory(), \OC::$server->query(JSCombiner::class)), new ClearGeneratedAvatarCache(\OC::$server->getConfig(), \OC::$server->query(AvatarManager::class)), diff --git a/lib/private/Repair/Owncloud/InstallCoreBundle.php b/lib/private/Repair/Owncloud/InstallCoreBundle.php deleted file mode 100644 index a733bc43923..00000000000 --- a/lib/private/Repair/Owncloud/InstallCoreBundle.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch> - * - * @author Julius Härtl <jus@bitgrid.net> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -namespace OC\Repair\Owncloud; - -use OC\App\AppStore\Bundles\BundleFetcher; -use OC\Installer; -use OCP\IConfig; -use OCP\Migration\IOutput; -use OCP\Migration\IRepairStep; - -class InstallCoreBundle implements IRepairStep { - /** @var BundleFetcher */ - private $bundleFetcher; - /** @var IConfig */ - private $config; - /** @var Installer */ - private $installer; - - /** - * @param BundleFetcher $bundleFetcher - * @param IConfig $config - * @param Installer $installer - */ - public function __construct(BundleFetcher $bundleFetcher, - IConfig $config, - Installer $installer) { - $this->bundleFetcher = $bundleFetcher; - $this->config = $config; - $this->installer = $installer; - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'Install new core bundle components'; - } - - /** - * {@inheritdoc} - */ - public function run(IOutput $output) { - $versionFromBeforeUpdate = $this->config->getSystemValue('version', '0.0.0'); - - if (version_compare($versionFromBeforeUpdate, '12.0.0.14', '>')) { - return; - } - - $defaultBundle = $this->bundleFetcher->getDefaultInstallationBundle(); - foreach ($defaultBundle as $bundle) { - try { - $this->installer->installAppBundle($bundle); - $output->info('Successfully installed core app bundle.'); - } catch (\Exception $e) { - $output->warning('Could not install core app bundle: ' . $e->getMessage()); - } - } - } -} diff --git a/lib/private/Setup.php b/lib/private/Setup.php index edbb9b33275..a14d43a65f0 100644 --- a/lib/private/Setup.php +++ b/lib/private/Setup.php @@ -403,14 +403,6 @@ class Setup { // Install shipped apps and specified app bundles Installer::installShippedApps(); - $bundleFetcher = new BundleFetcher(\OC::$server->getL10N('lib')); - $defaultInstallationBundles = $bundleFetcher->getDefaultInstallationBundle(); - foreach ($defaultInstallationBundles as $bundle) { - try { - $this->installer->installAppBundle($bundle); - } catch (Exception $e) { - } - } // create empty file in data dir, so we can later find // out that this is indeed an ownCloud data directory diff --git a/tests/Test/Repair/Owncloud/InstallCoreBundleTest.php b/tests/Test/Repair/Owncloud/InstallCoreBundleTest.php deleted file mode 100644 index 61be5006c41..00000000000 --- a/tests/Test/Repair/Owncloud/InstallCoreBundleTest.php +++ /dev/null @@ -1,142 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch> - * - * @author Lukas Reschke <lukas@statuscode.ch> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -namespace Test\Repair\Owncloud; - -use OC\App\AppStore\Bundles\Bundle; -use OC\App\AppStore\Bundles\BundleFetcher; -use OC\Installer; -use OC\Repair\Owncloud\InstallCoreBundle; -use OCP\IConfig; -use OCP\Migration\IOutput; -use Test\TestCase; - -class InstallCoreBundleTest extends TestCase { - /** @var BundleFetcher|\PHPUnit_Framework_MockObject_MockObject */ - private $bundleFetcher; - /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */ - private $config; - /** @var Installer|\PHPUnit_Framework_MockObject_MockObject */ - private $installer; - /** @var InstallCoreBundle */ - private $installCoreBundle; - - public function setUp(): void { - parent::setUp(); - $this->bundleFetcher = $this->createMock(BundleFetcher::class); - $this->config = $this->createMock(IConfig::class); - $this->installer = $this->createMock(Installer::class); - - $this->installCoreBundle = new InstallCoreBundle( - $this->bundleFetcher, - $this->config, - $this->installer - ); - } - - public function testGetName() { - $this->assertSame('Install new core bundle components', $this->installCoreBundle->getName()); - } - - public function testRunOlder() { - $this->config - ->expects($this->once()) - ->method('getSystemValue') - ->with('version', '0.0.0') - ->willReturn('12.0.0.15'); - $this->bundleFetcher - ->expects($this->never()) - ->method('getDefaultInstallationBundle'); - /** @var IOutput|\PHPUnit_Framework_MockObject_MockObject $output */ - $output = $this->createMock(IOutput::class); - $output - ->expects($this->never()) - ->method('info'); - $output - ->expects($this->never()) - ->method('warning'); - - $this->installCoreBundle->run($output); - } - - public function testRunWithException() { - $this->config - ->expects($this->once()) - ->method('getSystemValue') - ->with('version', '0.0.0') - ->willReturn('12.0.0.14'); - $bundle = $this->createMock(Bundle::class); - $this->bundleFetcher - ->expects($this->once()) - ->method('getDefaultInstallationBundle') - ->willReturn([ - $bundle, - ]); - $this->installer - ->expects($this->once()) - ->method('installAppBundle') - ->with($bundle) - ->willThrowException(new \Exception('ExceptionText')); - /** @var IOutput|\PHPUnit_Framework_MockObject_MockObject $output */ - $output = $this->createMock(IOutput::class); - $output - ->expects($this->never()) - ->method('info'); - $output - ->expects($this->once()) - ->method('warning') - ->with('Could not install core app bundle: ExceptionText'); - - $this->installCoreBundle->run($output); - } - - public function testRun() { - $this->config - ->expects($this->once()) - ->method('getSystemValue') - ->with('version', '0.0.0') - ->willReturn('12.0.0.14'); - $bundle = $this->createMock(Bundle::class); - $this->bundleFetcher - ->expects($this->once()) - ->method('getDefaultInstallationBundle') - ->willReturn([ - $bundle, - ]); - $this->installer - ->expects($this->once()) - ->method('installAppBundle') - ->with($bundle); - /** @var IOutput|\PHPUnit_Framework_MockObject_MockObject $output */ - $output = $this->createMock(IOutput::class); - $output - ->expects($this->once()) - ->method('info') - ->with('Successfully installed core app bundle.'); - $output - ->expects($this->never()) - ->method('warning'); - - $this->installCoreBundle->run($output); - } -} diff --git a/tests/lib/App/AppStore/Bundles/BundleFetcherTest.php b/tests/lib/App/AppStore/Bundles/BundleFetcherTest.php index 55534cae699..c1fe5ef328a 100644 --- a/tests/lib/App/AppStore/Bundles/BundleFetcherTest.php +++ b/tests/lib/App/AppStore/Bundles/BundleFetcherTest.php @@ -22,7 +22,6 @@ namespace Test\App\AppStore\Bundles; use OC\App\AppStore\Bundles\BundleFetcher; -use OC\App\AppStore\Bundles\CoreBundle; use OC\App\AppStore\Bundles\EducationBundle; use OC\App\AppStore\Bundles\EnterpriseBundle; use OC\App\AppStore\Bundles\GroupwareBundle; @@ -58,16 +57,8 @@ class BundleFetcherTest extends TestCase { $this->assertEquals($expected, $this->bundleFetcher->getBundles()); } - public function testGetDefaultInstallationBundle() { - $expected = [ - new CoreBundle($this->l10n), - ]; - $this->assertEquals($expected, $this->bundleFetcher->getDefaultInstallationBundle()); - } - public function testGetBundleByIdentifier() { $this->assertEquals(new EnterpriseBundle($this->l10n), $this->bundleFetcher->getBundleByIdentifier('EnterpriseBundle')); - $this->assertEquals(new CoreBundle($this->l10n), $this->bundleFetcher->getBundleByIdentifier('CoreBundle')); $this->assertEquals(new GroupwareBundle($this->l10n), $this->bundleFetcher->getBundleByIdentifier('GroupwareBundle')); } diff --git a/tests/lib/App/AppStore/Bundles/CoreBundleTest.php b/tests/lib/App/AppStore/Bundles/CoreBundleTest.php deleted file mode 100644 index 2ace537b938..00000000000 --- a/tests/lib/App/AppStore/Bundles/CoreBundleTest.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -namespace Test\App\AppStore\Bundles; - -use OC\App\AppStore\Bundles\CoreBundle; - -class CoreBundleTest extends BundleBase { - protected function setUp(): void { - parent::setUp(); - $this->bundle = new CoreBundle($this->l10n); - $this->bundleIdentifier = 'CoreBundle'; - $this->bundleName = 'Core bundle'; - $this->bundleAppIds = [ - 'bruteforcesettings', - ]; - } -} |