diff options
Diffstat (limited to 'apps')
9 files changed, 2 insertions, 505 deletions
diff --git a/apps/twofactor_backupcodes/appinfo/info.xml b/apps/twofactor_backupcodes/appinfo/info.xml index e5e96eddcf9..77ecbd8e1a2 100644 --- a/apps/twofactor_backupcodes/appinfo/info.xml +++ b/apps/twofactor_backupcodes/appinfo/info.xml @@ -18,14 +18,7 @@ </dependencies> <activity> - <filters> - <filter>OCA\TwoFactorBackupCodes\Activity\GenericFilter</filter> - </filters> - <settings> - <setting>OCA\TwoFactorBackupCodes\Activity\GenericSetting</setting> - </settings> <providers> - <provider>OCA\TwoFactorBackupCodes\Activity\GenericProvider</provider> <provider>OCA\TwoFactorBackupCodes\Activity\Provider</provider> </providers> </activity> diff --git a/apps/twofactor_backupcodes/lib/Activity/GenericFilter.php b/apps/twofactor_backupcodes/lib/Activity/GenericFilter.php deleted file mode 100644 index 27c0274b600..00000000000 --- a/apps/twofactor_backupcodes/lib/Activity/GenericFilter.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php - -/** - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * - * @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 OCA\TwoFactorBackupCodes\Activity; - -use OCP\Activity\IFilter; -use OCP\IL10N; -use OCP\IURLGenerator; - -class GenericFilter implements IFilter { - - /** @var IURLGenerator */ - private $urlGenerator; - - /** @var IL10N */ - private $l10n; - - public function __construct(IURLGenerator $urlGenerator, IL10N $l10n) { - $this->urlGenerator = $urlGenerator; - $this->l10n = $l10n; - } - - public function allowedApps() { - return []; - } - - public function filterTypes(array $types) { - return array_intersect(['twofactor'], $types); - } - - public function getIcon() { - return $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg')); - } - - public function getIdentifier() { - return 'twofactor'; - } - - public function getName() { - return $this->l10n->t('Two-factor authentication'); - } - - public function getPriority() { - return 30; - } - -} diff --git a/apps/twofactor_backupcodes/lib/Activity/GenericProvider.php b/apps/twofactor_backupcodes/lib/Activity/GenericProvider.php deleted file mode 100644 index ffdd47708d5..00000000000 --- a/apps/twofactor_backupcodes/lib/Activity/GenericProvider.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php - -/** - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at> - * - * Two-factor backup codes - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * 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, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OCA\TwoFactorBackupCodes\Activity; - -use InvalidArgumentException; -use OCP\Activity\IEvent; -use OCP\Activity\IProvider; -use OCP\ILogger; -use OCP\IURLGenerator; -use OCP\L10N\IFactory as L10nFactory; - -class GenericProvider implements IProvider { - - /** @var L10nFactory */ - private $l10n; - - /** @var IURLGenerator */ - private $urlGenerator; - - /** @var ILogger */ - private $logger; - - public function __construct(L10nFactory $l10n, IURLGenerator $urlGenerator, ILogger $logger) { - $this->logger = $logger; - $this->urlGenerator = $urlGenerator; - $this->l10n = $l10n; - } - - public function parse($language, IEvent $event, IEvent $previousEvent = null) { - if ($event->getType() !== 'twofactor') { - throw new InvalidArgumentException(); - } - - $l = $this->l10n->get('core', $language); - - switch ($event->getSubject()) { - case 'twofactor_success': - $params = $event->getSubjectParameters(); - $event->setParsedSubject($l->t('You successfully logged in using two-factor authentication (%1$s)', [ - $params['provider'], - ])); - $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); - break; - case 'twofactor_failed': - $params = $event->getSubjectParameters(); - $event->setParsedSubject($l->t('A login attempt using two-factor authentication failed (%1$s)', [ - $params['provider'], - ])); - $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); - break; - default: - throw new InvalidArgumentException(); - } - return $event; - } - -} diff --git a/apps/twofactor_backupcodes/lib/Activity/GenericSetting.php b/apps/twofactor_backupcodes/lib/Activity/GenericSetting.php deleted file mode 100644 index abd1c60f1d5..00000000000 --- a/apps/twofactor_backupcodes/lib/Activity/GenericSetting.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php - -/** - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at> - * - * Two-factor backup codes - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * 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, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OCA\TwoFactorBackupCodes\Activity; - -use OCP\Activity\ISetting; -use OCP\IL10N; - -class GenericSetting implements ISetting { - - /** @var IL10N */ - private $l10n; - - public function __construct(IL10N $l10n) { - $this->l10n = $l10n; - } - - public function canChangeMail() { - return false; - } - - public function canChangeStream() { - return false; - } - - public function getIdentifier() { - return 'twofactor'; - } - - public function getName() { - return $this->l10n->t('Two-factor authentication'); - } - - public function getPriority() { - return 30; - } - - public function isDefaultEnabledMail() { - return true; - } - - public function isDefaultEnabledStream() { - return true; - } - -} diff --git a/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php b/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php index 1cf62d18801..84bf54d3379 100644 --- a/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php +++ b/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php @@ -103,7 +103,7 @@ class BackupCodeStorage { private function publishEvent(IUser $user, $event) { $activity = $this->activityManager->generateEvent(); $activity->setApp('twofactor_backupcodes') - ->setType('twofactor') + ->setType('security') ->setAuthor($user->getUID()) ->setAffectedUser($user->getUID()) ->setSubject($event); diff --git a/apps/twofactor_backupcodes/tests/Unit/Activity/GenericFilterTest.php b/apps/twofactor_backupcodes/tests/Unit/Activity/GenericFilterTest.php deleted file mode 100644 index ca24c0be647..00000000000 --- a/apps/twofactor_backupcodes/tests/Unit/Activity/GenericFilterTest.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php - -/** - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * - * @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 OCA\TwoFactorBackupCodes\Test\Unit\Activity; - -use OCA\TwoFactorBackupCodes\Activity\GenericFilter; -use OCP\IL10N; -use OCP\IURLGenerator; -use Test\TestCase; - -class GenericFilterTest extends TestCase { - - private $urlGenerator; - private $l10n; - - /** @var GenericFilter */ - private $filter; - - protected function setUp() { - parent::setUp(); - - $this->urlGenerator = $this->createMock(IURLGenerator::class); - $this->l10n = $this->createMock(IL10N::class); - - $this->filter = new GenericFilter($this->urlGenerator, $this->l10n); - } - - public function testAllowedApps() { - $this->assertEquals([], $this->filter->allowedApps()); - } - - public function testFilterTypes() { - $this->assertEquals(['twofactor'], $this->filter->filterTypes(['comments', 'twofactor'])); - } - - public function testGetIcon() { - $this->urlGenerator->expects($this->once()) - ->method('imagePath') - ->with('core', 'actions/password.svg') - ->will($this->returnValue('path/to/icon.svg')); - $this->urlGenerator->expects($this->once()) - ->method('getAbsoluteURL') - ->with('path/to/icon.svg') - ->will($this->returnValue('abs/path/to/icon.svg')); - $this->assertEquals('abs/path/to/icon.svg', $this->filter->getIcon()); - } - - public function testGetIdentifier() { - $this->assertEquals('twofactor', $this->filter->getIdentifier()); - } - - public function testGetName() { - $this->l10n->expects($this->once()) - ->method('t') - ->with('Two-factor authentication') - ->will($this->returnValue('translated')); - $this->assertEquals('translated', $this->filter->getName()); - } - - public function testGetPriority() { - $this->assertEquals(30, $this->filter->getPriority()); - } - -} diff --git a/apps/twofactor_backupcodes/tests/Unit/Activity/GenericProviderTest.php b/apps/twofactor_backupcodes/tests/Unit/Activity/GenericProviderTest.php deleted file mode 100644 index 242c4ab4e8d..00000000000 --- a/apps/twofactor_backupcodes/tests/Unit/Activity/GenericProviderTest.php +++ /dev/null @@ -1,132 +0,0 @@ -<?php - -/** - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at> - * - * Two-factor backup codes - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * 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, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OCA\TwoFactorBackupCodes\Test\Unit\Activity; - -use InvalidArgumentException; -use OCA\TwoFactorBackupCodes\Activity\GenericProvider; -use OCP\Activity\IEvent; -use OCP\IL10N; -use OCP\ILogger; -use OCP\IURLGenerator; -use OCP\L10N\IFactory; -use PHPUnit_Framework_MockObject_MockObject; -use Test\TestCase; - -class GenericProviderTest extends TestCase { - - /** @var IL10N|PHPUnit_Framework_MockObject_MockObject */ - private $l10n; - - /** @var IURLGenerator|PHPUnit_Framework_MockObject_MockObject */ - private $urlGenerator; - - /** @var ILogger|PHPUnit_Framework_MockObject_MockObject */ - private $logger; - - /** @var GenericProvider */ - private $provider; - - protected function setUp() { - parent::setUp(); - - $this->l10n = $this->createMock(IFactory::class); - $this->urlGenerator = $this->createMock(IURLGenerator::class); - $this->logger = $this->createMock(ILogger::class); - - $this->provider = new GenericProvider($this->l10n, $this->urlGenerator, $this->logger); - } - - public function testParseUnrelated() { - $lang = 'ru'; - $event = $this->createMock(IEvent::class); - $event->expects($this->once()) - ->method('getType') - ->willReturn('comments'); - $this->setExpectedException(InvalidArgumentException::class); - - $this->provider->parse($lang, $event); - } - - public function subjectData() { - return [ - ['twofactor_success'], - ['twofactor_failed'], - ]; - } - - /** - * @dataProvider subjectData - */ - public function testParse($subject) { - $lang = 'ru'; - $event = $this->createMock(IEvent::class); - $l = $this->createMock(IL10N::class); - - $event->expects($this->once()) - ->method('getType') - ->willReturn('twofactor'); - $this->l10n->expects($this->once()) - ->method('get') - ->with('core', $lang) - ->willReturn($l); - $this->urlGenerator->expects($this->once()) - ->method('imagePath') - ->with('core', 'actions/password.svg') - ->willReturn('path/to/image'); - $this->urlGenerator->expects($this->once()) - ->method('getAbsoluteURL') - ->with('path/to/image') - ->willReturn('absolute/path/to/image'); - $event->expects($this->once()) - ->method('setIcon') - ->with('absolute/path/to/image'); - $event->expects($this->once()) - ->method('getSubject') - ->willReturn($subject); - $event->expects($this->once()) - ->method('setParsedSubject'); - - $this->provider->parse($lang, $event); - } - - public function testParseInvalidSubject() { - $lang = 'ru'; - $l = $this->createMock(IL10N::class); - $event = $this->createMock(IEvent::class); - - $event->expects($this->once()) - ->method('getType') - ->willReturn('twofactor'); - $this->l10n->expects($this->once()) - ->method('get') - ->with('core', $lang) - ->willReturn($l); - $event->expects($this->once()) - ->method('getSubject') - ->willReturn('unrelated'); - - $this->expectException(InvalidArgumentException::class); - $this->provider->parse($lang, $event); - } - -} diff --git a/apps/twofactor_backupcodes/tests/Unit/Activity/SettingTest.php b/apps/twofactor_backupcodes/tests/Unit/Activity/SettingTest.php deleted file mode 100644 index 2f6aed040f0..00000000000 --- a/apps/twofactor_backupcodes/tests/Unit/Activity/SettingTest.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php - -/** - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at> - * - * Two-factor backup codes - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * 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, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OCA\TwoFactorBackupCodes\Test\Unit\Activity; - -use OCA\TwoFactorBackupCodes\Activity\GenericSetting; -use OCP\IL10N; -use Test\TestCase; - -class SettingTest extends TestCase { - - private $l10n; - - /** @var GenericSetting */ - private $setting; - - protected function setUp() { - parent::setUp(); - - $this->l10n = $this->createMock(IL10N::class); - - $this->setting = new GenericSetting($this->l10n); - } - - public function testCanChangeMail() { - $this->assertFalse($this->setting->canChangeMail()); - } - - public function testCanChangeStream() { - $this->assertFalse($this->setting->canChangeStream()); - } - - public function testGetIdentifier() { - $this->assertEquals('twofactor', $this->setting->getIdentifier()); - } - - public function testGetName() { - $this->l10n->expects($this->once()) - ->method('t') - ->with('Two-factor authentication') - ->will($this->returnValue('Zwei-Faktor-Authentifizierung')); - $this->assertEquals('Zwei-Faktor-Authentifizierung', $this->setting->getName()); - } - - public function testGetPriority() { - $this->assertEquals(30, $this->setting->getPriority()); - } - - public function testIsDefaultEnabled() { - $this->assertTrue($this->setting->isDefaultEnabledMail()); - $this->assertTrue($this->setting->isDefaultEnabledStream()); - } - -} diff --git a/apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php b/apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php index 109db7f688c..d2387bd6ccd 100644 --- a/apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php +++ b/apps/twofactor_backupcodes/tests/Unit/Service/BackupCodeStorageTest.php @@ -98,7 +98,7 @@ class BackupCodeStorageTest extends TestCase { ->will($this->returnSelf()); $event->expects($this->once()) ->method('setType') - ->with('twofactor') + ->with('security') ->will($this->returnSelf()); $event->expects($this->once()) ->method('setAuthor') |