2014-04-23 06:50:24 -04:00
|
|
|
<?php
|
2025-06-30 09:04:05 -04:00
|
|
|
|
2014-04-23 06:50:24 -04:00
|
|
|
/**
|
2024-05-10 09:09:14 -04:00
|
|
|
* SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
|
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
2020-04-08 16:24:54 -04:00
|
|
|
*/
|
2014-04-23 06:50:24 -04:00
|
|
|
|
2016-05-19 03:15:10 -04:00
|
|
|
namespace Test\Share;
|
|
|
|
|
|
2025-06-12 12:31:58 -04:00
|
|
|
use OC\Share\Helper;
|
|
|
|
|
|
2025-10-20 19:52:40 -04:00
|
|
|
#[\PHPUnit\Framework\Attributes\Group('DB')]
|
2016-05-20 09:38:20 -04:00
|
|
|
class HelperTest extends \Test\TestCase {
|
2025-05-13 04:10:13 -04:00
|
|
|
public static function expireDateProvider(): array {
|
2020-03-26 04:30:18 -04:00
|
|
|
return [
|
2014-04-23 06:50:24 -04:00
|
|
|
// no default expire date, we take the users expire date
|
2020-03-26 04:30:18 -04:00
|
|
|
[['defaultExpireDateSet' => false], 2000000000, 2000010000, 2000010000],
|
2014-04-23 06:50:24 -04:00
|
|
|
// no default expire date and no user defined expire date, return false
|
2020-03-26 04:30:18 -04:00
|
|
|
[['defaultExpireDateSet' => false], 2000000000, null, false],
|
2014-11-21 07:31:56 -05:00
|
|
|
// unenforced expire data and no user defined expire date, return false (because the default is not enforced)
|
2020-03-26 04:30:18 -04:00
|
|
|
[['defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => false], 2000000000, null, false],
|
2014-04-23 06:50:24 -04:00
|
|
|
// enforced expire date and no user defined expire date, take default expire date
|
2020-03-26 04:30:18 -04:00
|
|
|
[['defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => true], 2000000000, null, 2000086400],
|
2014-04-23 06:50:24 -04:00
|
|
|
// unenforced expire date and user defined date > default expire date, take users expire date
|
2020-03-26 04:30:18 -04:00
|
|
|
[['defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => false], 2000000000, 2000100000, 2000100000],
|
2014-04-23 06:50:24 -04:00
|
|
|
// unenforced expire date and user expire date < default expire date, take users expire date
|
2020-03-26 04:30:18 -04:00
|
|
|
[['defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => false], 2000000000, 2000010000, 2000010000],
|
2014-04-23 06:50:24 -04:00
|
|
|
// enforced expire date and user expire date < default expire date, take users expire date
|
2020-03-26 04:30:18 -04:00
|
|
|
[['defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => true], 2000000000, 2000010000, 2000010000],
|
2014-04-23 06:50:24 -04:00
|
|
|
// enforced expire date and users expire date > default expire date, take default expire date
|
2020-03-26 04:30:18 -04:00
|
|
|
[['defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => true], 2000000000, 2000100000, 2000086400],
|
|
|
|
|
];
|
2014-04-23 06:50:24 -04:00
|
|
|
}
|
|
|
|
|
|
2025-06-30 10:56:59 -04:00
|
|
|
#[\PHPUnit\Framework\Attributes\DataProvider('expireDateProvider')]
|
2024-09-15 16:32:31 -04:00
|
|
|
public function testCalculateExpireDate($defaultExpireSettings, $creationTime, $userExpireDate, $expected): void {
|
2025-06-12 12:31:58 -04:00
|
|
|
$result = Helper::calculateExpireDate($defaultExpireSettings, $creationTime, $userExpireDate);
|
2014-04-23 06:50:24 -04:00
|
|
|
$this->assertSame($expected, $result);
|
|
|
|
|
}
|
2015-02-02 13:54:56 -05:00
|
|
|
|
2015-12-09 06:00:00 -05:00
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @param string $server1
|
|
|
|
|
* @param string $server2
|
|
|
|
|
* @param bool $expected
|
|
|
|
|
*/
|
2025-06-30 10:56:59 -04:00
|
|
|
#[\PHPUnit\Framework\Attributes\DataProvider('dataTestCompareServerAddresses')]
|
2024-09-15 16:32:31 -04:00
|
|
|
public function testIsSameUserOnSameServer($user1, $server1, $user2, $server2, $expected): void {
|
2015-12-09 06:00:00 -05:00
|
|
|
$this->assertSame($expected,
|
2025-06-12 12:31:58 -04:00
|
|
|
Helper::isSameUserOnSameServer($user1, $server1, $user2, $server2)
|
2015-12-09 06:00:00 -05:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-13 04:10:13 -04:00
|
|
|
public static function dataTestCompareServerAddresses(): array {
|
2015-12-09 06:00:00 -05:00
|
|
|
return [
|
|
|
|
|
['user1', 'http://server1', 'user1', 'http://server1', true],
|
|
|
|
|
['user1', 'https://server1', 'user1', 'http://server1', true],
|
|
|
|
|
['user1', 'http://serVer1', 'user1', 'http://server1', true],
|
|
|
|
|
['user1', 'http://server1/', 'user1', 'http://server1', true],
|
|
|
|
|
['user1', 'server1', 'user1', 'http://server1', true],
|
|
|
|
|
['user1', 'http://server1', 'user1', 'http://server2', false],
|
|
|
|
|
['user1', 'https://server1', 'user1', 'http://server2', false],
|
|
|
|
|
['user1', 'http://serVer1', 'user1', 'http://serer2', false],
|
|
|
|
|
['user1', 'http://server1/', 'user1', 'http://server2', false],
|
|
|
|
|
['user1', 'server1', 'user1', 'http://server2', false],
|
|
|
|
|
['user1', 'http://server1', 'user2', 'http://server1', false],
|
|
|
|
|
['user1', 'https://server1', 'user2', 'http://server1', false],
|
|
|
|
|
['user1', 'http://serVer1', 'user2', 'http://server1', false],
|
|
|
|
|
['user1', 'http://server1/', 'user2', 'http://server1', false],
|
|
|
|
|
['user1', 'server1', 'user2', 'http://server1', false],
|
|
|
|
|
];
|
|
|
|
|
}
|
2014-04-23 06:50:24 -04:00
|
|
|
}
|