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