0
0
mirror of https://github.com/nextcloud/server.git synced 2024-12-29 00:18:42 +00:00
nextcloud_server/tests/lib/Session/CryptoSessionDataTest.php
Christoph Wurst 2b38d6ae7e
fix(session): Log when session_* calls are slow
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-08-07 09:02:10 +02:00

42 lines
1.0 KiB
PHP

<?php
/**
* SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-only
*/
namespace Test\Session;
use OC\Session\CryptoSessionData;
use OCP\Security\ICrypto;
class CryptoSessionDataTest extends Session {
/** @var \PHPUnit\Framework\MockObject\MockObject|\OCP\Security\ICrypto */
protected $crypto;
/** @var \OCP\ISession */
protected $wrappedSession;
protected function setUp(): void {
parent::setUp();
$this->wrappedSession = new \OC\Session\Memory();
$this->crypto = $this->createMock(ICrypto::class);
$this->crypto->expects($this->any())
->method('encrypt')
->willReturnCallback(function ($input) {
return '#' . $input . '#';
});
$this->crypto->expects($this->any())
->method('decrypt')
->willReturnCallback(function ($input) {
if ($input === '') {
return '';
}
return substr($input, 1, -1);
});
$this->instance = new CryptoSessionData($this->wrappedSession, $this->crypto, 'PASS');
}
}