Add install logic for enable command
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
This commit is contained in:
parent
76b5f44f05
commit
75b7d6ae4e
3 changed files with 14 additions and 5 deletions
|
@ -48,8 +48,6 @@ export TEST_SERVER_FED_URL="http://localhost:$PORT_FED/ocs/"
|
|||
if [ "$INSTALLED" == "true" ]; then
|
||||
|
||||
#Enable external storage app
|
||||
$OCC app:install --keep-disabled files_external
|
||||
$OCC app:install --keep-disabled user_ldap
|
||||
$OCC app:enable files_external user_ldap
|
||||
|
||||
mkdir -p work/local_storage
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
namespace OC\Core\Command\App;
|
||||
|
||||
use OC\Installer;
|
||||
use OCP\App\AppPathNotFoundException;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\IGroup;
|
||||
|
@ -97,7 +98,17 @@ class Enable extends Command implements CompletionAwareInterface {
|
|||
return $group->getDisplayName();
|
||||
}, $groupIds);
|
||||
|
||||
|
||||
try {
|
||||
/** @var Installer $installer */
|
||||
$installer = \OC::$server->query(Installer::class);
|
||||
|
||||
if (false === $installer->isDownloaded($appId)) {
|
||||
$installer->downloadApp($appId);
|
||||
}
|
||||
|
||||
$installer->installApp($appId);
|
||||
|
||||
if ($groupIds === []) {
|
||||
$this->appManager->enableApp($appId);
|
||||
$output->writeln($appId . ' enabled');
|
||||
|
|
|
@ -74,10 +74,10 @@ class AppsEnableTest extends TestCase {
|
|||
return [
|
||||
[['admin_audit'], null, 0, 'admin_audit enabled'],
|
||||
[['comments'], null, 0, 'comments enabled'],
|
||||
[['invalid_app'], null, 1, 'invalid_app not found'],
|
||||
[['invalid_app'], null, 1, 'Could not download app invalid_app'],
|
||||
|
||||
[['admin_audit', 'comments'], null, 0, "admin_audit enabled\ncomments enabled"],
|
||||
[['admin_audit', 'comments', 'invalid_app'], null, 1, "admin_audit enabled\ncomments enabled\ninvalid_app not found"],
|
||||
[['admin_audit', 'comments', 'invalid_app'], null, 1, "admin_audit enabled\ncomments enabled\nCould not download app invalid_app"],
|
||||
|
||||
[['admin_audit'], ['admin'], 1, "admin_audit can't be enabled for groups"],
|
||||
[['comments'], ['admin'], 1, "comments can't be enabled for groups"],
|
||||
|
@ -87,7 +87,7 @@ class AppsEnableTest extends TestCase {
|
|||
|
||||
[['updatenotification'], ['admin', 'invalid_group'], 0, 'updatenotification enabled for groups: admin'],
|
||||
[['updatenotification', 'logreader'], ['admin', 'invalid_group'], 0, "updatenotification enabled for groups: admin\nlogreader enabled for groups: admin"],
|
||||
[['updatenotification', 'logreader', 'invalid_app'], ['admin', 'invalid_group'], 0, "updatenotification enabled for groups: admin\nlogreader enabled for groups: admin"],
|
||||
[['updatenotification', 'logreader', 'invalid_app'], ['admin', 'invalid_group'], 1, "updatenotification enabled for groups: admin\nlogreader enabled for groups: admin\nCould not download app invalid_app"],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue