fix minor issues

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
Christoph Wurst 2016-12-13 15:15:14 +01:00
parent 9300312046
commit ed4017dfb4
No known key found for this signature in database
GPG Key ID: CC42AC2A7F0E56D8
7 changed files with 45 additions and 15 deletions

View File

@ -40,7 +40,7 @@ class GenericFilter implements IFilter {
} }
public function allowedApps() { public function allowedApps() {
return null; return [];
} }
public function filterTypes(array $types) { public function filterTypes(array $types) {

View File

@ -55,7 +55,7 @@ class Provider implements IProvider {
switch ($event->getSubject()) { switch ($event->getSubject()) {
case 'codes_generated': case 'codes_generated':
$event->setParsedSubject($l->t('You created backup codes for your account')); $event->setParsedSubject($l->t('You created two-factor backup codes for your account'));
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg')));
break; break;
default: default:

View File

@ -22,9 +22,11 @@
namespace OCA\TwoFactorBackupCodes\Service; namespace OCA\TwoFactorBackupCodes\Service;
use Exception;
use OCA\TwoFactorBackupCodes\Db\BackupCode; use OCA\TwoFactorBackupCodes\Db\BackupCode;
use OCA\TwoFactorBackupCodes\Db\BackupCodeMapper; use OCA\TwoFactorBackupCodes\Db\BackupCodeMapper;
use OCP\Activity\IManager; use OCP\Activity\IManager;
use OCP\ILogger;
use OCP\IUser; use OCP\IUser;
use OCP\Security\IHasher; use OCP\Security\IHasher;
use OCP\Security\ISecureRandom; use OCP\Security\ISecureRandom;
@ -43,11 +45,16 @@ class BackupCodeStorage {
/** @var IManager */ /** @var IManager */
private $activityManager; private $activityManager;
public function __construct(BackupCodeMapper $mapper, ISecureRandom $random, IHasher $hasher, IManager $activityManager) { /** @var ILogger */
private $logger;
public function __construct(BackupCodeMapper $mapper, ISecureRandom $random, IHasher $hasher,
IManager $activityManager, ILogger $logger) {
$this->mapper = $mapper; $this->mapper = $mapper;
$this->hasher = $hasher; $this->hasher = $hasher;
$this->random = $random; $this->random = $random;
$this->activityManager = $activityManager; $this->activityManager = $activityManager;
$this->logger = $logger;
} }
/** /**
@ -89,9 +96,14 @@ class BackupCodeStorage {
$activity->setApp('twofactor_backupcodes') $activity->setApp('twofactor_backupcodes')
->setType('twofactor') ->setType('twofactor')
->setAuthor($user->getUID()) ->setAuthor($user->getUID())
->setAffectedUser($user->getUID()); ->setAffectedUser($user->getUID())
$activity->setSubject($event); ->setSubject($event);
$this->activityManager->publish($activity); try {
$this->activityManager->publish($activity);
} catch (Exception $e) {
$this->logger->warning('could not publish backup code creation activity', ['app' => 'twofactor_backupcodes']);
$this->logger->logException($e, ['app' => 'twofactor_backupcodes']);
}
} }
/** /**

View File

@ -26,7 +26,6 @@ use OCA\TwoFactorBackupCodes\Activity\GenericFilter;
use OCP\IL10N; use OCP\IL10N;
use OCP\IURLGenerator; use OCP\IURLGenerator;
use Test\TestCase; use Test\TestCase;
use function returnValue;
class GenericFilterTest extends TestCase { class GenericFilterTest extends TestCase {
@ -46,7 +45,7 @@ class GenericFilterTest extends TestCase {
} }
public function testAllowedApps() { public function testAllowedApps() {
$this->assertEquals(0, $this->filter->allowedApps()); $this->assertEquals([], $this->filter->allowedApps());
} }
public function testFilterTypes() { public function testFilterTypes() {

View File

@ -27,6 +27,7 @@ use OCA\TwoFactorBackupCodes\Db\BackupCodeMapper;
use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage; use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage;
use OCP\Activity\IEvent; use OCP\Activity\IEvent;
use OCP\Activity\IManager; use OCP\Activity\IManager;
use OCP\ILogger;
use OCP\IUser; use OCP\IUser;
use OCP\Security\IHasher; use OCP\Security\IHasher;
use OCP\Security\ISecureRandom; use OCP\Security\ISecureRandom;
@ -46,6 +47,9 @@ class BackupCodeStorageTest extends TestCase {
/** @var IManager|\PHPUnit_Framework_MockObject_MockObject */ /** @var IManager|\PHPUnit_Framework_MockObject_MockObject */
private $activityManager; private $activityManager;
/** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */
private $logger;
/** @var BackupCodeStorage */ /** @var BackupCodeStorage */
private $storage; private $storage;
@ -58,7 +62,9 @@ class BackupCodeStorageTest extends TestCase {
$this->random = $this->getMockBuilder(ISecureRandom::class)->getMock(); $this->random = $this->getMockBuilder(ISecureRandom::class)->getMock();
$this->hasher = $this->getMockBuilder(IHasher::class)->getMock(); $this->hasher = $this->getMockBuilder(IHasher::class)->getMock();
$this->activityManager = $this->createMock(IManager::class); $this->activityManager = $this->createMock(IManager::class);
$this->storage = new BackupCodeStorage($this->mapper, $this->random, $this->hasher, $this->activityManager); $this->logger = $this->createMock(ILogger::class);
$this->storage = new BackupCodeStorage($this->mapper, $this->random, $this->hasher, $this->activityManager, $this->logger);
} }
public function testCreateCodes() { public function testCreateCodes() {

View File

@ -31,6 +31,7 @@ use OCP\Activity\IManager;
use OCP\AppFramework\QueryException; use OCP\AppFramework\QueryException;
use OCP\Authentication\TwoFactorAuth\IProvider; use OCP\Authentication\TwoFactorAuth\IProvider;
use OCP\IConfig; use OCP\IConfig;
use OCP\ILogger;
use OCP\ISession; use OCP\ISession;
use OCP\IUser; use OCP\IUser;
@ -53,16 +54,23 @@ class Manager {
/** @var IManager */ /** @var IManager */
private $activityManager; private $activityManager;
/** @var ILogger */
private $logger;
/** /**
* @param AppManager $appManager * @param AppManager $appManager
* @param ISession $session * @param ISession $session
* @param IConfig $config * @param IConfig $config
* @param IManager $activityManager
* @param ILogger $logger
*/ */
public function __construct(AppManager $appManager, ISession $session, IConfig $config, IManager $activityManager) { public function __construct(AppManager $appManager, ISession $session, IConfig $config, IManager $activityManager,
ILogger $logger) {
$this->appManager = $appManager; $this->appManager = $appManager;
$this->session = $session; $this->session = $session;
$this->config = $config; $this->config = $config;
$this->activityManager = $activityManager; $this->activityManager = $activityManager;
$this->logger = $logger;
} }
/** /**
@ -211,11 +219,16 @@ class Manager {
private function publishEvent(IUser $user, $event, array $params) { private function publishEvent(IUser $user, $event, array $params) {
$activity = $this->activityManager->generateEvent(); $activity = $this->activityManager->generateEvent();
$activity->setApp('twofactor_generic') $activity->setApp('twofactor_generic')
->setType('twofactor_generic') ->setType('twofactor')
->setAuthor($user->getUID()) ->setAuthor($user->getUID())
->setAffectedUser($user->getUID()); ->setAffectedUser($user->getUID())
$activity->setSubject($event, $params); ->setSubject($event, $params);
$this->activityManager->publish($activity); try {
$this->activityManager->publish($activity);
} catch (Exception $e) {
$this->logger->warning('could not publish backup code creation activity', ['app' => 'twofactor_backupcodes']);
$this->logger->logException($e, ['app' => 'twofactor_backupcodes']);
}
} }
/** /**

View File

@ -312,7 +312,7 @@ class Server extends ServerContainer implements IServerContainer {
}); });
$this->registerService(\OC\Authentication\TwoFactorAuth\Manager::class, function (Server $c) { $this->registerService(\OC\Authentication\TwoFactorAuth\Manager::class, function (Server $c) {
return new \OC\Authentication\TwoFactorAuth\Manager($c->getAppManager(), $c->getSession(), $c->getConfig(), $c->getActivityManager()); return new \OC\Authentication\TwoFactorAuth\Manager($c->getAppManager(), $c->getSession(), $c->getConfig(), $c->getActivityManager(), $c->getLogger());
}); });
$this->registerService('NavigationManager', function ($c) { $this->registerService('NavigationManager', function ($c) {