Skip to content

Commit 220e28a

Browse files
committed
test: add tests/php/Unit/Service/Policy/Provider/ExpirationRules/ExpirationRulesPolicyTest.php
Signed-off-by: Vitor Mattos <[email protected]>
1 parent 5ae8360 commit 220e28a

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
/**
5+
* SPDX-FileCopyrightText: 2026 LibreCode coop and contributors
6+
* SPDX-License-Identifier: AGPL-3.0-or-later
7+
*/
8+
9+
namespace OCA\Libresign\Tests\Unit\Service\Policy\Provider\ExpirationRules;
10+
11+
use OCA\Libresign\Service\Policy\Provider\ExpirationRules\ExpirationRulesPolicy;
12+
use PHPUnit\Framework\TestCase;
13+
14+
final class ExpirationRulesPolicyTest extends TestCase {
15+
public function testProviderExposesAllExpirationKeys(): void {
16+
$provider = new ExpirationRulesPolicy();
17+
$this->assertSame([
18+
ExpirationRulesPolicy::KEY_MAXIMUM_VALIDITY,
19+
ExpirationRulesPolicy::KEY_RENEWAL_INTERVAL,
20+
ExpirationRulesPolicy::KEY_EXPIRY_IN_DAYS,
21+
], $provider->keys());
22+
}
23+
24+
public function testNormalizesMaximumValidityToNonNegativeInteger(): void {
25+
$provider = new ExpirationRulesPolicy();
26+
$definition = $provider->get(ExpirationRulesPolicy::KEY_MAXIMUM_VALIDITY);
27+
28+
$this->assertSame(600, $definition->normalizeValue('600'));
29+
$this->assertSame(0, $definition->normalizeValue(-10));
30+
}
31+
32+
public function testNormalizesRenewalIntervalToNonNegativeInteger(): void {
33+
$provider = new ExpirationRulesPolicy();
34+
$definition = $provider->get(ExpirationRulesPolicy::KEY_RENEWAL_INTERVAL);
35+
36+
$this->assertSame(1200, $definition->normalizeValue(1200));
37+
$this->assertSame(0, $definition->normalizeValue('-5'));
38+
}
39+
40+
public function testNormalizesExpiryInDaysToPositiveInteger(): void {
41+
$provider = new ExpirationRulesPolicy();
42+
$definition = $provider->get(ExpirationRulesPolicy::KEY_EXPIRY_IN_DAYS);
43+
44+
$this->assertSame(90, $definition->normalizeValue('90'));
45+
$this->assertSame(ExpirationRulesPolicy::DEFAULT_EXPIRY_IN_DAYS, $definition->normalizeValue(0));
46+
}
47+
}

0 commit comments

Comments
 (0)