test(admin_audit): add test for user management listener
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>pull/47414/head
parent
bec14dc4a5
commit
5cf67c280f
@ -0,0 +1,92 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
/**
|
||||||
|
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
*/
|
||||||
|
namespace OCA\AdminAudit\Tests\Actions;
|
||||||
|
|
||||||
|
use OCA\AdminAudit\IAuditLogger;
|
||||||
|
use OCA\AdminAudit\Listener\UserManagementEventListener;
|
||||||
|
use OCP\IUser;
|
||||||
|
use OCP\User\Events\UserChangedEvent;
|
||||||
|
use PHPUnit\Framework\MockObject\MockObject;
|
||||||
|
use Test\TestCase;
|
||||||
|
|
||||||
|
class UserManagementEventListenerTest extends TestCase {
|
||||||
|
private IAuditLogger&MockObject $logger;
|
||||||
|
|
||||||
|
private UserManagementEventListener $listener;
|
||||||
|
|
||||||
|
private MockObject&IUser $user;
|
||||||
|
|
||||||
|
protected function setUp(): void {
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
$this->logger = $this->createMock(IAuditLogger::class);
|
||||||
|
$this->listener = new UserManagementEventListener($this->logger);
|
||||||
|
|
||||||
|
$this->user = $this->createMock(IUser::class);
|
||||||
|
$this->user->method('getUID')->willReturn('alice');
|
||||||
|
$this->user->method('getDisplayName')->willReturn('Alice');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testSkipUnsupported(): void {
|
||||||
|
$this->logger->expects($this->never())
|
||||||
|
->method('info');
|
||||||
|
|
||||||
|
$event = new UserChangedEvent(
|
||||||
|
$this->user,
|
||||||
|
'unsupported',
|
||||||
|
'value',
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->listener->handle($event);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUserEnabled(): void {
|
||||||
|
$this->logger->expects($this->once())
|
||||||
|
->method('info')
|
||||||
|
->with('User enabled: "alice"', ['app' => 'admin_audit']);
|
||||||
|
|
||||||
|
$event = new UserChangedEvent(
|
||||||
|
$this->user,
|
||||||
|
'enabled',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->listener->handle($event);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUserDisabled(): void {
|
||||||
|
$this->logger->expects($this->once())
|
||||||
|
->method('info')
|
||||||
|
->with('User disabled: "alice"', ['app' => 'admin_audit']);
|
||||||
|
|
||||||
|
$event = new UserChangedEvent(
|
||||||
|
$this->user,
|
||||||
|
'enabled',
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->listener->handle($event);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testEmailChanged(): void {
|
||||||
|
$this->logger->expects($this->once())
|
||||||
|
->method('info')
|
||||||
|
->with('Email address changed for user alice', ['app' => 'admin_audit']);
|
||||||
|
|
||||||
|
$event = new UserChangedEvent(
|
||||||
|
$this->user,
|
||||||
|
'eMailAddress',
|
||||||
|
'alice@alice.com',
|
||||||
|
'',
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->listener->handle($event);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue